Force feedback method for a robotic arm and computing device

CN123000764APending Publication Date: 2026-10-30XFUSION DIGITAL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610994547.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-03
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

这种力觉缺失使得操作者无法感知从臂与外界的接触情况,也难以精确控制末端执行器的施力大小,在精密装配或狭小空间作业时容易引发碰撞事故或导致任务失败

Benefits of technology

[0035]可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123000764A_ABST
    Figure CN123000764A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a force feedback method of a mechanical arm and a computing device. The force feedback method comprises: obtaining a force feedback parameter detected by a detection component, a current pose state of the arm and a calibration parameter; determining an interaction force and an interaction torque between an end tool and an environment based on the force feedback parameter, the current pose state and the calibration parameter; determining a target output torque of the main arm based on an input signal of the main arm, the interaction force and the interaction torque according to a main arm dynamics model of the main arm; the target output torque is used to control the main arm to output a force feedback corresponding to the force feedback parameter; and the main arm is controlled according to the target output torque to work to perform force feedback through the main arm. The force feedback parameter of the end tool is directly measured by the detection component and the interaction force is calculated, and force feedback mapping can be realized through a single-side dynamics model of the main arm, without the need to construct a dynamics model of the slave arm, so that the system modeling and force feedback complexity can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of remote-controlled robotic arms, specifically to a force feedback method and computing device for a robotic arm. Background Technology

[0002] In the secondary development of embodied intelligence, a large amount of real-machine data needs to be collected to train the embodied model. Data collection is often achieved through master-slave teleoperation. Traditional teleoperation systems mostly only convert the displacement or joint angle of the master arm into motion commands for the slave arm proportionally, and do not have the ability to transmit the force generated by the interaction between the slave arm end effector and the environment back to the operator. This lack of force perception makes it impossible for the operator to perceive the contact between the slave arm and the outside world, and it is also difficult to accurately control the force applied by the end effector. This can easily lead to collision accidents or mission failures during precision assembly or operation in confined spaces.

[0003] Regarding the force feedback problem, one type of solution is based on isomorphic mapping, requiring the master arm and slave arm joint configurations to be completely identical. This is only applicable to robotic arms of the same brand and configuration, and cannot be adapted to heterogeneous systems. Furthermore, the mapping parameters need to be recalibrated after the end effector is replaced. Another type of solution is based on the dual conversion of joint torque and end effector force. This requires building a complete dynamic model for both the master arm and slave arm separately, resulting in a large modeling workload, complex parameter calibration, and difficulty in guaranteeing real-time performance. When the end effector tooling is replaced, causing changes in the slave arm's inertia and center of gravity, the slave arm's dynamic model also needs to be rebuilt.

[0004] In summary, the relevant technologies are either limited by the requirement of isomorphism between the master and slave robotic arms, or require the construction of complete dynamic and kinematic models of the master and slave arms, which involves a complex construction process. Furthermore, the model needs to be rebuilt after the end effector is replaced, making the process of replacing the end effector complicated. Summary of the Invention

[0005] This application provides a force feedback method and computing device for a robotic arm, which can reduce the complexity of the force feedback process, improve the real-time performance of teleoperation force feedback, and reduce the difficulty of modeling and adapting to different scenarios of master-slave arm configurations.

[0006] To achieve the above objectives, this application adopts the following technical solution: Firstly, a force feedback method for a robotic arm is provided, applied to a control device for controlling the robotic arm. The robotic arm includes a main arm, a slave arm, and an end effector. The slave arm is communicatively connected to the main arm, and its working end is connected to the end effector. The end effector is used to interact with the environment or a target object. The slave arm is equipped with a detection component configured to detect force feedback parameters fed back to the end effector from the environment. The force feedback method includes: acquiring the force feedback parameters detected by the detection component, the current pose state of the slave arm, and calibration parameters; determining the interaction force and interaction torque between the end effector and the environment based on the force feedback parameters, the current pose state, and the calibration parameters; determining the target output torque of the main arm based on the main arm's main arm dynamics model, the input signal of the main arm, the interaction force, and the interaction torque; using the target output torque to control the main arm to output force feedback corresponding to the force feedback parameters; and controlling the main arm to work according to the target output torque to provide force feedback through the main arm.

[0007] Based on this scheme, force feedback parameters are detected by a detection component, and then corrected to obtain the actual interaction force and torque between the end effector and the environment. The target output torque of the end effector is then determined based on the main arm's dynamic model, the main arm's input signals, and the interaction force and torque, allowing the operator to perceive the contact between the end effector and the environment through the main arm. This eliminates the need to construct a dynamic model for the slave arm. With the main arm's structure remaining largely unchanged, replacing the end effector of the slave arm does not require rebuilding its dynamic model, reducing dependence on slave arm dynamic modeling and computational complexity, thus improving the real-time performance of teleoperation force feedback. Furthermore, this scheme does not restrict the configuration of the master and slave manipulators, supporting both homogeneous and heterogeneous manipulators, improving the flexibility and adaptability of the application structure. In addition, the detection component directly measures the end effector force instead of inferring it from joint torque, avoiding the impact of joint transmission chain errors such as gear friction and motor current estimation noise on the accuracy of force sensing.

[0008] In one possible implementation, the force feedback parameters include the original force component and the original torque component, and the calibration parameters include the zero-point force component and the zero-point torque component of the detection component. Based on the force feedback parameters, the current pose state, and the calibration parameters, the interaction force and interaction torque between the end effector and the environment are determined, including: calculating the gravity component and gravity torque component of the end effector in the current pose state according to the current pose state of the slave arm and the calibration parameters; subtracting the zero-point force component and gravity component from the calibration parameters from the original force component in the force feedback parameters to obtain the interaction force; and subtracting the zero-point torque component and gravity torque component from the original torque component in the force feedback parameters to obtain the interaction torque.

[0009] Based on this scheme, the influence of the zero bias of the detection component and the self-weight of the tooling are sequentially eliminated from the original force or torque. The resulting interactive force and interactive torque reflect the actual force exerted by the environment on the tooling. The entire process does not rely on the arm dynamics model, resulting in low computational overhead and good real-time performance. Furthermore, the interactive force is directly obtained from the original output of the detection component after compensation, rather than being derived from the joint torque, fundamentally eliminating the influence of transmission chain errors such as gear friction and motor current estimation noise on the accuracy of force sensing.

[0010] In one possible implementation, the method further includes calibrating the robotic arm when the end effector mounted on the working end of the arm is changed.

[0011] Based on this solution, when changing the end effector, only recalibration is required, without rebuilding the dynamic model of the slave arm, thus reducing the time required for changing the end effector.

[0012] In one possible implementation, when the end-effector mounted on the working end of the slave arm is replaced, the method further includes: in response to the completion of the end-effector replacement, controlling the slave arm to move to at least three sets of linearly independent postures, acquiring the detection data output by the detection component under each linearly independent posture, and the posture matrix of the working end of the slave arm; wherein the detection data is used to characterize the mechanical load of the end-effector acting on the detection component under the corresponding linearly independent posture; and determining calibration parameters based on the detection data and posture matrix under each linearly independent posture; wherein the calibration parameters include the zero-point force component and zero-point torque component of the detection component, the mass of the end-effector, and the centroid of the end-effector.

[0013] Based on this solution, after the end effector is replaced, the slave arm can move in several different postures, and the data from the detection components can be collected and solved to obtain new calibration parameters. There is no need to rebuild any dynamic model or adjust the control algorithm parameters, which realizes the plug-and-play functionality of the end effector. The same system can be compatible with multiple end effectors, improving the flexibility and operational adaptability of the robotic arm.

[0014] In one possible implementation, the main arm includes multiple joints and multiple links, with the links connecting the joints. Based on the main arm's dynamics model and its input signals, interaction forces, and interaction torques, the target output torque of the main arm is determined, including: calculating a pose tracking torque based on the main arm's input signals and the dynamics model; the pose tracking torque is used to enable the main arm to track the target pose motion; calculating a gravity compensation torque based on the main arm's current joint angles and link parameters and the dynamics model; the gravity compensation torque is used to counteract the interference of the main arm's own gravity on the force feedback; calculating a force feedback mapping torque based on the main arm's dynamics model and its interaction forces and torques; the force feedback mapping torque is used to feed back environmental forces to the main arm; and algebraically superimposing the pose tracking torque, gravity compensation torque, and force feedback mapping torque to obtain the target output torque of each joint of the main arm.

[0015] Based on this scheme, the total output torque of the main arm is decomposed into three independently calculated components: pose tracking torque, gravity compensation torque, and force feedback mapping torque. These three components are used to respond to the operator's motion intention, counteract the main arm's own weight, and transmit environmental forces from the arm end, respectively. Each component can be designed and debugged independently, resulting in a clear architecture that is easy to implement in engineering.

[0016] In one possible implementation, the pose tracking torque is calculated based on the input signal of the main arm and the main arm dynamics model. This includes: determining the target pose of the end effector of the main arm based on the input signal of the main arm; calculating the pose error and velocity error between the current pose and the target pose of the end effector; and calculating the pose tracking torque based on the main arm dynamics model, the pose error, and the velocity error.

[0017] Based on this scheme, the pose tracking torque is used to respond to the operator's motion input to the main arm, enabling the end effector of the main arm to track the target pose, thereby ensuring the consistency between the operator's input action and the main arm's feedback action.

[0018] In one possible implementation, the main boom includes multiple links. The parameters of the links include the link mass of each link and the position of the center of mass of the main boom. Based on the main boom dynamics model and the current joint angle and link parameters of the main boom, the gravity compensation torque is calculated. This includes: determining the gravity load of each link and mapping it to the joint space based on the current joint angle, the mass, center of mass position and gravitational acceleration of the main boom, combined with the main boom dynamics model, to obtain the gravity compensation torque.

[0019] Based on this scheme, the gravity compensation torque is used to counteract the influence of the main boom's own weight on the operator's force perception, so that the force fed back to the operator mainly reflects the interaction between the end effector and the environment.

[0020] In one possible implementation, based on the main arm dynamics model and the interaction forces and torques, the force feedback mapping torque is calculated, including: mapping the interaction forces and torques to the main arm joint space through the transpose of the Jacobian matrix in the main arm dynamics model to obtain the force feedback mapping torque; the force feedback mapping torque is used to feed back the environmental forces to the main arm.

[0021] Based on this scheme, the force feedback mapping torque is used to map the interaction force and interaction torque between the end effector and the environment to the main arm joint space, enabling the operator to sense the environmental forces acting from the end of the arm through the main arm.

[0022] In one possible implementation, in response to an input signal from the input end of the main arm, a first initial pose of the end effector of the main arm, a second initial pose of the working end of the slave arm, and a first movement amount of the end effector of the main arm are acquired; the input end of the main arm is the part where the operator applies motion input; the first movement amount is the offset of the end effector of the main arm relative to the first initial pose when the main arm responds to the input signal from the input end; based on the kinematic model of the main arm, and based on the first initial pose, the second initial pose, and the first movement amount, the target pose of the working end of the slave arm is determined; the target pose is solved by inverse kinematics based on the kinematic model of the slave arm to determine the target joint position parameters of the slave arm; the slave arm is controlled to work according to the target joint position parameters, and the slave arm work is used to enable the end effector to interact with the environment so that the detection component can detect force feedback parameters.

[0023] Based on this scheme, the offset of the end effector of the main arm is transformed into the base coordinate system of the slave arm and then superimposed on the initial pose of the slave arm. The entire pose mapping is completed in Cartesian space. The operator can intuitively control the movement of the working end of the slave arm through the main arm without manually planning the trajectory of the slave arm. After the working end of the slave arm drives the end effector to interact with the environment, the detection component can detect the force feedback parameters, thus providing a basis for the force feedback of the main arm.

[0024] In one possible implementation, the force feedback method for the robotic arm further includes: acquiring the current joint position and current joint velocity of the slave arm; calculating and determining the condition number of the slave arm Jacobian matrix based on the current joint position and a pre-built slave arm kinematic model; if the condition number is greater than a condition number threshold, applying a velocity correction component along the condition number gradient direction based on the current joint velocity to obtain the target joint velocity; the condition number gradient direction is the direction in which the rate of change of the condition number with the joint angle is greatest, starting from the current joint position of the slave arm; and controlling the slave arm to move according to the target joint velocity to avoid singular configurations.

[0025] Based on this solution, by monitoring the condition number of the Jacobian matrix of the slave arm in real time, the joint velocity is actively corrected when the condition number exceeds the safety threshold, enabling the slave arm to autonomously avoid singular configurations without operator intervention, thereby improving the system's motion safety and continuous operation capability.

[0026] In one possible implementation, based on the current joint position and in conjunction with a pre-built follower kinematic model, the condition number for determining the follower Jacobian matrix is ​​calculated, including: calculating and determining the current pose of the follower based on the current joint position and in conjunction with the follower kinematic model; calculating and determining the corresponding follower Jacobian matrix based on the current pose of the follower; performing singular value decomposition on the Jacobian matrix to obtain the maximum singular value and the minimum singular value; and calculating the ratio between the maximum singular value and the minimum singular value to obtain the condition number.

[0027] Based on this scheme, the condition number is obtained by calculating the Jacobian matrix from the arm's positive kinematics, obtaining singular values ​​through singular value decomposition, and calculating the ratio. This condition number can continuously and quantitatively reflect the degree to which the arm approaches the singular configuration, providing a basis for determining whether to trigger avoidance. The speed correction is calculated based on the condition number gradient and the avoidance singularity gain coefficient and superimposed on the current joint speed, so that the correction magnitude adaptively matches the degree of condition number exceeding the limit, achieving smooth and continuous autonomous avoidance.

[0028] In one possible implementation, when the condition number is greater than a condition number threshold, a velocity correction component is applied along the condition number gradient direction to obtain the target joint velocity. This includes: when the condition number is greater than a condition number threshold, calculating the condition number gradient direction based on the condition number; calculating the velocity correction component based on the condition number gradient direction and a preset adjustment coefficient; and correcting the current joint velocity using the velocity correction component to obtain the target joint velocity.

[0029] Based on this scheme, the speed correction component is calculated based on the gradient direction of the condition number and the preset adjustment coefficient, and then superimposed on the current joint speed to obtain the target joint speed. This allows the correction magnitude to adaptively match the degree of condition number exceeding the limit—the correction amount increases accordingly when the condition number is too high and automatically decreases when it approaches the singular limit, achieving smooth and continuous autonomous avoidance without operator intervention.

[0030] In a second aspect, a force feedback system for a robotic arm is provided, comprising: a robotic arm and a control device; the robotic arm includes a master arm, a slave arm, and an end effector, the slave arm being communicatively connected to the master arm, the working end of the slave arm being connected to the end effector, the end effector being used to interact with the environment, the slave arm being provided with a detection component, the detection component being configured to detect force feedback parameters fed back to the end effector from the environment; the master arm, the slave arm, and the detection component are all communicatively connected to the control device, the control device being used to execute the force feedback method of the robotic arm as described in any one of the first aspects.

[0031] Thirdly, a force feedback device for a robotic arm is provided. This device includes modules for performing the methods described in the first aspect or any possible implementation thereof.

[0032] Fourthly, a computing device is provided. The computing device includes a memory and a processor, the memory and the processor being coupled. The memory stores computer program code, which includes computer instructions. When the processor executes the computer instructions, it causes the computing device to perform the force feedback method of the robotic arm described in the first aspect or any possible implementation of the first aspect.

[0033] Fifthly, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program that, when executed by a processor, implements the force feedback method for a robotic arm as described in the first aspect or any possible implementation thereof.

[0034] Sixthly, a computer program product is provided. This computer program product includes computer instructions that, when executed by a processor, implement the force feedback method of the robotic arm described in the first aspect or any possible implementation of the first aspect.

[0035] It is understood that the beneficial effects of the second to sixth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description

[0036] To more clearly illustrate the technical solution of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0037] Figure 1 This is a schematic diagram of the architecture of a force feedback system for a robotic arm provided in an embodiment of this application; Figure 2 This is a schematic flowchart of a force feedback method for a robotic arm provided in an embodiment of this application; Figure 3 This is another schematic flowchart of a force feedback method for a robotic arm provided in an embodiment of this application; Figure 4 This is a flowchart illustrating the arm pose control steps in a force feedback method provided in an embodiment of this application. Figure 5 This is a flowchart illustrating the steps of determining the interaction force and interaction torque between the end effector and the environment in a force feedback method provided in an embodiment of this application. Figure 6 This is a flowchart illustrating the tooling replacement and calibration steps in a force feedback method provided in an embodiment of this application; Figure 7 This is a flowchart illustrating the step of determining the target output torque of the main boom in a force feedback method provided in an embodiment of this application; Figure 8 This is a flowchart illustrating the steps for avoiding singular configurations of an arm in a force feedback method provided in an embodiment of this application. Figure 9 This is a schematic diagram of a force feedback device for a robotic arm provided in an embodiment of this application; Figure 10 This is a schematic diagram of another force feedback device for a robotic arm provided in an embodiment of this application; Figure 11 This is a schematic diagram of another force feedback device for a robotic arm provided in an embodiment of this application; Figure 12 This is a schematic diagram of another force feedback device for a robotic arm provided in an embodiment of this application; Figure 13 This is a schematic diagram of a computing device provided in an embodiment of this application. Detailed Implementation

[0038] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. Other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are all within the protection scope of this application.

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

[0040] Furthermore, in this application, directional terms such as "upper," "lower," "inner," and "outer" are defined relative to the indicated placement of the components in the accompanying drawings. It should be understood that these directional terms are relative concepts, used for relative description and clarification, and can change accordingly depending on the placement of the components in the accompanying drawings.

[0041] Figure 1 This is a schematic diagram of the architecture of a force feedback system for a robotic arm provided in an embodiment of this application.

[0042] This application provides a force feedback system 1 for a robotic arm. (Refer to...) Figure 1 As shown, the force feedback system 1 of the robotic arm includes the robotic arm 2 and the control device 900.

[0043] The robotic arm 2 includes a main arm 21, a slave arm 22, and an end effector 23. The slave arm 22 is communicatively connected to the main arm 21, and its working end is connected to the end effector 23. The slave arm 22 is equipped with a detection component 3, which is configured to detect force feedback parameters from the environment to the end effector 23.

[0044] In some implementations, the end effector 23 can be understood as an actuator located at the working end of the follower arm, used for direct or indirect interaction with the work object or working environment. The end effector 23 may include grippers, suction tools, grinding tools, assembly tools, insertion tools, detection probes, etc. The end effector 23 can be detachably installed at the working end of the follower arm via a connection structure such as a flange, or it can be integrated with the working end of the follower arm. This application does not limit the specific structure of the end effector, as long as it can move with the follower arm and generate force-related data detectable by the detection components during operation.

[0045] The environment includes, but is not limited to, target objects or non-target objects. For example, in a work scenario where items are picked up, the target object can include the item to be picked up, while the non-target object can include the container holding the target item.

[0046] In some implementations, the detection assembly 3 is installed between the flange at the working end of the arm 22 and the end tooling 23.

[0047] In some implementations, the main arm 21, the slave arm 22, and the detection component 3 are all communicatively connected to the control device 900, which is used to execute the force feedback method of the robotic arm.

[0048] The control device 900 can be an industrial computer, an embedded controller, an edge computing device, a cloud computing device, or a distributed control system composed of multiple control units.

[0049] The control device 900 is communicatively connected to the main arm 21, the slave arm 22 and the detection component 3, respectively, to receive the input signal of the main arm 21, the status information of the slave arm 22 and the force feedback parameters detected by the detection component 3, and to send control commands to the main arm 21 and the slave arm 22.

[0050] The control device 900 can be connected via wired communication methods such as EtherCAT and Ethernet, or via wireless communication.

[0051] The detection component 3 can be located between the working end of the arm 22 and the end tooling 23, or it can be integrated into the end tooling 23.

[0052] In some implementations, both the master arm and the slave arm can include multiple joints and multiple links, and encoders or other position detection units can be installed at the joints. The control device can obtain the current joint position through the joint encoder and calculate the current pose of the working end of the slave arm by combining it with the kinematic model.

[0053] The basic working process of the force feedback system 1 is as follows: The operator manipulates the main arm 21 to generate an input signal. The control device 900 receives the input signal and generates target joint position parameters for the slave arm 22 to drive the slave arm 22 to follow the movement of the main arm 21. When the end effector 23 connected to the slave arm 22 comes into contact with the environment, it generates force and torque (force feedback parameters), which are detected in real time by the detection component 3 and sent to the control device 900. Based on the force feedback parameters and the main arm dynamics model, the control device 900 calculates the target output torque of each joint of the main arm 21 and drives the main arm 21 to output force feedback to the operator. In this way, through the parallel operation of the posture closed loop and the force feedback closed loop, the operator can perceive the mechanical interaction state between the end effector 23 and the environment in real time while manipulating the slave arm 22 to perform remote work tasks.

[0054] In some application scenarios, the force feedback system provided in this application embodiment can be used in master-slave teleoperation scenarios. The operator inputs motion intentions through the master arm, and the slave arm drives the end effector to perform remote operations. The detection component detects the force feedback parameters between the end effector and the environment in real time. The control device converts the force feedback parameters into the target output torque of the master arm, allowing the operator to perceive contact force during remote operations. For example, this force feedback system can be used for scenarios such as grasping fragile objects, remote assembly of connectors, contact operations in confined environments, and data acquisition from embodied intelligent machines.

[0055] For example, when remotely grasping fragile objects, the contact force detected by the detection component is compensated and fed back to the main arm, allowing the operator to sense changes in the gripping force and thus reduce the risk of the object slipping or being damaged; when remotely assembling connectors, the operator can sense the insertion resistance through the main arm, making it easier to adjust the insertion direction and force; when working in confined environments, the operator can sense the collision resistance and correct the operation path in a timely manner.

[0056] The force feedback system of this application embodiment directly measures the force and torque on the end effector by a detection component, and generates the target output torque of the main arm through the main arm control model. This eliminates the need to rely on the slave arm dynamics model to achieve force feedback, reducing the complexity of force feedback modeling and improving the real-time performance of teleoperation force feedback. Furthermore, it reduces the difficulty of system remodeling and adaptation when the main and slave arm configurations differ or the end effector is replaced.

[0057] Figure 2 This is a flowchart illustrating a force feedback method for a robotic arm provided in an embodiment of this application.

[0058] and Figure 1 Corresponding to the force feedback system of the robotic arm shown, this application embodiment also provides a force feedback method for the robotic arm, wherein the execution subject of the method can be a control device. In some embodiments, refer to Figure 2 As shown, the force feedback method of the robotic arm may include the following steps S1 to S4.

[0059] S1, acquire the force feedback parameters detected by the detection component, the current pose state of the slave arm, and the calibration parameters.

[0060] In some implementations, force feedback parameters refer to force-related parameters of the interaction between the end effector and the environment, measured in real time by the detection component. For example, force feedback parameters include the original force component and the original torque component.

[0061] In some implementations, the original force components are detected by the detection component and are force measurement quantities used to characterize the force exerted on the end tooling along each coordinate axis in the coordinate system of the detection component. The original force components include... , , For example, when the detection component includes a six-dimensional force sensor, the original force components can be obtained from the six-dimensional force sensor; that is, the original force components can be the original force readings from the six-dimensional force sensor. This is the real-time raw force reading (in N) of the six-dimensional force sensor around the X-axis. This is the real-time raw force reading (in N) of the six-dimensional force sensor around the Y-axis. This is the real-time raw force reading (in N) of the six-dimensional force sensor around the Z-axis.

[0062] In some implementations, the original torque components are detected by the detection component and are used to characterize the torque measured by the end tooling rotating about each coordinate axis in the coordinate system of the detection component. The original torque components include... , , For example, when the detection component includes a six-dimensional torque sensor, the raw torque component can be obtained from the six-dimensional torque sensor; that is, the raw torque component can be the raw torque reading from the six-dimensional torque sensor. This is the real-time raw torque reading (in N·m) of the six-dimensional torque sensor around the X-axis. This is the real-time raw torque reading (in N·m) of the six-dimensional torque sensor around the Y-axis. This is the real-time raw torque reading (in N·m) of the six-dimensional torque sensor around the Z-axis.

[0063] In some implementations, the current pose state of the slave arm can be obtained by the control device through the encoders of each joint of the slave arm, and then calculated based on the kinematic model of the slave arm. The current pose state of the slave arm includes the current spatial position and spatial orientation of the working end of the slave arm. The spatial orientation is represented by a rotation matrix R (a 3×3 orthogonal matrix).

[0064] In some implementations, calibration parameters can be obtained through a pre-calibration process and pre-stored in the memory of the control device, including the zero-point component of the detection component and the mass and centroid position of the end tooling.

[0065] S2 determines the interaction force and interaction torque between the end effector of the arm and the environment based on force feedback parameters, current pose state, and calibration parameters.

[0066] In some implementations, the interaction force and torque between the end-effector and the environment refer to the actual contact force and torque between the end-effector and the environment. The interaction force and torque are obtained by removing interference terms such as the zero bias of the detection component, the weight of the end-effector, and the gravitational torque of the end-effector from the original output of the detection component.

[0067] In some implementations, interference caused by factors such as temperature drift and changes in the electromagnetic environment, which manifest as zero-point drift of the detection component, can also be compensated for through zero-point calibration or recalibration.

[0068] S3. Based on the main boom dynamics model, the target output torque of the main boom is determined according to the input signal, interaction force and interaction torque of the main boom.

[0069] In some implementations, the input signal of the main arm refers to the motion input signal applied by the operator to the input end of the main arm, which can cause the main arm to move. For example, the input signal of the main arm may include joint angle changes, joint angular velocities, changes in the pose of the main arm end effector, and the end effector velocity detected by the main arm joint encoder, or the force applied by the operator detected by a force / torque sensor located at the input end of the main arm. In some implementations, the main arm dynamics model can be constructed based on the main arm's DH parameters and inertial parameters.

[0070] In some implementations, the boom dynamics model can be pre-built or built when needed. It only needs to be built before using the boom dynamics model, and this application does not limit this.

[0071] S4 controls the main boom's operation according to the target output torque, so as to provide force feedback through the main boom.

[0072] In some implementations, the calculated target output torque can be sent to the drive motors of each joint of the main boom, so that the operator can sense the reaction force corresponding to the environmental force on the end effector when operating the main boom.

[0073] The force feedback method for the robotic arm provided in this application involves detecting force feedback parameters through a detection component, then correcting these parameters to obtain the actual interaction force and torque between the end effector and the environment. Based on the main arm's dynamic model, the main arm's input signal, and the interaction force and torque, the target output torque of the main arm is determined, allowing the operator to perceive the contact between the end effector and the environment through the main arm. This eliminates the need to construct a dynamic model for the slave arm. With the main arm's structure remaining essentially unchanged, replacing the end effector of the slave arm does not require rebuilding its dynamic model, reducing dependence on slave arm dynamic modeling and computational complexity, thus improving the real-time performance of teleoperation force feedback. Furthermore, this solution does not restrict the configuration of the master and slave robotic arms, supporting both homogeneous and heterogeneous robotic arms, improving the flexibility and adaptability of the application structure. In addition, the detection component directly measures the end effector force instead of inferring it from joint torque, avoiding the impact of joint transmission chain errors such as gear friction and motor current estimation noise on the accuracy of force perception.

[0074] Figure 3 This is another flowchart illustrating a force feedback method for a robotic arm provided in an embodiment of this application.

[0075] In some implementations, refer to Figure 3 As shown, steps S5 and S6 may be included before step S1.

[0076] S5, in response to the input signal at the input end of the main arm, acquires the target joint position parameters of the slave arm.

[0077] In some implementations, the target pose of the slave arm's working end can be determined based on the input signal of the master arm, and the target joint position parameters of the slave arm can be further determined to facilitate control of the slave arm to follow the movement of the master arm.

[0078] In some implementations, step S5 may include: determining the desired pose change of the slave arm's working end based on the master arm input signal, obtaining the target angles of each joint of the slave arm through the slave arm kinematic model and inverse kinematics solution, and then calculating the required driving torque for each joint through a joint space controller. The joint space controller may be a proportional-integral-derivative (PID) controller.

[0079] S6 controls the arm's operation according to the target joint position parameters.

[0080] The arm is used to enable the end effector to interact with the environment so that the detection component can detect force feedback parameters.

[0081] In some implementations, the target joint position parameters obtained in step S5 are sent to the PID controller, which then controls each joint of the arm to work.

[0082] In this implementation, the slave arm is controlled to interact with the end effector and the environment so that the detection component can detect the force feedback parameters. The control device then generates the target output torque of the main arm based on the force feedback parameters, thereby realizing the correlation between the slave arm motion control and the main arm force feedback.

[0083] Figure 4 This is a flowchart illustrating the arm pose control step in a force feedback method provided in this application embodiment.

[0084] In some implementations, when the operator inputs the input signal to the main arm, the control device determines the target joint position parameters of the slave arm corresponding to that input signal. (See reference...) Figure 4 As shown, step S5 may include the following steps S51 to S53.

[0085] S51, in response to the input signal at the input end of the main arm, acquires the first initial pose of the end of the main arm, the second initial pose of the working end of the slave arm, and the first movement amount of the end of the main arm.

[0086] The input end of the main arm is the part where the operator applies motion input.

[0087] In some implementations, the first initial pose is the 6-dimensional pose of the end effector in the base coordinate system before the main arm moves, including 3-dimensional position and 3-dimensional orientation. .in, The initial position of the main arm. This is the initial attitude rotation matrix for the main arm. The subscript represents the main arm. The superscript indicates the initial pose. It refers to the 3D position vector at the end of the robotic arm, namely the X / Y / Z axis coordinates. This refers to the 3×3 attitude rotation matrix at the end of the robotic arm, used to describe spatial angles.

[0088] The base coordinate system refers to the world coordinate system fixed at the base of the robotic arm, which serves as a reference for motion description.

[0089] The second initial pose is the initial pose of the working end of the arm in the base coordinate system. The second initial pose can be a 6-dimensional pose, including 3-dimensional position and 3-dimensional orientation. The subscript indicates the arm.

[0090] The first movement is the offset of the main arm end cap relative to the first initial pose when the main arm responds to the input signal at the input end. .in, This is the position offset. This represents the attitude offset.

[0091] In some implementations, the first initial pose The second initial pose is read from the current sensor data of the main arm and slave arm before the start of the current movement of the main arm; the first movement amount During the movement of the main arm in response to the input signal at the input end, the position of the main arm end is determined in real time based on the change of the current position of the main arm end relative to the first initial position.

[0092] S52, based on the main arm kinematic model, and based on the first initial pose, the second initial pose, and the first movement, determine the target pose of the working end of the slave arm.

[0093] In some implementations, the main arm kinematic model can be constructed based on the DH parameters of the main arm, and the end pose can be calculated from the joint angle values ​​through positive kinematics.

[0094] In some implementations, step S52 may include steps S521 to S523.

[0095] S521, Based on the first initial pose and the first movement amount, determine the position offset of the main arm end relative to the first initial pose. and attitude offset .

[0096] Among them, the current pose of the main arm end effector. , The superscript indicates the current real-time status. The current position of the main arm's end effector. The current posture of the main arm end is calculated in real time by the main arm kinematic model based on the current joint angle of the main arm.

[0097] Position offset attitude offset , for The transpose of .

[0098] S522, based on the homogeneous transformation matrix from the main arm base to the slave arm base. Position offset and attitude offset Transform to the slave arm base coordinate system to obtain the slave arm position offset. and from arm pose offset .

[0099] in, It is a 4×4 matrix. The subscript indicates that the coordinate system of the main boom has been converted to the coordinate system of the slave boom. Used to convert the offset from the master arm base coordinate system to the slave arm base coordinate system. It includes rotation and translation matrices, obtained through pre-performed hand-eye calibration.

[0100] Pick The 3×3 rotation submatrix at the top left is denoted as R. The offset from the arm position... From arm posture offset , for The transpose of .

[0101] S523, the arm position offset amount Position components superimposed on the second initial pose To obtain the desired position from the arm ; Arm posture offset attitude components superimposed on the second initial pose The desired posture of the arm is obtained. .

[0102] Among them, from the desired position of the arm From the desired posture of the arm From the target pose of the working end of the arm . The superscript represents the target state that is desired to be controlled.

[0103] S53, based on the follower arm's kinematic model, perform inverse kinematics solution on the target pose to determine the target joint position parameters of the follower arm.

[0104] In some implementations, inverse kinematics is performed on the slave arm's kinematic model to solve for the target pose at the slave arm's working end, which is then converted into the target angles of each joint. The target joint position parameters are then calculated using high-frequency joint space position control. For example, a control frequency of 1kHz means the control device sends 1000 control commands to the slave arm per second. A joint space PID controller is used to keep the master-slave motion synchronization delay within 5ms.

[0105] In this implementation, the motion offset of the master arm's end effector is mapped to the slave arm's base coordinate system after coordinate transformation and superimposed on the initial pose of the slave arm's working end. The entire pose mapping is completed in Cartesian space, avoiding the mapping difficulties caused by the heterogeneity of the master and slave arm joint spaces (different joint numbers and configurations), and also solving the problems of multiple inverse kinematics solutions and unintuitive operation in existing heterogeneous mapping schemes. Combined with the parallel operation of the force feedback channel, the operator can intuitively control the movement of the slave arm's working end through the master arm without manually planning the slave arm's trajectory. At the same time, the slave arm's working end effector drives the end effector to interact with the environment, enabling the detection component to acquire force feedback parameters, thereby forming a correlation with the master arm's force feedback closed loop.

[0106] It is understandable that the raw output of the detection component includes not only the actual interaction force between the environment and the end effector, but also the gravity / gravitational torque component caused by the weight of the end effector itself, as well as the sensor's own zero bias. Here, the interaction force refers to the actual contact force between the end effector and the environmental object, distinct from the raw force containing the aforementioned additional components. In this embodiment, step S2 utilizes the current pose state and calibration parameters to remove the gravity influence and zero bias from the raw force feedback parameters, obtaining the actual interaction force and interaction torque.

[0107] It is worth noting that the kinematic models of the master arm and slave arm can be pre-built or built before use, as long as they can be used when needed. This application does not impose any restrictions on this.

[0108] Figure 5 This is a flowchart illustrating the steps of determining the interaction force and interaction torque between the end effector and the environment in a force feedback method provided in this application embodiment.

[0109] In some implementations, refer to Figure 5 As shown, step S2 may include the following steps S21 to S23.

[0110] S21, based on the current pose state and calibration parameters of the slave arm, calculate the gravity component and gravitational torque component of the end effector in the current pose.

[0111] The calibration parameters are obtained through a pre-calibration process. These parameters include the zero-point force component and zero-point torque component of the detection component, as well as the mass of the end-effector. The coordinates of the centroid are x, y, and z.

[0112] The zero-point force component and zero-point torque component are the output values ​​of the detection component under no external force conditions, used to characterize the system deviation of the detection component itself. The zero-point force component includes... The zero-point torque component includes .

[0113] The zero-point force component is the force offset detected by the detection component under no external force conditions. It is used to characterize the zero-bias of force detection in each coordinate axis direction. For example, when the detection component includes a six-dimensional force sensor, the zero-point force component can be the force offset (in N) of each axis acquired by the six-dimensional force sensor under no external force conditions. The zero-point force offset (in N) of the X-axis six-dimensional force sensor. The zero-point force offset (in N) of the Y-axis six-dimensional force sensor. The zero-point force offset (in N) of the Z-axis six-dimensional force sensor.

[0114] The zero-point torque component is the torque offset detected by the detection component under no external torque condition, used to characterize the zero-bias of torque detection by the detection component around each coordinate axis. For example, when the detection component includes a six-dimensional torque sensor, the zero-point torque component can be the torque offset of each axis collected by the six-dimensional torque sensor under no external torque condition; The zero-point torque offset of the X-axis six-dimensional torque sensor (unit: N·m). The zero-point torque offset of the Y-axis six-dimensional torque sensor (unit: N·m). The zero-point torque offset of the Z-axis six-dimensional torque sensor (unit: N·m).

[0115] The centroid position coordinates are three-dimensional coordinates in the sensor coordinate system.

[0116] In some implementations, step S21 may include steps S211 to S213.

[0117] S211, based on the current joint angle of the slave arm and combined with the kinematic model of the slave arm, determine the attitude rotation matrix R of the working end of the slave arm in the sensor coordinate system.

[0118] Where R is a 3×3 orthogonal matrix, which is calculated in real time by the follower arm kinematic model based on the current joint angle of the follower arm.

[0119] In some implementations, the gravity component of the end effector, in the coordinate system of the detection component, includes... , , The gravitational torque component includes , , .

[0120] The gravity component of the end tooling refers to the equivalent gravity component of the end tooling's own weight along the X-axis, Y-axis, and Z-axis, respectively, in N. Let X be the equivalent component of gravity along the X-axis of the end tooling's own weight. Let the effective component of gravity along the Y-axis be the self-weight of the end tooling. The effective component of gravity along the Z-axis is the self-weight of the end tooling.

[0121] The gravitational moment components of the end tooling refer to the gravitational moments generated by the self-weight of the end tooling about the X-axis, Y-axis, and Z-axis respectively, with the unit: N·m. The gravitational torque about the X-axis is generated by the weight of the end tooling. The gravitational moment about the Y-axis is generated by the weight of the end tooling. The gravitational torque about the Z-axis is generated by the weight of the end tooling.

[0122] S212, based on the attitude rotation matrix R and the mass of the end effector. Calculate the gravity component of the end effector in the sensor coordinate system under the current pose. , , .

[0123] , The acceleration due to gravity, transposed by R Projected onto the sensor coordinate system: = × .

[0124] For example, gravitational acceleration is expressed in the base coordinate system as: The negative sign indicates vertical downwards, and the superscript T indicates the transpose of a vector or matrix.

[0125] S213, based on gravity components Given the centroid coordinates (x, y, z) of the end effector, calculate the gravitational torque component of the end effector in the sensor coordinate system at the current pose. , , .

[0126] The gravitational torque component is calculated by the cross product of vectors: In the formula " is the vector cross product operator.

[0127] S22, subtract the zero-point force component and gravity component from the calibration parameters from the original force component in the force feedback parameters to obtain the interaction force.

[0128] In some implementations, the interaction force component refers to the actual interaction force between the end effector and the environment, measured in N. The interaction force component includes... , , . This represents the actual interaction force between the end-effector and the environment along the X-axis. This represents the actual interaction force between the end-effector and the environment along the Y-axis. This represents the actual interaction force between the end-effector and the environment along the Z-axis.

[0129] in, , , .

[0130] S23, subtract the zero-point torque component and the gravitational torque component from the original torque component in the force feedback parameters to obtain the interaction torque.

[0131] In some implementations, the interaction torque component refers to the actual interaction torque between the end effector and the environment. The interaction torque component includes... , , . The actual interaction torque about the X-axis between the end-effector and the environment, in N·m. This represents the actual interaction torque around the Y-axis between the end-effector and the environment. This represents the actual interactive torque around the Z-axis between the end-effector and the environment.

[0132] in, , , .

[0133] In this implementation, the effects of the detection component's zero bias and the tooling's own weight are sequentially eliminated from the original force / torque. The resulting interactive force and interactive torque reflect the actual forces exerted on the tooling by the environment. The entire process does not rely on the arm dynamics model, resulting in low computational overhead and good real-time performance. Furthermore, the interactive force is directly obtained from the original output of the detection component after compensation, rather than being derived from joint torque, fundamentally eliminating the impact of transmission chain errors such as gear friction and motor current estimation noise on the accuracy of force sensing.

[0134] In this embodiment, after the end-effector is replaced, the detection component and the end-effector combination can be recalibrated without rebuilding the dynamics or kinematics model. The following describes the calibration process for replacing the tooling.

[0135] In some implementations, the force feedback method for the robotic arm also includes the following step S7.

[0136] S7. When the end-effector installed at the working end of the slave arm is replaced, the detection assembly and the end-effector are calibrated to determine the updated calibration parameters.

[0137] In this embodiment, when the end effector is replaced, only recalibration is required, without having to rebuild the dynamic model of the slave arm, thus reducing the time required for changing the end effector.

[0138] Figure 6This is a flowchart illustrating the tooling replacement and calibration steps in a force feedback method provided in this application embodiment.

[0139] In some implementations, refer to Figure 6 As shown, step S7 may include the following steps S71 and S72.

[0140] S71, in response to the completion of end-effector tooling change, controls the arm to move to at least three sets of linearly independent postures, acquires the detection data output by the detection component under each linearly independent posture, and the posture matrix of the working end of the arm.

[0141] In some implementations, linearly independent poses refer to the rotation matrices of each pose group. Linear independence is ensured to guarantee a unique solution to the system of equations. After the operator completes the end effector change, the arm is driven sequentially to at least three linearly independent postures via a control device, with the total number of postures denoted as N (N≥3).

[0142] In each linearly independent pose i (i=1,2,...,N), ensure that the fixture does not contact any object and the arm is in static equilibrium, and record the raw output of the detection component in the current pose. .

[0143] In some implementations, the attitude matrix can be the direct output of the robotic arm in various linearly independent attitudes.

[0144] In some implementations, under N attitudes, the force measured by the detection component during static equilibrium is the sum of the detection component's zero bias and the projected gravity of the tooling; the torque is the sum of the zero bias torque and the gravity torque. Each attitude provides 3 force equations and 3 torque equations, resulting in a total of 6N equations for N attitudes. The unknowns to be solved are... , There are 10 equations in total, including the centroids x, y, and z. When N≥3, the number of equations is greater than the number of unknowns, forming an overdetermined system of equations.

[0145] S72 determines the calibration parameters based on the detection data output by the detection components under each linearly independent attitude and the attitude matrix of the working end of the slave arm.

[0146] In some implementations, the least squares method can be used to determine the calibration parameters. The least squares method finds the optimal estimate of the calibration parameters by minimizing the sum of squares of the residuals between the actual output of the detection component and the model's predicted output at each attitude. , And the centers of mass x, y, z.

[0147] In some implementations, after calibration, the calibration parameters can be stored in the control device's memory so that they can be directly called during force feedback calculation.

[0148] In this implementation, after the end-effector is replaced, the arm moves in several different postures, the data of the detection components is collected and solved by the least squares method, and new calibration parameters can be obtained. There is no need to rebuild any dynamic model or adjust the control algorithm parameters, which realizes the plug-and-play functionality of the end-effector. In this way, the same system can be compatible with multiple end-effectors, improving the flexibility and operational adaptability of the robotic arm.

[0149] Figure 7 This is a flowchart illustrating the step of determining the target output torque of the main boom in a force feedback method provided in an embodiment of this application.

[0150] The following combination Figure 7 The step of determining the target output torque (step S3) in the embodiments of this application will be described in detail. In some implementations, the target output torque can be composed of the superposition of pose tracking torque, gravity compensation torque, and force feedback mapping torque.

[0151] First, the parameters of the main arm dynamics model involved in this step will be explained. In some implementations, the main arm includes multiple joints and multiple links, with the links connecting the joints. For example, the main arm is an n-DOF serial articulated robotic arm, where n is the number of joints.

[0152] A dynamic model of the main boom is pre-constructed based on the DH parameters of the main boom and the inertial parameters of each link (including link mass, center of mass position, and inertial tensor). This model is based on the Newton-Euler equations of motion, and its general form is:

[0153] ;

[0154] in, It is an m×1 dimensional vector representing the current joint position. The joint velocity vector is m×1 dimensional. Each element corresponds to the real-time motion rate of a single joint. The joint angular acceleration vector is an n×1 dimensional vector. The robotic arm includes rotary joints and / or translational joints. Each element corresponds to the real-time angular acceleration (rotational joint) or linear acceleration (translational joint) of a single joint.

[0155] Let m be the m×m joint inertia matrix, where m is the total number of moving joints of the robotic arm. Each element represents the inertial coupling relationship between any two joints, and is used to quantify the inertial drag torque generated by the linkage motion of the robotic arm.

[0156] It is the coupling matrix of Coriolis force and centrifugal force of order m×m. The value is simultaneously associated with the joint pose vector. and joint angular velocity vector It is used to characterize the Coriolis drag torque and centrifugal drag torque generated by the coupling between different joints when the multiple joints of a robotic arm move synchronously.

[0157] Let m×1 dimensional gravity load vector be used. It is used to characterize the gravitational resistance torque of all links of the robotic arm equivalent to each joint, and is the core calculation item of gravity feedforward compensation control.

[0158] Let m×1 dimensional joint friction force vector be used. It includes multiple friction components such as Coulomb friction and viscous friction. Characterizes the frictional resistance torque generated during the movement of the joint bearings and reducer of the robotic arm.

[0159] It is an m×1 dimensional joint driving torque vector. This represents the total control torque output from the servo motors and reducers of the robotic arm to each joint, and is the final control command output by the dynamics controller.

[0160] Understandably, the specific values ​​of the above matrices and vectors are calculated in real time by substituting the main arm DH parameters and inertia parameters into the Newton-Euler recursive algorithm.

[0161] Reference Figure 7 As shown, step S3 may include steps S31 to S34.

[0162] S31, based on the main arm dynamics model and the input signal of the main arm, calculate the pose tracking torque.

[0163] In some implementations, the operator pushes the main arm to generate an input signal, which the control device uses to determine the target pose at the end of the main arm. The pose error is then mapped into a pose tracking torque through an impedance control law, which is used to make the main arm track the target pose movement.

[0164] In some implementations, step S31 may include steps S311 to S313.

[0165] S311 determines the target pose of the end effector of the main arm based on the input signal of the main arm.

[0166] In some implementations, the target pose represents the Cartesian spatial pose that the operator expects the end effector of the main arm to reach. For example, the target pose is a 6×1 vector containing 3 position components and 3 attitude components. S312, calculate the pose error and velocity error between the current pose and the target pose of the end effector.

[0167] In some implementations, pose error , The current pose is calculated in real time by the main arm kinematic model based on the current joint angles. This refers to the target pose. Velocity error. pose error The derivative with respect to time.

[0168] In some implementations, the pose tracking torque is calculated based on the main arm dynamics model, pose error, and velocity error.

[0169] In some implementations, the Cartesian space impedance parameter is used in conjunction with the pose error. and speed error Calculate the reference acceleration : ; in, Main arm Jacobian matrix The false rebellion, This is used to solve the problem of the Jacobian matrix being non-invertible when a robotic arm approaches a singular configuration.

[0170] Cartesian space impedance parameters include the Cartesian impedance control target inertial matrix. Damping coefficient matrix and stiffness coefficient matrix . for The inverse matrix, Used to adjust the end-effector inertial characteristics. This is a stiffness control term used to determine the end effector's pose error. Generate corrected acceleration. This is a damping control term used based on the end velocity error. Suppress motion oscillations.

[0171] This is a time-varying coupling compensation term for the Jacobian matrix, used to compensate for acceleration coupling errors caused by changes in the Jacobian matrix with joint motion.

[0172] Furthermore, the reference acceleration Substituting into the main arm dynamics model, the pose tracking torque is obtained. .

[0173] In this embodiment, the tracking control of the end effector pose of the main arm is achieved through steps S311-S313 to compensate for minor deviations in pose tracking control.

[0174] S32, based on the main boom dynamics model, calculates the gravity compensation torque based on the current joint angle of the main boom and the connecting rod parameters of the main boom.

[0175] In some implementations, the link parameters of the boom include the mass and center of mass position of each link. Based on the current joint angle of the boom, the mass and center of mass position of each link, the gravity term of the dynamic model is used. Calculate the gravity compensation torque of the main boom's entire link weight equivalent to each joint.

[0176] For example, gravity compensation torque refers to the compensation torque that is equivalent to the weight of all the links of the main boom applied to each joint, and is used to counteract the interference of the main boom's own weight on the force feedback.

[0177] In some implementations, step S32 may include step S321.

[0178] S321. Based on the current joint angle of the main boom, the mass of each link, the position of the center of mass and the gravitational acceleration, and combined with the main boom dynamics model, the gravity load of each link is determined and mapped to the joint space to obtain the gravity compensation torque.

[0179] In some implementations, gravity compensation torque The calculation formula is: .

[0180] in, For link traversal indices, This refers to the total number of main boom links. For the first The total mass of the connecting rod (provided by the main boom inertial parameters). It is the transpose of the gravitational acceleration vector. For the first The linear velocity Jacobian submatrix corresponding to the center of mass of the root link (3×1 dimension, determined by the main arm kinematic model based on the current joint angle) (Calculated), used to map the gravity at the center of mass of the connecting rod to the joint space.

[0181] The gravitational load of the connecting rod can be... It means, then through This enables the mapping of gravity loads to the joint space.

[0182] In this embodiment, the interference of the main boom's own weight on the force feedback is eliminated by calculating the gravity compensation torque.

[0183] S33, based on the main boom dynamics model, calculates the force feedback mapping torque based on the interaction force and interaction torque.

[0184] Among them, the force feedback mapping torque is used to feed back environmental forces to the main arm.

[0185] In some implementations, step S33 may include step S331.

[0186] S331 maps the interaction force and interaction torque to the main arm joint space through the transpose of the Jacobian matrix in the main arm dynamics model to obtain the force feedback mapping torque.

[0187] Among them, the force feedback mapping torque is used to reproduce the contact force from the arm to the environment to the main arm.

[0188] In some implementations, the Jacobian matrix is ​​used to describe the linear mapping between the end effector generalized velocity and the joint velocity.

[0189] In some implementations, force feedback maps to torque. The calculation method is as follows: Take equivalent contact force and equivalent contact torque Mapped to joint space via Jacobi transpose: ; in, and These are the 3×n-dimensional Jacobian submatrices for the linear velocity and angular velocity of the main arm, respectively. and Transpose it.

[0190] Equivalent contact force This refers to the actual environmental force vector of the trailing arm after zero-point and self-weight compensation, and the equivalent contact torque. This is the torque vector of the trailing arm in the actual environment after zero-point and self-weight compensation.

[0191] This represents the joint resistance torque component corresponding to the end-effector interaction force. This represents the joint resistance torque component corresponding to the end interaction torque.

[0192] In this embodiment, torque can be mapped via force feedback. The forces exerted by the environment on the end effector of the arm and the torque The signal is transmitted to the main arm input end.

[0193] S34 algebraically superimposes the pose tracking torque, gravity compensation torque, and force feedback mapping torque to obtain the target output torque of each joint of the main arm.

[0194] In some implementations, the target output torque is calculated using the following formula. : = + + ; in, For pose tracking torque, For gravity compensation torque, This is for force feedback mapping torque.

[0195] In this embodiment, the total output torque of the main arm is decomposed into three independently calculated components: a torque response to the operator's movement intention via pose tracking, a torque to offset the main arm's own weight via gravity compensation, and a torque to transmit environmental forces from the arm end via force feedback mapping.

[0196] During teleoperation, the arm may move into a singular configuration. A singular configuration refers to a state in which the Jacobian matrix of the robotic arm is reduced in rank under a specific joint configuration, resulting in the loss of the ability to move in at least one degree of freedom. Near a singular configuration, the joint velocity may increase sharply or even diverge.

[0197] Figure 8 This is a flowchart illustrating a method for avoiding singular configurations in an arm, as provided in an embodiment of this application.

[0198] In some implementations, to prevent movement from the arm to a singular configuration, reference is made. Figure 8 As shown, the force feedback method may also include the following steps S8 to S11.

[0199] S8, obtain the current joint position and current joint velocity of the arm.

[0200] In some implementations, the current joint position is read in real time from the encoders at each joint of the arm. .

[0201] Among them, the current joint position for A 1×1 dimension joint position vector, where m is the number of slave joints. Each element in the vector corresponds to the motion value of a single joint in the slave. Elements for rotational joints are represented by angles or radians, and elements for translational joints are represented by linear displacement or length.

[0202] Current joint velocity for A 1×1 dimension joint velocity vector represents the real-time motion rate of each joint in the arm. The current joint velocity can be the speed control command of the joint actuator.

[0203] In some implementations, obtaining the current joint velocity may include: obtaining the current pose and target pose of the slave arm's working end; determining the motion difference between the current pose and the target pose; determining the desired velocity of the slave arm's working end corresponding to the motion difference based on a preset velocity control law; and determining the current joint velocity based on the slave arm's kinematic model according to the current joint position and the desired velocity.

[0204] S9, based on the current joint position and combined with the pre-built follower kinematic model, calculates and determines the condition number of the follower Jacobian matrix.

[0205] In some implementations, the kinematic model from the arm includes the Jacobian matrix from the arm. The Jacobian matrix of the arm is used to establish a linear mapping from the arm joint velocity to the end-effector generalized velocity. For the Jacobian matrix of the arm, for the Jacobian matrix of the arm 6 lines The Jacobian matrix of the robotic arm column, This represents the number of movable joints in the robotic arm; the matrix elements are determined by the current joint positions of the robotic arm. The matrix is ​​uniquely determined so that each column corresponds to the contribution coefficient of a single joint motion to the generalized velocity at the end point, thus enabling velocity conversion between joint space and Cartesian space.

[0206] The Jacobian matrix of the arm is used to establish a linear mapping relationship between the joint space velocity and the Cartesian space end-effector velocity, realizing the conversion of joint motion into end-effector linear and angular velocities. The formula is shown below: ;

[0207] in, It is a 6×1 dimension generalized velocity vector at the end of the robotic arm. Let be a 3xm linear velocity sub-Jacobi matrix. The upper half of the matrix block, This is used to characterize the mapping relationship between the angular velocity of each joint and the three-dimensional linear velocity of the working end of the slave arm. 3 lines The column's angular velocity sub-Jacobi matrix, for The lower half of the matrix block, This is used to characterize the mapping relationship between the angular velocity of each joint and the three-dimensional rotational angular velocity of the working end of the arm.

[0208] condition number Used to measure the singularity of the Jacobian matrix. The larger the value, the closer the arm is to a singular configuration.

[0209] In some implementations, step S9 may include steps S91 to S94.

[0210] S91 calculates and determines the current pose of the follower arm based on the current joint position and the follower arm kinematic model.

[0211] In some implementations, the kinematic model of the slave arm is constructed based on the slave arm's DH parameters, which include the link length parameters of the slave arm. Linkage torsion angle parameters Linkage offset parameters and joint rotation parameters (i=1,2,...,m, where m is the number of arm joints).

[0212] Among them, the link length parameter The unit is a unit of length. Representative link of Shaft and connecting rod of between shafts along the connecting rod of Vertical distance of the axis. Linkage torsion angle parameters. The unit is radians. Representative link of Axis connecting rod of The shaft rotates to the connecting rod of Fixed torsion angle corresponding to the shaft. Linkage offset parameters. The unit is a unit of length. Representative link of Shaft and connecting rod of between shafts along the connecting rod of The offset distance of the axis is a fixed value for rotary joints, while it varies with the joint displacement for translating joints.

[0213] The above parameters are determined by the mechanical structure and geometry of the slave arm and are pre-stored in the control device when constructing the kinematic model.

[0214] The follower kinematic model constructed based on the follower's DH parameters includes the homogeneous transformation matrix. homogeneous transformation matrix It is a 4x4 homogeneous transformation matrix. The physical meaning is a connecting rod. Coordinate system relative to the link Spatial transformation operators for coordinate systems. Homogeneous transformation matrix. Specifically as follows: .

[0215] in, The top left 3×3 block of the matrix is ​​used to control the orientation rotation, the top right 3×1 block is used to control the spatial translation, and the fourth row is a fixed homogeneous canonical row. , : Trigonometric function operators, representing cosine and sine functions respectively, used to convert angle parameters into matrix values.

[0216] S92, based on the current pose of the slave arm, calculate and determine the corresponding slave arm Jacobian matrix.

[0217] S93, perform singular value decomposition on the Jacobian matrix to obtain the maximum and minimum singular values.

[0218] In some implementations, Singular Value Decomposition (SVD) is a method of transforming the Jacobian matrix... Linear algebraic methods for decomposing into diagonal matrices, and obtaining the maximum singular value from the diagonal matrix. and minimum singular value Among them, the maximum singular value Characterizes the maximum motion scaling capability from the working end of the arm. Minimum singular value. A singular risk is triggered when the value approaches 0.

[0219] S94, calculate the ratio between the largest singular value and the smallest singular value to obtain the condition number.

[0220] In some implementations, the condition number is calculated as follows: .

[0221] In this embodiment, the condition number is obtained by calculating the Jacobian matrix from the arm kinematic model, obtaining singular values ​​through singular value decomposition, and calculating the ratio. In this way, the condition number can continuously and quantitatively reflect the degree to which the arm approaches the singular configuration, providing a basis for judging whether to trigger avoidance.

[0222] S10: If the condition number is greater than the condition number threshold, apply a velocity correction component along the condition number gradient direction based on the current joint velocity to obtain the target joint velocity.

[0223] In some implementations, the condition number gradient direction is the direction with the largest rate of change of the condition number, starting from the current joint position of the slave arm. The control device drives the slave arm according to the target joint velocity, automatically adjusting the motion path to avoid singular configurations when the slave arm approaches them.

[0224] In some implementations, step S10 may include steps S101 to S103.

[0225] S101, when the condition number is greater than the condition number threshold, the condition number gradient direction is calculated based on the condition number.

[0226] In some implementations, the condition number threshold can be set to 1000.

[0227] In some implementations, the gradient direction of the condition number is the vector of the partial derivative of the condition number with respect to the joint angle vector, and its direction points in the direction that increases the condition number.

[0228] S102, based on the condition number gradient direction and the preset adjustment coefficient, calculate the velocity correction component. .

[0229] In some implementations, the adjustment factor is the singularity avoidance gain factor. , It needs to be determined through experimental calibration based on the specific structural parameters and motion speed range of the arm.

[0230] In some implementations, the velocity correction component .

[0231] in, To avoid singularity adjustment gain, It is a positive scalar parameter. This is the joint space gradient operator.

[0232] The singularity avoidance cost function has a function value that is negatively correlated with the condition number; in other words, the condition number... The smaller the value, the further away from the singularity, and the larger the value of the singularity avoidance cost function. The goal of gradient correction is to maximize the singularity avoidance cost function.

[0233] S103, using the velocity correction component to adjust the current joint velocity Make corrections to obtain the target joint velocity. .

[0234] In some implementations, The control device follows the target joint speed Driven by the movement of each joint in the arm. For example, the control device sets the speed of the target joint. The final speed control command is issued to the servo driver.

[0235] In this way, the velocity correction is calculated based on the condition number gradient and the singularity avoidance gain coefficient, and then added to the current joint velocity to obtain the target joint velocity. The correction magnitude is adaptively matched according to the degree of condition number exceeding the limit; in other words, the correction increases accordingly when the condition number is high and automatically decreases when it approaches the singular limit.

[0236] S11 controls the arm to move at the target joint speed to avoid singular configurations.

[0237] In this embodiment, by monitoring the condition number of the Jacobian matrix of the slave arm in real time, the joint velocity is actively corrected when the condition number exceeds the safety threshold, enabling the slave arm to autonomously avoid singular configurations without operator intervention, thereby improving the system's motion safety and continuous operation capability.

[0238] In some implementations, the process of controlling the main arm to work in step S4 may also include: obtaining the current joint torque of the main arm; locking the main arm if the current joint torque of the main arm is greater than the torque limit, or the interaction force is greater than the interaction force limit, or the interaction torque is greater than the interaction torque limit.

[0239] In this embodiment, the torque of each joint of the main boom and the feedback force / torque of the slave arm are monitored simultaneously to see if they exceed a preset safety threshold. When the torque of the main boom joints exceeds the limit, or the interaction force / torque fed back by the slave arm exceeds the limit, the control device immediately triggers the reverse damping or locking of the main boom to prevent overload of the main boom or collision damage to the slave arm due to operational errors or sudden changes in the slave arm environment.

[0240] Figure 9 This is a schematic diagram of a force feedback device for a robotic arm provided in an embodiment of this application.

[0241] like Figure 9 As shown, the force feedback device 900 of the robotic arm includes: an acquisition module 901, a first determination module 902, a second determination module 903, and a control module 904. The acquisition module 901 is used to acquire the force feedback parameters detected by the detection component, the current pose state of the slave arm, and calibration parameters. The first determination module 902 is used to determine the interaction force and interaction torque between the end effector and the environment based on the force feedback parameters, the current pose state, and the calibration parameters. The second determination module 903 is used to determine the target output torque of the master arm based on the master arm's dynamic model, the input signal of the master arm, the interaction force, and the interaction torque; the target output torque is used to control the master arm to output force feedback corresponding to the force feedback parameters. The control module 904 is used to control the master arm to work according to the target output torque, so as to provide force feedback through the master arm.

[0242] In one possible implementation, the force feedback parameters include the original force component and the original torque component, and the calibration parameters include the zero-point force component and the zero-point torque component of the detection component. The first determining module 902 is specifically used to calculate the gravity component and gravity torque component of the end effector in the current pose based on the current pose state of the slave arm and the calibration parameters; subtract the zero-point force component and gravity component from the calibration parameters in the original force component of the force feedback parameters to obtain the interaction force; and subtract the zero-point torque component and gravity torque component from the original torque component of the force feedback parameters to obtain the interaction torque.

[0243] Figure 10 This is a schematic diagram of another force feedback device for a robotic arm provided in an embodiment of this application.

[0244] In one possible implementation, such as Figure 10As shown, the force feedback device 900 of the robotic arm also includes a calibration module 905. When the end effector mounted on the working end of the slave arm is replaced, the calibration module 905 is configured to: control the slave arm to move to at least three sets of linearly independent postures in response to the completion of the end effector replacement; acquire the detection data output by the detection component under each linearly independent posture, and the posture matrix of the working end of the slave arm; the detection data is used to characterize the mechanical load exerted by the end effector on the detection component under the corresponding linearly independent posture; and determine the calibration parameters of the slave arm based on the output of the detection component under each linearly independent posture and the posture matrix of the working end of the slave arm; wherein the calibration parameters include the zero-point force component and zero-point torque component of the detection component, the mass of the end effector, and the center of mass of the end effector.

[0245] In one possible implementation, the main arm includes multiple joints and multiple links, with the links connecting the joints. The second determining module 903 is specifically used to calculate the pose tracking torque based on the input signal of the main arm according to the main arm dynamics model; the pose tracking torque is used to enable the main arm to track the target pose motion; calculate the gravity compensation torque based on the current joint angle and link parameters of the main arm according to the main arm dynamics model; the gravity compensation torque is used to counteract the interference of the main arm's own gravity on the force feedback; calculate the force feedback mapping torque based on the interaction force and interaction torque according to the main arm dynamics model; the force feedback mapping torque is used to feed back the environmental forces to the main arm; and algebraically superimpose the pose tracking torque, gravity compensation torque, and force feedback mapping torque to obtain the target output torque of each joint of the main arm.

[0246] In one possible implementation, the second determining module 903 is specifically used to determine the target pose of the end effector of the main arm based on the input signal of the main arm; calculate the pose error and velocity error between the current pose and the target pose of the end effector of the main arm; and calculate the pose tracking torque based on the main arm dynamics model, the pose error and the velocity error.

[0247] In one possible implementation, the main boom includes multiple links, and the parameters of the links include the link mass of each link and the position of the center of mass of the main boom. The second determining module 903 is specifically used to calculate the torque generated by the main boom's own weight in each joint based on the current joint angle of the main boom, the mass of each link, the position of the center of mass and the gravitational acceleration, combined with the main boom dynamic model, to obtain the gravity compensation torque.

[0248] In one possible implementation, the second determining module 903 is specifically used to map the interaction force and interaction torque to the main arm joint space through the transpose of the Jacobian matrix in the main arm dynamics model to obtain the force feedback mapping torque.

[0249] Figure 11 This is a schematic diagram of another force feedback device for a robotic arm provided in an embodiment of this application.

[0250] In one possible implementation, such as Figure 11 As shown, the force feedback device 900 of the robotic arm further includes a third determining module 906. The third determining module 906 is configured to: in response to an input signal from the input end of the main arm, acquire a first initial pose of the end effector of the main arm, a second initial pose of the working end effector of the slave arm, and a first displacement; the first displacement is the offset of the end effector relative to the first initial pose in response to the input drive; determine the target pose of the working end effector of the slave arm based on the first initial pose, the second initial pose, and the first displacement, according to a pre-built kinematic model of the main arm; perform inverse kinematics calculation on the target pose according to a pre-built kinematic model of the slave arm to determine the target joint position parameters of the slave arm; control the operation of the slave arm according to the target joint position parameters, the operation of the slave arm being used to enable the end effector to interact with the environment so that the detection component can detect the force feedback parameters.

[0251] Figure 12 This is a schematic diagram of another force feedback device for a robotic arm provided in an embodiment of this application.

[0252] In one possible implementation, such as Figure 12 As shown, the force feedback device 900 of the robotic arm also includes a singular configuration avoidance module 907. The singular configuration avoidance module 907 is configured to: acquire the current joint position and current joint velocity of the slave arm; calculate and determine the condition number of the slave arm Jacobian matrix based on the current joint position and a pre-built slave arm kinematic model; if the condition number is greater than a condition number threshold, apply a velocity correction component along the condition number gradient direction based on the current joint velocity to obtain the target joint velocity; the condition number gradient direction is the direction in which the rate of change of the condition number with the joint angle is greatest, starting from the current joint position of the slave arm; and control the slave arm to move according to the target joint velocity to avoid singular configurations.

[0253] In one possible implementation, the singular configuration avoidance module 907 is specifically used to calculate and determine the current pose of the slave arm based on the current joint position and the slave arm kinematic model; calculate and determine the corresponding slave arm Jacobian matrix based on the current pose of the slave arm; perform singular value decomposition on the Jacobian matrix to obtain the maximum singular value and the minimum singular value; and calculate the ratio between the maximum singular value and the minimum singular value to obtain the condition number.

[0254] In one possible implementation, the singular configuration avoidance module 907 is specifically used to calculate the condition number gradient direction based on the condition number when the condition number is greater than the condition number threshold; calculate the velocity correction component based on the condition number gradient direction and the preset adjustment coefficient; and use the velocity correction component to correct the current joint velocity to obtain the target joint velocity.

[0255] Figure 13 This is a schematic diagram of a computing device provided in an embodiment of this application.

[0256] like Figure 13 As shown, the computing device 1300 includes a processor 1301 and a memory 1302. In some implementations, the computing device 1300 may also include a communications interface 1303 and a communications bus 1304.

[0257] The processor 1301, memory 1302, and communication interface 1303 communicate with each other via communication bus 1304. The communication interface 1303 may include a transmitter and receiver for communicating with other devices or communication networks, and may be a wired interface (port), such as a fiber distributed data interface (FDDI) or a gigabit Ethernet interface (GE).

[0258] In some embodiments, the processor 1301 is used to execute program 1305, specifically performing the relevant steps in the force feedback method embodiments of the robotic arm described above. Specifically, program 1305 may include program code, which includes computer-executable instructions.

[0259] In some implementations, processor 1301 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement some embodiments of this application. Computing device 1300 may include one or more processors, which may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs. The CPU may be a single-core CPU or a multi-core CPU.

[0260] In some embodiments, memory 1302 is used to store program 1305. Memory 1302 may include high-speed random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device.

[0261] Specifically, program 1305 can be called by processor 1301 to enable computing device 1300 to execute the force feedback method of the robotic arm.

[0262] Some embodiments of this application provide a computer-readable storage medium storing at least one executable instruction that, when executed on a computing device 1300, causes the computing device 1300 to perform the force feedback method of the robotic arm in the above embodiments.

[0263] For example, the computer-readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, a floppy disk, and an optical data storage device.

[0264] Some embodiments of this application provide a chip system applied to a server. The chip system includes one or more interface circuits and one or more processors. The interface circuits and processors are interconnected via lines. The interface circuits are used to receive signals from the server's memory and send signals to the processors, the signals including computer instructions stored in the memory. When the server processor executes the computer instructions, the server performs various steps in the force feedback method of the robotic arm shown in the above-described method embodiments.

[0265] The beneficial effects that the readable storage medium provided in some embodiments of this application can achieve can be referred to the beneficial effects in the corresponding force feedback method of the robotic arm provided above, and will not be repeated here.

[0266] It should be noted that, in this application, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.

[0267] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0268] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0269] For the purposes of this specification, "computer-readable medium" can mean any means that can contain, store, communicate, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0270] More specific examples of computer-readable media (a non-exhaustive list) include the following: electrical connections having one or more wires (electronic devices), portable computer disks (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM).

[0271] Furthermore, the computer-readable medium can even be paper or other suitable media on which the program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory. It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof.

[0272] In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc. The above embodiments are merely specific embodiments of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made based on the technical solutions of this application should be included within the scope of protection of this application.

Claims

1. A force feedback method for a robotic arm, characterized in that, The method is applied to a control device for controlling a robotic arm, which includes a main arm, a slave arm, and an end effector. The slave arm is communicatively connected to the main arm, and the working end of the slave arm is connected to the end effector. The end effector is used to interact with the environment. The slave arm is equipped with a detection component, which is configured to detect force feedback parameters fed back to the end effector from the environment. The force feedback method includes: The force feedback parameters detected by the detection component, the current pose state of the slave arm, and the calibration parameters are obtained. Based on the force feedback parameters, the current pose state, and the calibration parameters, the interaction force and interaction torque between the end effector and the environment are determined. Based on the main boom dynamics model, and considering the main boom's input signal, the interaction force, and the interaction torque, the target output torque of the main boom is determined; the target output torque is used to control the main boom to output force feedback corresponding to the force feedback parameters. The main boom is controlled to operate according to the target output torque, so as to provide force feedback through the main boom.

2. The method according to claim 1, characterized in that, The force feedback parameters include the original force component and the original torque component, and the calibration parameters include the zero-point force component and the zero-point torque component of the detection component. The determination of the interaction force and interaction torque between the end effector and the environment based on the force feedback parameters, the current pose state, and the calibration parameters includes: Based on the current pose of the slave arm and the calibration parameters, calculate the gravity component and gravitational moment component of the end effector in the current pose. The interaction force is obtained by subtracting the zero-point force component and the gravity component from the original force component in the force feedback parameters; The interaction torque is obtained by subtracting the zero-point torque component and the gravitational torque component from the original torque component in the force feedback parameters.

3. The method according to claim 1 or 2, characterized in that, When replacing the end effector mounted on the working end of the driven arm, the following is also included: In response to the completion of the end-effector replacement, the slave arm is controlled to move to at least three linearly independent postures, and the detection data output by the detection component under each linearly independent posture, as well as the posture matrix of the working end of the slave arm, are acquired; the detection data is used to characterize the mechanical load of the end-effector acting on the detection component under the corresponding linearly independent posture. Based on the output of the detection component under each of the linearly independent attitudes and the attitude matrix of the working end of the slave arm, the calibration parameters of the slave arm are determined; wherein, the calibration parameters include the zero-point force component and the zero-point torque component of the detection component, the mass of the end effector and the centroid of the end effector.

4. The method according to any one of claims 1-3, characterized in that, The main arm includes multiple joints and multiple links, the links being used to connect the joints. Based on the main arm's dynamic model, and considering the input signals of the main arm, the interaction forces, and the interaction torques, the target output torque of the main arm is determined, including: Based on the main arm dynamics model, the pose tracking torque is calculated based on the input signal of the main arm; the pose tracking torque is used to enable the main arm to track the target pose motion. Based on the main boom dynamics model, and using the current joint angle of the main boom and the parameters of the connecting rod, a gravity compensation torque is calculated; the gravity compensation torque is used to counteract the interference of the main boom's own gravity on the force feedback. Based on the main boom dynamics model, the force feedback mapping torque is calculated based on the interaction force and the interaction torque; the force feedback mapping torque is used to feed back the environmental forces to the main boom; The pose tracking torque, gravity compensation torque, and force feedback mapping torque are algebraically superimposed to obtain the target output torque of each joint of the main arm.

5. The method according to claim 4, characterized in that, The step of calculating the pose tracking torque based on the input signal of the main arm and the main arm dynamics model includes: The target pose of the end effector of the main arm is determined based on the input signal of the main arm. Calculate the pose error and velocity error between the current pose and the target pose of the main arm end effector; Based on the main arm dynamics model, the pose error, and the velocity error, the pose tracking torque is calculated; and / or, The main boom includes multiple links, the parameters of which include the link mass of each link and the position of the center of mass of the main boom. The calculation of the gravity compensation torque based on the main boom's dynamic model, the current joint angle of the main boom, and the parameters of the links includes: Based on the current joint angle of the main boom, the mass of each link, the position of the center of mass, and the gravitational acceleration, and in conjunction with the main boom dynamics model, the gravitational load on each link is determined and mapped to the joint space to obtain the gravity compensation torque; and / or, The step of calculating the force feedback mapping torque based on the main boom dynamics model, the interaction force, and the interaction torque includes: The interactive force and interactive torque are mapped to the main arm joint space through the transpose of the Jacobian matrix in the main arm dynamics model to obtain the force feedback mapping torque.

6. The method according to any one of claims 1-5, characterized in that, Also includes: In response to an input signal from the input end of the main arm, a first initial pose of the end of the main arm, a second initial pose of the working end of the slave arm, and a first movement amount of the end of the main arm are acquired; the input end of the main arm is the part where the operator applies motion input; the first movement amount is the offset of the end of the main arm relative to the first initial pose when the main arm responds to the input signal from the input end. Based on the main arm kinematic model, the target pose of the working end of the slave arm is determined based on the first initial pose, the second initial pose, and the first movement amount. Based on the follower arm kinematic model, the target pose is solved by inverse kinematics to determine the target joint position parameters of the follower arm. The slave arm is controlled to work according to the target joint position parameters. The slave arm works to enable the end effector to interact with the environment so that the detection component can detect the force feedback parameters.

7. The method according to any one of claims 1-6, characterized in that, Also includes: Obtain the current joint position and current joint velocity of the slave arm; Based on the current joint position and combined with the pre-constructed follower arm kinematic model, the condition number for determining the follower arm Jacobian matrix is ​​calculated. If the condition number is greater than the condition number threshold, a velocity correction component is applied along the condition number gradient direction based on the current joint velocity to obtain the target joint velocity; The condition number gradient direction is the direction in which the rate of change of the condition number with the joint angle is greatest, starting from the current joint position of the arm. The slave arm is controlled to move at the target joint speed to avoid singular configurations.

8. The method according to claim 7, characterized in that, The step of calculating the condition number for determining the follower arm Jacobian matrix based on the current joint position and in conjunction with the pre-constructed follower arm kinematic model includes: Based on the current joint position and combined with the follower arm kinematic model, the current pose of the follower arm is calculated and determined; Based on the current pose of the slave arm, the corresponding slave arm Jacobian matrix is ​​calculated and determined; Perform singular value decomposition on the Jacobian matrix to obtain the maximum singular value and the minimum singular value; The condition number is obtained by calculating the ratio between the maximum singular value and the minimum singular value.

9. The method according to claim 7, characterized in that, When the condition number is greater than the condition number threshold, applying a velocity correction component along the condition number gradient direction to obtain the target joint velocity includes: If the condition number is greater than the condition number threshold, the condition number gradient direction is calculated based on the condition number. The velocity correction component is calculated based on the gradient direction of the condition number and the preset adjustment coefficient. The target joint velocity is obtained by correcting the current joint velocity using a velocity correction component.

10. A computing device, characterized in that, The computing device includes a memory and a processor; the memory and the processor are coupled; the memory is used to store computer program code, the computer program code including computer instructions, which, when executed by the processor, cause the computing device to apply the force feedback method of the robotic arm as described in any one of claims 1 to 9.