Mechanical arm admittance parameter adjusting method, pose instruction generating method and electronic equipment

By dynamically adjusting the admission parameters, the problem of insufficient adjustment of admission parameters in medical robots is solved, and the stability and flexibility of the robotic arm when interacting with the rigid body is achieved, and the surgical accuracy and operation experience are improved.

CN119871424APending Publication Date: 2025-04-25BEIJING TINAVI MEDICAL TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510184454.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-19
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In the scenario where medical robots use variable admission control, the admission parameters are not adjusted accurately enough, resulting in oscillation or unstable movement of the robotic arm when touching a rigid object.

Method used

By determining the force data applied to the robot arm by an external object, it is determined whether the robot arm touches the rigid body and dynamically adjusts the admission parameters. When the robot arm comes into contact with the rigid body, adjust to a larger admittance parameter to maintain stability; when the robot arm is disengaged from the rigid body, adjust to a smaller admittance parameter to provide flexibility.

Benefits of technology

The smooth transition of the robotic arm in different interactive scenarios is achieved, instability or overreaction caused by inaccurate adjustment of admission parameters is avoided, surgical accuracy is improved, patient injury risk is reduced, and doctor operation experience is optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119871424A_ABST
    Figure CN119871424A_ABST
Patent Text Reader

Abstract

The invention provides a mechanical arm admittance parameter adjusting method, a pose instruction generating method and electronic equipment. Through accurate admittance parameter switching, the problem that admittance parameter adjustment in variable admittance control of an existing medical robot is not accurate enough is solved. When the mechanical arm is in contact with a rigid object, larger admittance parameters are adopted to ensure the stability, and excessive oscillation is avoided; and after the mechanical arm is separated from the rigid object, a smaller admittance parameter is adjusted to provide flexibility, so that smooth transition is realized. Through the dynamic adjustment strategy, proper admittance parameters can be provided at different moments according to actual conditions, instability or overreaction caused by inaccurate adjustment of the admittance parameters in the interaction process of the mechanical arm is avoided, and therefore the operation precision is improved, the patient injury risk is reduced, the operation experience of doctors is further optimized, and the operation efficiency is improved. And the safety and reliability of the medical robot are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot arm control, and in particular to a method for adjusting a robot arm's admittance parameter, a method for generating a posture instruction, and an electronic device. Background Art

[0002] Medical robots, especially medical manipulators, are robotic systems used in the medical field, designed to perform various surgical, diagnostic, and therapeutic tasks. Medical robots may include manipulators, control devices, sensors, and end tools, and can interact with the external environment (e.g., the human body) through precise movements.

[0003] In scenarios where medical robots use variable admittance control, there is a technical problem that the admittance parameter adjustment is not precise enough. Summary of the invention

[0004] The purpose of the present invention is to overcome the above-mentioned technical deficiencies and provide a method for adjusting the admittance parameters of a robotic arm, a method for generating posture instructions and an electronic device to solve the technical problem in the related art that the admittance parameter adjustment is not accurate enough in the scenario where the medical robot adopts variable admittance control.

[0005] In order to achieve the above technical objectives, the present invention adopts the following technical solutions:

[0006] In a first aspect, the present invention provides a method for adjusting a manipulator admittance parameter, the method comprising:

[0007] Determine the force data exerted by the external object on the robot arm;

[0008] Based on the force data, determining whether the robotic arm touches a rigid body;

[0009] If the judgment is yes, the current admittance parameter is adjusted to a first target admittance parameter; wherein the first target admittance parameter is used to enable the robot arm to maintain a stable admittance parameter when touching the rigid body;

[0010] Determining whether the robotic arm is continuously separated from the rigid body within a preset time window;

[0011] If the judgment is yes, the current first target admittance parameter is adjusted to a second target admittance parameter; wherein the second target admittance parameter is an admittance parameter used to enable the robotic arm to maintain compliance when the robotic arm is separated from the rigid body.

[0012] In a second aspect, the present invention provides a method for generating a robot arm posture instruction, the method comprising:

[0013] Determine the current posture information and expected posture information of the robot arm;

[0014] Based on the current posture information and the expected posture information, calculating the speed deviation data and the posture deviation data of the robot arm;

[0015] Based on the speed deviation data, posture deviation data and current admittance parameters, a posture instruction of the robot arm is generated; wherein the current admittance parameter is obtained by the above-mentioned method for adjusting the admittance parameter of the robot arm.

[0016] In a third aspect, the present invention provides an electronic device comprising: a memory, and one or more processors communicatively connected to the memory; the memory stores instructions executable by the one or more processors, and the instructions are executed by the one or more processors so that the one or more processors implement the above-mentioned method.

[0017] Beneficial effects:

[0018] The present invention solves the problem of inaccurate adjustment of admittance parameters in the variable admittance control of existing medical robots through precise admittance parameter switching. When the robotic arm contacts a rigid object, a larger admittance parameter is used to ensure stability and avoid excessive oscillation; after the robotic arm is separated from the rigid object, a smaller admittance parameter is adjusted to provide compliance, thereby achieving a smooth transition. Through this dynamic adjustment strategy, appropriate admittance parameters can be provided according to actual conditions at different times, avoiding instability or overreaction of the robotic arm caused by inaccurate adjustment of admittance parameters during the interaction process, thereby improving surgical accuracy, reducing the risk of patient injury, further optimizing the doctor's operating experience, and improving the safety and reliability of the medical robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 It is a flow chart of a method for adjusting the admittance parameters of a robot arm provided by an embodiment of the present invention;

[0020] Figure 2 It is a flow chart of a method for generating a robot arm posture instruction provided by an embodiment of the present invention;

[0021] Figure 3 is a logical schematic diagram of the state judgment of the robot arm provided by an embodiment of the present invention;

[0022] Figure 4 It is a schematic diagram of the state judgment principle using different modulus thresholds provided by an embodiment of the present invention;

[0023] Figure 5 It is a schematic diagram of the state judgment principle under the condition of using the same modulus threshold value provided by an embodiment of the present invention;

[0024] Figure 6is a schematic diagram of an example of state judgment provided by an embodiment of the present invention;

[0025] Figure 7 Schematic diagram of the input-output relationship of the dead zone control provided by the embodiment of the present invention;

[0026] Figure 8 It is a block diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0027] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0028] In related technologies, such as medical robots, especially in the field of orthopedic surgical robots, variable admittance control technology has been applied to human-computer interaction. The purpose is to enable the robot to flexibly adapt to different operating environments and external forces by adjusting parameters such as the stiffness, damping and inertia of the robotic arm.

[0029] Although the adjustment of the admittance parameters may be effective enough in some simple application scenarios, in complex medical operations, especially when interacting precisely with human bones and soft tissues, existing control methods often fail to provide sufficiently accurate adjustment of the admittance parameters. In particular, when the robot arm contacts a rigid object, the existing control system often reacts too quickly or too slowly, which causes the robot arm to vibrate or move unstably when it touches a rigid object, thereby affecting the accuracy of the operation and even posing a threat to patient safety. Specifically, in the field of orthopedic surgical robots, when the admittance control strategy is used to achieve human-computer interaction, the core goal of the variable admittance parameter design is to enable the robot arm to dynamically adapt to the mechanical characteristics of different interaction scenarios (such as the compliance requirements of human hand dragging and the safety requirements when colliding with rigid objects), thereby ensuring operational stability and safety while improving the doctor's operating experience and surgical efficiency. Since the orthopedic surgical robot needs to make precise contact with the patient's bones and soft tissues under the doctor's operation, any control error may cause patient injury or surgical failure. Therefore, ensuring that the robot arm can accurately and stably respond to external operations and provide feedback throughout the operation, and avoiding vibrations caused by unstable control, is the basis for ensuring the success of the operation. Stable control allows the robot arm to maintain a high degree of controllability when performing tasks, avoiding operational errors caused by overly fast or slow reactions. Accurate parameter adjustment can also ensure smooth collaboration between the robot arm and the doctor, reduce the doctor's discomfort during surgery, and further improve the safety and comfort of patients.

[0030] In summary, in high-risk scenarios such as orthopedic surgery, any inaccuracy in control may lead to surgical failure or patient injury. Therefore, how to dynamically adjust the admittance parameters according to the real-time changing environment so that the robot arm can maintain good flexibility and ensure the stability of the system when contacting rigid objects is a technical problem that needs to be solved.

[0031] like Figure 1 As shown, this embodiment provides a method for adjusting the admittance parameters of a robot arm. The execution subject of the method may be a control device of the robot arm. The method may include:

[0032] Step S12: Determine the force data applied by the external object on the robot arm.

[0033] In this embodiment, the determined action can be represented by the control device of the robot arm sending a data acquisition request to the corresponding sensor, and then performing corresponding data processing, or without performing data processing, to obtain the force data.

[0034] In this embodiment, the external object may be a patient, or a body part of the patient, such as bones or soft tissue. The external object may be a doctor, for example, a doctor's hand. Especially in a collaborative robot scenario, when a doctor pushes or guides a robotic arm with his hand, external forces will be generated, and the control device of the robotic arm needs to sense these forces and make adjustments. In addition to patients and doctors, the external object may also be any object that the robotic arm contacts when performing a task, such as surgical tools, medical equipment, operating tables, etc. These objects may have different rigidities or shapes.

[0035] In this embodiment, the force data may be external force vector data having at least one dimension.

[0036] In this embodiment, the force data may also be the overall representation data of the external force vector data having at least one dimension, for example, it may be the modulus value of the external force vector data having at least one dimension.

[0037] In this embodiment, the force data may also be the modulus value of the mutation data of the external force vector data having at least one dimension (the first-order differential vector of the external force vector data with respect to time, or the second-order or even higher-order differential vector of the external force vector data with respect to time).

[0038] In this embodiment, the force data may also be time-integrated data of the external force and / or external torque.

[0039] In this embodiment, the force data may also be frequency domain data of the external force and / or external torque.

[0040] In this embodiment, the force data may also be difference data between the external force and / or external torque and the target external force and / or external torque.

[0041] Specifically, in this embodiment, the control device of the robot arm can be an MCU, a DSP, a PLC; it can also be an FPGA, an embedded system, a PC (personal computer) or a server, etc.

[0042] In this embodiment, the control device can send a data acquisition request to the sensor. It is understandable that the sensor and the control device are connected in communication, and can be connected in a wired or wireless manner, and can transmit data to each other. The sensor can be a six-dimensional force sensor set on the robot arm, or a joint external torque sensor.

[0043] More specifically, when the sensor is a six-dimensional force sensor, the above-mentioned control device can send a data acquisition request to the six-dimensional force sensor to start the data acquisition process. The six-dimensional force sensor will measure the force and torque of the manipulator in three spatial directions, and obtain the six-dimensional external force vector data (including three-dimensional force and three-dimensional torque) of the external force. The six-dimensional force sensor will provide external forces (such as push-pull forces, pressure, etc. applied to the end of the manipulator) and corresponding torque data on the end or contact part of the manipulator. When the control device receives the six-dimensional external force vector data of the sensor, these data often contain noise, errors or system deviations. Therefore, the control device can perform data processing on these raw data. For example, the control device can perform denoising processing on the raw data sent by the six-dimensional force sensor, filter out the noise in the data, and ensure that the measured value is accurate. For another example, the control device can perform zero-point correction on the raw data sent by the six-dimensional force sensor, thereby compensating for the zero-point offset of the sensor, and then eliminating any errors caused by the installation position or the sensor itself. The control device can also perform load compensation. When the robot arm carries a load, the control device may need to compensate for the additional force caused by the load to ensure the accuracy of the external force data.

[0044] More specifically, when the sensor is an external joint torque sensor, the above-mentioned control device can send a data acquisition request to the external joint torque sensor to start the data acquisition process. It is understandable that the external joint torque sensor can measure the external torque of each joint of the robotic arm, and the external joint torque sensor can be installed at each joint position of the robotic arm to monitor the torque of each joint in real time. Similarly, after the control device receives the external torque of each joint sent by the external joint torque sensor, data processing can be performed to ensure its accuracy. For example, zero point correction and noise filtering, etc. It is understandable that the control device can be preset with a Jacobian matrix and a dynamic model of the robotic arm. Based on the Jacobian matrix and the dynamic model of the robotic arm, the control device can calculate the external force acting on each part of the robotic arm according to the joint torque data. For example, the control device can convert the torque into an actual external force according to the torque value of the sensor in combination with the dynamic model of the robotic arm.

[0045] In this embodiment, the control device can also determine the force data applied by the external object on the robotic arm by observing the motion deviation of the robotic arm. Specifically, the robotic arm should ideally move along a predetermined trajectory, but when an external object applies an external force, the actual trajectory of the robotic arm often deviates from the expected trajectory. Therefore, the control device can reversely calculate the externally applied force by monitoring the deviation between the expected trajectory and the actual trajectory of the robotic arm and combining the known dynamic equations and control inputs.

[0046] In this embodiment, the control device may also calculate the force data exerted by the external object on the robotic arm by combining the acceleration sensor with the dynamic model.

[0047] In this embodiment, the control device can also perceive the force data exerted by the external object on the robotic arm through multi-sensor fusion (vision+tactile+force).

[0048] In this embodiment, the control device can also estimate the force data exerted by the external object on the robotic arm through an external force prediction model (based on deep learning / machine learning).

[0049] In this embodiment, the robotic arm may be a robotic arm in the field of medical robots, for example, may be a robotic arm of an orthopedic robot.

[0050] In this embodiment, the robotic arm may be a robotic arm in the field of industrial robots.

[0051] In this embodiment, the robotic arm may be a robotic arm in the field of aerospace and aviation.

[0052] In this embodiment, the robotic arm may be a robotic arm in the field of agricultural robots.

[0053] In this embodiment, the robotic arm may be a robotic arm in the field of service robots, for example, a restaurant service robot.

[0054] In this embodiment, the robotic arm may be a robotic arm in the field of warehousing and logistics.

[0055] Step S14: Based on the force data, determine whether the robotic arm touches a rigid body.

[0056] In this embodiment, the force data may be external force vector data having at least one dimension. In this embodiment, the control device may calculate the corresponding mutation data (the first-order differential vector of the external force vector data with respect to time, or the second-order or even higher-order differential vector of the external force vector data with respect to time) based on the force data (external force vector data with at least one dimension), and then calculate the corresponding integrity characterization data (module value) based on the mutation data. When the integrity characterization data is greater than or equal to the first threshold value, it is determined that the robotic arm touches a rigid body.

[0057] Therefore, the step of judging whether the robot arm touches the rigid body based on the force data may be:

[0058] First, the control device performs a forward difference calculation on the external force vector data to obtain a first-order differential vector of the external force vector data with respect to time.

[0059] Then, the control device calculates the overall characterization data of the first-order differential vector based on the first-order differential vector, for example, the modulus value of the external force vector data.

[0060] Next, the control device determines whether the integrity characterization data is greater than or equal to a first threshold.

[0061] Finally, when the value is greater than or equal to the first threshold, it is determined that the robot arm touches the rigid body.

[0062] In this embodiment, the control device may also calculate the second-order differential (acceleration) of the external force vector data. If the amplitude of the second-order differential exceeds a preset threshold, it indicates that a rigid collision may have occurred in the robotic arm.

[0063] In this embodiment, the control device can also calculate the theoretical force according to the expected trajectory, and then compare the calculated theoretical force with the actual force data sent by the sensor. If the error between the two exceeds a preset threshold, it indicates that the robotic arm may have a rigid collision.

[0064] In this embodiment, the control device can also calculate the slope of the force data-displacement curve. The displacement can be the displacement of the end tool corresponding to the force data. If the slope is greater than a preset threshold, it indicates that the robotic arm may have a rigid collision. It is understandable that when the robotic arm contacts a flexible object (such as soft tissue), the displacement changes greatly, while when it contacts a rigid object, the displacement hardly changes. Therefore, by analyzing the relationship between the change in external force and the displacement, it can be determined whether the robotic arm has collided with a rigid object.

[0065] In this embodiment, the control device can combine the force data and the joint motor current to determine whether they suddenly change at the same time. If they suddenly change at the same time and the amplitude of the sudden change exceeds the threshold, it is determined that the robotic arm touches a rigid body. It is understandable that when the robotic arm touches a rigid object, the motor driver will suddenly feel a large reaction force, resulting in a sudden change in the current. Therefore, the control device can combine the external force data change and the current sudden change data, and through logical judgment, if the external force change and the current sudden change meet a certain threshold condition at the same time, it is determined that the robotic arm touches a rigid object. Moreover, combining the force data and the joint motor current sudden change can effectively improve the accuracy of the judgment. This method can simultaneously use external force sensors and motor feedback to provide multiple verifications and reduce the probability of misjudgment.

[0066] In this embodiment, the control device can determine whether the robotic arm touches the rigid body by combining the force data and the audio data. It is understandable that a rigid collision will generate high-frequency noise, which can be detected using a microphone or an ultrasonic sensor. Therefore, the control device can collect the audio signal when the robotic arm contacts through a microphone. The high-frequency noise component is then extracted through spectrum analysis (FFT transformation). If the high-frequency component exceeds a preset threshold and the sudden change in the force data also exceeds the preset threshold, it is considered that a rigid collision has occurred.

[0067] In this embodiment, the rigid body can be any object with high rigidity that the robot arm contacts during the execution of the task. Specifically, the rigid body can be a patient's bone, a medical device, a surgical tool, a medical examination device, a robot operating table, a hard support device, etc., or a wall.

[0068] Step S16: If the judgment is yes, adjust the current admittance parameter to a first target admittance parameter; wherein the first target admittance parameter is used to enable the robot arm to maintain a stable admittance parameter when touching a rigid body.

[0069] In this embodiment, the admittance parameter may be an inertia parameter, a damping parameter and a stiffness parameter. The admittance parameter may be a single parameter or a set of multiple parameters, for example, a parameter matrix. Specifically, the inertia parameter may be an inertia parameter diagonal matrix, the damping parameter may be a damping parameter diagonal matrix, and the stiffness parameter may be a stiffness parameter diagonal matrix. The first three elements of each of the three parameter diagonal matrices may represent the inertia, damping and stiffness of the three position directions of the Cartesian space, and the last three elements of each may represent the inertia, damping and stiffness of the three attitude directions of the Cartesian space.

[0070] In this embodiment, the admittance parameters may be a non-diagonal matrix. Specifically, the admittance parameters in the form of a non-diagonal matrix can represent the coupling relationship between the three parameters of inertia, damping and stiffness in various directions. For example, the force in a certain position direction may not only depend on the inertia in the position direction, but may also be affected by the inertia in other directions (such as the posture direction). Therefore, when there is coupling between inertia, damping or stiffness in various degrees of freedom, the use of a non-diagonal matrix can more accurately describe this coupling effect. For example, the rotation and displacement of the manipulator may affect each other, or in some complex environments, forces in multiple directions may act simultaneously. Therefore, the admittance parameters may be a non-diagonal matrix (such as a 6x6 matrix), which may include the coupling values ​​of the three parameters of inertia, damping and stiffness in multiple directions.

[0071] In this embodiment, the admittance parameter can also be expressed in the form of a transfer function. It can be understood that the transfer function is a mathematical model that describes the response of the system at different input frequencies. Therefore, the frequency characteristics of inertia, damping, and stiffness can be expressed by a frequency response function (FRF).

[0072] In this embodiment, in most cases, the current admittance parameter is not the first target admittance parameter, for example, it may be the second target admittance parameter, or other admittance parameters applicable to non-rigid bodies, such as a smaller admittance parameter. In this case, before the manipulator touches the rigid body, the control device of the manipulator may use the second target admittance parameter, but once it touches the rigid body, the control device adjusts the current admittance parameter to the first target admittance parameter.

[0073] In this embodiment, the first target admittance parameter is an admittance parameter set to ensure that the robotic arm maintains a stable motion state when the robotic arm contacts the rigid body. The first target admittance parameter may include admittance control parameters: inertia parameter, damping parameter and stiffness parameter. The three admittance control parameters determine the reaction and behavior of the robotic arm when it touches a rigid object.

[0074] Specifically, the inertia parameter is used to describe the mass characteristics of the manipulator, especially the acceleration response of the manipulator when subjected to an external force. When the manipulator contacts a rigid object, the control device can increase the inertia parameter to make the manipulator react more slowly and avoid oscillation or overshoot due to excessive acceleration. Therefore, the inertia parameter in the first target admittance parameter can be a larger inertia parameter, for example, the elements in the diagonal matrix of the inertia parameter are larger values.

[0075] The damping parameter determines the robot's response to changes in motion rate. It can adjust the energy dissipation rate of the robot under the action of external forces, affecting the smoothness and stability of the robot's movement. When the robot contacts a rigid object, the control device can increase the damping parameter. Increasing the damping helps reduce the vibration of the robot and enhances the stability of the robot, especially when there is a sudden external force interference or contact with a harder object.

[0076] The stiffness parameter determines the displacement response of the robot arm under the action of external force, that is, how the displacement of the robot arm changes when the external force changes. When the robot arm touches a rigid object, the control device can increase the stiffness parameter. A higher stiffness parameter can enable the robot arm to provide a larger reaction force when it touches a rigid object, thereby avoiding excessive displacement or deformation.

[0077] Therefore, the purpose of setting the first target admittance parameter is to maintain the stability of the robot arm when it contacts a rigid object. By increasing the inertia, damping and stiffness parameters, the robot arm can move more smoothly and avoid oscillation, overreaction or instability caused by collision with rigid objects.

[0078] In this embodiment, the first target admittance parameter may be pre-stored in a data table or a database. When the judgment is yes, the control device first determines the first target admittance parameter from the data table or the database, and then adjusts the current admittance parameter to the first target admittance parameter.

[0079] In this embodiment, the control device can also determine the first target admittance parameter through a mapping function, and then adjust the current admittance parameter to the first target admittance parameter. Specifically, the mapping function can be predefined, and the input external environment data (which can be force data, velocity data, posture data, etc.) can be mapped to a corresponding first target admittance parameter through the predefined mapping function. The mapping function can be a linear mapping (which can be a linear regression) or a nonlinear mapping (which can be an interpolation method or a curve-based mapping).

[0080] In this embodiment, the control device can also determine the first target admittance parameter through a machine learning model, and then adjust the current admittance parameter to the first target admittance parameter. Specifically, the machine learning model (which can be a regression model, a support vector machine, etc.) can predict and determine the first target admittance parameter based on the input external environment data (which can be force data, speed data, posture data, etc.).

[0081] In this embodiment, the control device may also determine a first target admittance parameter through a deep learning model, and then adjust the current admittance parameter to the first target admittance parameter.

[0082] Step S18: Determine whether the robot arm is continuously separated from the rigid body within a preset time window.

[0083] In this embodiment, the control device can continuously determine the force data applied by the external object on the robot arm. And continuously, based on the force data (external force vector data with at least one dimension), calculate the corresponding mutation data (the first-order differential vector of the external force vector data with respect to time, or the second-order or even higher-order differential vector of the external force vector data with respect to time), and then calculate the corresponding overall characterization data (module value) based on the mutation data. And compare the overall characterization data (module value) with the first threshold and the second threshold. The first threshold and the second threshold can be the same value or different values. For example, the first threshold can be greater than the second threshold.

[0084] If the integrity characterization data is greater than the first threshold, it indicates that the robotic arm has touched the rigid body. Correspondingly, if the integrity characterization data is less than the second threshold, it does not necessarily mean that the robotic arm has detached from the rigid body. Only within the preset time window, if the integrity characterization data is continuously less than the second threshold, it indicates that the robotic arm has detached from the rigid body or has been continuously detached from the rigid body.

[0085] Specifically, it is understood that when the robot arm is in contact with a rigid object, the change in external force is not always instantaneous, but may be gradual. Even if the robot arm is slowly separating from the rigid object, the rate of change of the external force may be slow, resulting in a temporary small first-order differential modulus value, and will not change immediately and significantly. For example, when the robot arm is in contact with the rigid object, the external force begins to decrease, but the rate of decrease may not be rapid, so the first-order differential modulus value may still be less than the second threshold. In the process of the robot arm separating from the rigid object, slight oscillation or vibration may cause temporary fluctuations in the external force, thereby causing a short-term small decrease in the first-order differential modulus value of the external force. This fluctuation does not necessarily mean that the robot arm has separated from the rigid object, but may only be caused by oscillation, adjustment of the motion trajectory of the robot arm, or external disturbance. In other words, these fluctuations will cause the rate of change of the external force to be temporarily small, but the actual robot arm has not completely separated from the rigid object. The second threshold is set to ensure that the judgment of separation from the rigid object is not affected by short-term fluctuations. If the first-order differential modulus value is lower than the second threshold for a long time, it means that the rate of change of the external force has dropped to near zero, and the contact between the robot arm and the rigid object should have disappeared or the contact is very weak. Only when the first-order differential modulus value is continuously less than the second threshold value within the preset time window, it indicates that the robot arm has truly separated from the rigid object. This can avoid misjudgment caused by instantaneous fluctuations or oscillations.

[0086] Therefore, in this embodiment, by introducing a time window, it helps to ensure that the detachment of the robot arm is continuous and stable, rather than a misjudgment caused by short-term force fluctuations. By continuously monitoring the rate of change of the external force within the time window, it is possible to more accurately determine whether the robot arm has detached from the rigid object.

[0087] Step S110: If the judgment is yes, adjust the current first target admittance parameter to a second target admittance parameter; wherein the second target admittance parameter is an admittance parameter for enabling the robotic arm to maintain compliance when the robotic arm is separated from the rigid body.

[0088] In this embodiment, the second target admittance parameter may include an admittance control parameter: an inertia parameter, a damping parameter, and a stiffness parameter. In this embodiment, the second target admittance parameter may be an admittance parameter that is smaller than the first target admittance parameter. It is understandable that when contacting a rigid object, the robotic arm requires a larger admittance parameter (first target admittance parameter) to maintain stability to prevent oscillation or instability of the robotic arm. However, once the robotic arm is separated from the rigid object, a smaller admittance parameter (second target admittance parameter) can be set to allow the robotic arm to interact flexibly with the environment. Therefore, by reducing the admittance parameter, the robotic arm can be made more compliant, and a more natural and smooth operating experience can be provided when touching a flexible object or interacting with the human body or a doctor, avoiding excessive reaction force.

[0089] The present embodiment provides a method for adjusting the admittance parameters of a manipulator, which can effectively solve the problem of inaccurate adjustment of the admittance parameters of the variable admittance control in the medical robot by dynamically adjusting the admittance parameters. Specifically, when the manipulator contacts an external rigid object (such as a patient's bone), firstly obtain the externally applied force data through step S12, and judge whether the manipulator touches the rigid body based on the data (step S14). After confirming that the manipulator contacts the rigid object, the admittance parameter is adjusted to the first target admittance parameter (step S16), which is specifically used to ensure that the manipulator maintains sufficient stability when contacting the rigid object, and avoids the manipulator oscillation or inaccurate operation due to unstable control or too fast reaction. Next, it is determined by step S18 whether the manipulator continues to detach from the rigid object, and in the case of confirming the detachment (step S110), the admittance parameter is adjusted to the second target admittance parameter, which is used to ensure that the manipulator maintains compliance after detaching from the rigid body, so that the manipulator can provide a smooth interactive experience when continuing to perform the operation.

[0090] This embodiment solves the problem of inaccurate adjustment of admittance parameters in the variable admittance control of existing medical robots by accurately switching admittance parameters. When the robotic arm contacts a rigid object, a larger admittance parameter is used to ensure stability and avoid excessive oscillation; after the robotic arm is separated from the rigid object, a smaller admittance parameter is adjusted to provide compliance, thereby achieving a smooth transition. Through this dynamic adjustment strategy, appropriate admittance parameters can be provided according to actual conditions at different times, avoiding instability or overreaction of the robotic arm caused by inaccurate adjustment of admittance parameters during the interaction process, thereby improving surgical accuracy, reducing the risk of patient injury, further optimizing the doctor's operating experience, and improving the safety and reliability of the medical robot.

[0091] In some embodiments, the force data includes external force vector data having at least one dimension; the step of determining the force data applied by the external object on the robotic arm includes:

[0092] Step S122: issuing a data acquisition request to a preset force sensor; wherein the data acquisition request is a request for acquiring external force vector data of the robotic arm.

[0093] In this embodiment, the control device may send a data acquisition request to the preset force sensor through a communication interface, which may be a serial communication (UART), I2C bus, SPI bus, Ethernet, CAN bus, etc.

[0094] In this embodiment, the force sensor may be a six-dimensional force sensor.

[0095] In this embodiment, the force sensor may be a joint torque sensor.

[0096] In this embodiment, the force sensor may also be a piezoelectric force sensor.

[0097] In this embodiment, the force sensor may also be a flexible pressure sensor.

[0098] Step S124: receiving the external force vector data returned by the force sensor.

[0099] This embodiment can accurately obtain real-time data of the external force acting on the manipulator by sending a data acquisition request to a preset force sensor and receiving the external force vector data returned by the force sensor. This process ensures that the interaction between the manipulator and the external object is accurately perceived, thereby providing a reliable basis for subsequent control decisions. Through accurate external force vector data, the control device can adjust the motion behavior of the manipulator in real time to ensure stable and efficient task execution in various operating scenarios, especially in medical robots and refined operations. Safety and accuracy are effectively guaranteed.

[0100] In some embodiments, the step of determining the force data applied by the external object on the robotic arm further includes:

[0101] Step S126: performing preset data preprocessing on the external force vector data returned by the force sensor to reduce or eliminate noise of the force sensor.

[0102] In this embodiment, the preset data preprocessing may be low-pass filtering, and the low-pass filtering is mainly used to eliminate the high-frequency noise that may be carried by the original six-dimensional external force vector to reduce the interference of sensor noise on the control. The required low-pass filtering effect can be achieved by using a moving average filter, or a FI R filter based on a square window, a triangular window, or a Hamming window, or a Butterworth type or Chebyshev type IIR filter, so there is no specific type restriction.

[0103] In this implementation, the preset data preprocessing may also be bandpass filtering, Kalman filtering, median filtering, and the like.

[0104] In this implementation, the preset data preprocessing may also be data smoothing processing.

[0105] In this implementation, the preset data preprocessing may also be wavelet transform processing.

[0106] This embodiment can effectively reduce or eliminate the noise from the force sensor by performing preset data preprocessing on the external force vector data returned by the force sensor. This process ensures the accuracy and stability of the data and provides more reliable external force perception information for the control device. By removing noise interference, the control device can more accurately evaluate the interaction state between the robot arm and the external object, thereby optimizing the control decision and avoiding unnecessary misoperation or control errors caused by noise, thereby improving the accuracy and safety of the robot arm operation, especially in high-precision applications such as precision tasks and medical robots, ensuring the efficient and stable operation of the robot arm.

[0107] In some embodiments, the step of performing preset data preprocessing on the external force vector data returned by the force sensor to reduce or eliminate noise of the force sensor includes:

[0108] Step S1262: Calculate the overall representation data of the external force vector data returned by the force sensor.

[0109] In this embodiment, the integrity characterization data may be a modulus value of external force vector data.

[0110] In this embodiment, the integrity characterization data may be a root mean square value. The control device may square the external force vector data, average it, and then take the square root to obtain the root mean square value.

[0111] In this embodiment, the integrity characterization data may be the maximum value of the external force vector data.

[0112] In this embodiment, the overall characterization data may be variance.

[0113] In this embodiment, the integrity characterization data may be the integrity characterization data of the force vector in the external force vector data, or the integrity characterization data of the external moment vector, or the integrity characterization data of the external force vector + the external moment vector.

[0114] Step S1264: Determine whether the integrity characterization data of the external force vector data is less than the dead zone control threshold.

[0115] In this embodiment, it can be determined whether the integrity characterization data of the external force vector is less than the dead zone control threshold. It can also be determined whether the integrity characterization data of the external torque vector is less than the dead zone control threshold. It can also be determined whether the integrity characterization data of the external force vector + the external torque vector is less than the dead zone control threshold.

[0116] Therefore, corresponding dead zone control thresholds may be set in advance for the integrity characterization data of the external force vector, the integrity characterization data of the external torque vector, and the integrity characterization data of the external force vector + the external torque vector.

[0117] In this embodiment, the dead zone control threshold is used to filter noise and avoid invalid responses caused by sensor errors, minor environmental interference or signal fluctuations. The dead zone control threshold can help determine whether the minor fluctuations collected by the sensor are noise. When the change in the external force signal is very small, it may be caused by the noise of the sensor or a minor disturbance of the overall system. At this time, the dead zone control threshold is used to identify these fluctuations as noise to avoid misjudging them as valid signals.

[0118] Therefore, in this embodiment, by setting the dead zone control threshold, it is possible to ensure that the control device only responds to significant external force signals and does not adjust small, meaningless signals. This helps to improve the stability of the overall system and avoid over-adjustment or erroneous operation due to small noise or external interference.

[0119] It is understandable that different sensors will have different noise levels. Therefore, in this embodiment, the appropriate dead zone control threshold can be set in advance according to the actual measurement error and noise characteristics. For example, if the sensor accuracy is higher, the dead zone control threshold can be set lower; conversely, when the accuracy is lower, the dead zone control threshold can be set higher. For example, based on past operation records, the external force fluctuation range during normal operation can be analyzed, and the dead zone control threshold can be set to a suitable value within the range. In some scenarios, the dead zone control threshold can be adjusted dynamically. By real-time monitoring of the output of the sensor and the changes in the external force, the control device can adaptively adjust the dead zone control threshold to cope with different working environments and signal changes. For example, a machine learning algorithm can be used to automatically optimize the setting of the dead zone control threshold.

[0120] Step S1266: When the integrity characterization data is less than the dead zone control threshold, the external force vector data corresponding to the integrity characterization data is determined as noise data.

[0121] In this embodiment, the case where the integrity characterization data is less than the dead zone control threshold may be: the case where the integrity characterization data of the external force vector is less than the dead zone control threshold. It may also be the case where the integrity characterization data of the external torque vector is less than the dead zone control threshold. It may also be the case where the integrity characterization data of the external force vector + the external torque vector is less than the dead zone control threshold.

[0122] Step S1268: When the integrity characterization data is greater than or equal to the dead zone control threshold, the external force vector data corresponding to the integrity characterization data is determined as non-noise data.

[0123] This implementation method effectively improves the reliability and accuracy of the force sensor data by introducing a judgment mechanism for the dead zone control threshold. By calculating the overall characterization data (such as modulus, root mean square, etc.) of the external force vector data, the control device can comprehensively evaluate the changing trend of the external force data. Then, combined with the dead zone control threshold, the control device can accurately identify and filter out tiny external force changes that have no practical significance, that is, noise data, thereby reducing misjudgments or erroneous reactions caused by noise. For valid external force data greater than or equal to the dead zone control threshold, the control device will further confirm that it is non-noise data and use it for subsequent control calculations. This method not only improves the effectiveness of the force sensor data and avoids the influence of irrelevant interference on the control system, but also enhances the stability and accuracy of the robotic arm in a complex dynamic environment, ensuring the efficient and stable operation of the overall system.

[0124] In some embodiments, the force data includes external force vector data having at least one dimension; and the step of determining whether the robotic arm touches a rigid body based on the force data includes:

[0125] Step S142: Perform forward difference calculation on the external force vector data to obtain the first-order differential vector of the external force vector data with respect to time.

[0126] Step S144: Based on the first-order differential vector, calculate the overall characterization data of the first-order differential vector.

[0127] In this implementation, the overall characterization data of the first-order differential vector may be a modulus value.

[0128] In this embodiment, the overall characterization data of the first-order differential vector may be a root mean square value. The control device may square the data of the first-order differential vector, average it, and then take the square root to obtain the root mean square value.

[0129] In this embodiment, the overall characterization data of the first-order differential vector may be the maximum value of the first-order differential vector.

[0130] Step S146: Determine whether the integrity characterization data is greater than or equal to a first threshold.

[0131] It is understandable that the external force vector data is a vector representing the external force applied to the robotic arm, which may include multiple dimensions (such as thrust, pull, torque, etc. in three-dimensional space). Forward difference calculation (step S142) can help calculate the first-order differential (rate of change) of the external force vector data in time, that is, the rate of change of the external force. This differential vector can reflect how fast the external force changes in time. When the robotic arm contacts a rigid object, the external force changes often more dramatically, and the amplitude of the differential vector will increase. Therefore, by calculating the rate of change of the external force, the first threshold can be used to measure this drastic change in external force.

[0132] In this embodiment, the first threshold value can be determined by an experimental method by measuring the rate of change of the external force data under different conditions (for example, when the robot arm contacts a rigid object and when it contacts a flexible object), and finding a critical value, exceeding which it can be considered that a rigid collision has occurred.

[0133] In this embodiment, since different operating environments (eg, contact with different rigid objects) may result in different rates of change of the external force, the first threshold value may also be dynamically adjusted according to real-time data.

[0134] Step S148: When the value is greater than or equal to the first threshold, it is determined that the robot arm touches the rigid body.

[0135] This embodiment performs a forward difference calculation on the external force vector data to obtain the time first-order differential vector of the external force vector, and then calculates its overall characterization data and compares it with the first threshold value to determine whether the robotic arm touches the rigid body. This process can accurately detect the rate of change of the external force and effectively identify the contact state between the robotic arm and the rigid object. By introducing the judgment of the first-order differential vector and the overall characterization data, the response sensitivity to external contact can be improved, and the misjudgment caused by short-term fluctuations in the external force signal can be reduced, ensuring that the robotic arm has higher stability and reliability when interacting with external objects, especially in the field of medical robots and precision control, which can effectively prevent operational instability or danger caused by collisions and improve the accuracy and safety of the robotic arm.

[0136] In some embodiments, the step of determining whether the robotic arm continuously separates from the rigid body within a preset time window includes:

[0137] Step S182: Determine whether the integrity characterization data is continuously smaller than a second threshold value within a preset time window; wherein the second threshold value is smaller than or equal to the first threshold value.

[0138] In this embodiment, the control device continuously monitors the integrity characterization data within a preset time window to determine whether it is always less than the second threshold. The integrity characterization data can be a modulus, root mean square value or maximum value calculated based on the first-order differential vector (external force change rate) of the external force vector, which is used to measure the change trend of the external force. The second threshold can be set to a lower value (which can be less than or equal to the first threshold) to distinguish between significant external force changes when the robot arm contacts the rigid body and a stable state after leaving the rigid body.

[0139] Step S184: when the integrity characterization data is continuously smaller than a second threshold value within a preset time window, it is determined that the robot arm is continuously separated from the rigid body.

[0140] In this embodiment, once it is confirmed that the integrity characterization data is always lower than the second threshold value throughout the entire time window, the control device will determine that the robot arm has been continuously separated from the rigid body, that is, it is no longer affected by the external force of the rigid object. This means that the external force change of the robot arm has entered a stable, low-vibration state and is no longer affected by the rigid body. The admittance parameters can be safely adjusted to allow the robot arm to enter a compliant mode or perform a new operation task. The key role of this step is to ensure that the robot arm will not be misjudged as still in contact with the rigid body due to short-term force fluctuations or sensor errors after it is separated from the rigid body. By introducing the continuous judgment of the time window, misjudgment caused by short-term fluctuations in external force or signal noise is avoided, the stability and accuracy of the robot arm control are improved, and a smooth transition of the robot arm control is ensured.

[0141] In this embodiment, the size of the time window can be adjusted through experiments. A longer time window can increase the accuracy of judging the stable state, while a shorter time window can quickly respond to the disengagement state of the robot arm.

[0142] This implementation effectively improves the accuracy of the judgment of the contact state between the robot arm and the rigid body by introducing a judgment mechanism of a preset time window and a second threshold. When the robot arm contacts a rigid object, the change in external force is often more drastic, but after leaving the rigid object, the change in external force may gradually decrease. By judging whether the overall characterization data is continuously less than the second threshold within the preset time window, it is possible to avoid misjudging that the robot arm is no longer in contact with the rigid body due to short-term external force fluctuations or vibrations of the robot arm control system.

[0143] This method ensures that the external force change reaches a stable state after the robotic arm separates from the rigid object, reduces misjudgment caused by instantaneous disturbances or interference, thereby improving the stability and accuracy of the judgment, and avoids the robotic arm being misjudged as a non-contact state when it is still in contact with the rigid body, further improving the accuracy and safety of the operation.

[0144] In some implementations, the step of adjusting the current admittance parameter to the first target admittance parameter includes:

[0145] Step S162: Determine the first target admittance parameter.

[0146] In this implementation, the first target admittance parameter may be determined in the following manner:

[0147] Based on the force data, a first target admittance parameter can be determined from a preset data container; wherein the data container includes a data table, a database, a mapping function or a machine learning model.

[0148] Specifically, the force data may be input into a preset data container, thereby determining the first target admittance parameter.

[0149] In this implementation, the first target admittance parameter may also be determined in the following manner:

[0150] Based on the force data and other data (speed, acceleration, etc.) collected by the sensor, combined with the dynamic model of the robotic arm, the first target admittance parameter is calculated.

[0151] In this embodiment, the admittance parameters may also be determined based on historical operation data and environmental conditions by presetting empirical rules or expert systems.

[0152] Step S164: using a preset smooth switching method to smoothly switch the current admittance parameter to the first target admittance parameter.

[0153] In this implementation, the preset smooth switching method may be Bang-Bang switching, trapezoidal switching, S-shaped switching, trigonometric function switching, exponential function switching, or the like.

[0154] In this implementation, the preset smooth switching method may be linear switching, cosine switching, sliding mode switching, step function switching, or the like.

[0155] This implementation method can avoid the instability of the robot arm or the violent reaction of the robot arm due to parameter mutation when adjusting the current admittance parameter to the first target admittance parameter by introducing a smooth switching method. By using the preset smooth switching method, the admittance parameter can be adjusted smoothly, so that the robot arm can smoothly transition to the desired stable state when in contact with the rigid body, reducing oscillation, overshoot or unnecessary vibration. This method improves the stability and accuracy of the response, ensuring that the robot arm adapts to environmental changes more smoothly and reliably during the execution of the task, especially in precision control applications such as medical robots, effectively improving the operating accuracy, reducing errors, and enhancing the overall safety and operability.

[0156] In some implementations, the step of determining the first target admittance parameter includes:

[0157] Step S1622: Based on the force data, determine a first target admittance parameter from a preset data container; wherein the data container includes a data table, a database, a mapping function or a machine learning model.

[0158] In this embodiment, the data container may be a data table, which may list the admittance parameter values ​​(inertia, damping, stiffness) corresponding to different force data. When the control device determines the force data, the corresponding first target admittance parameter may be quickly searched and extracted.

[0159] In this embodiment, the data container may be a database, in which the corresponding relationship between multiple characteristics (eg, magnitude, direction, rate of change, etc.) of the force data and multiple admittance parameter values ​​may be directly stored.

[0160] In this embodiment, the data container may be a mapping function, and a mathematical function or a mapping function may be used to map the relationship between the force data and the target admittance parameter. Through a pre-set mapping function, the force data may be mapped to obtain a corresponding admittance parameter value through a function. The mapping function may be a linear mapping, an interpolation method, a regression function, etc.

[0161] In this embodiment, the machine learning model can be pre-trained with historical data (historical force data and corresponding first target admittance parameters), and the trained machine learning model can be used to predict and determine the appropriate first target admittance parameters based on real-time force data input.

[0162] This implementation method can achieve efficient and accurate adjustment of the admittance parameters by determining the first target admittance parameter from a preset data container based on the force data. The use of a data container can quickly match the optimal admittance parameters under the current external force conditions based on large-scale data storage and historical data analysis. This method not only improves the accuracy of parameter determination, but also can flexibly adjust the control strategy according to real-time external force data to ensure that the robotic arm can adapt to various operating environments. In addition, by determining the first target admittance parameter through a preset data container, the complexity of manual adjustment or calculation process is avoided, the response delay of the control device to environmental changes is reduced, and the stability and efficiency of the control device are improved.

[0163] like Figure 2 As shown, this embodiment provides a method for generating a robot arm posture instruction, the execution subject of the method may be a control device of the robot arm, and the method includes:

[0164] Step S22: Determine the current posture information and expected posture information of the robot arm.

[0165] In this embodiment, the control device can determine the current posture information of the robot arm through the position sensor and the encoder.

[0166] In this embodiment, the control device can also determine the current posture information of the robotic arm through vision and depth sensors.

[0167] In this embodiment, the control device can determine the desired posture information of the robot arm based on the user's input or control instructions.

[0168] In this embodiment, the control device may also determine the desired posture information of the robotic arm based on a preset path planning algorithm.

[0169] Step S24: Based on the current posture information and the expected posture information, the speed deviation data and posture deviation data of the robot arm are calculated.

[0170] In this embodiment, the control device can perform a first-order differential calculation on the current posture information to obtain the actual speed of the robot arm.

[0171] The control device can perform first-order differential calculation on the expected posture information to obtain the expected speed of the robot arm, and then calculate the speed deviation data of the robot arm based on the actual speed of the robot arm and the expected speed of the robot arm.

[0172] In this embodiment, the control device can directly calculate the posture deviation data based on the current posture information and the expected posture information.

[0173] Step S26: Generate a posture instruction of the robot arm based on the speed deviation data, posture deviation data and current admittance parameters; wherein the current admittance parameters are obtained by the method for adjusting the admittance parameters of the robot arm provided in the above embodiment.

[0174] In this embodiment, the acceleration-level admittance control law can be first adopted. Based on this acceleration-level admittance control law, the control device can calculate the acceleration deviation of the robot arm at the next moment (for example, moment t+Δt, where Δt is the control period of the admittance control) based on the velocity deviation data, posture deviation data, current admittance parameters, and force data (six-dimensional force vector data) detected by the force sensor.

[0175] Then, the control device can calculate the speed deviation data at the next moment according to the acceleration deviation of the robot arm at the next moment and the speed deviation data at the current moment.

[0176] Next, the control device may calculate the posture deviation data at the next moment based on the speed deviation data at the next moment and the posture deviation data at the current moment.

[0177] Finally, the control device can generate a posture instruction of the robot arm at the next moment based on the posture deviation data at the next moment. The posture instruction is used to control the robot arm to perform position movement so that the robot arm can achieve the specified inertia-damping-stiffness interaction characteristics.

[0178] This embodiment achieves accurate generation of the robot arm posture instructions by comprehensively considering the current posture information, the desired posture information, the speed deviation data, the posture deviation data and the current admittance parameters. By calculating the deviation between the current and desired postures, the control device can adjust the motion state of the robot arm in real time to ensure that it performs the task according to the predetermined trajectory. In addition, the current admittance parameters—adjusted by the previous steps—ensure that the robot arm maintains appropriate compliance and stability when interacting with the environment. This method not only improves the accuracy and response speed of the robot arm control, but also enhances the adaptability of the control device, enabling the robot arm to perform tasks more accurately in dynamic and complex operating environments, and is particularly suitable for application scenarios that require high precision and stability, such as medical robot application scenarios.

[0179] In a specific embodiment, an admittance control scheme is provided.

[0180] set up It is a 6×1 column vector, representing the Cartesian space posture vector. It is easy to know that its first-order derivative represents the Cartesian space velocity vector and the second-order derivative represents the Cartesian space acceleration vector.

[0181] According to the following formula, the motion information deviation of the robot arm in Cartesian space is calculated:

[0182]

[0183] in, is the speed deviation of the robot arm at time t, is the actual speed of the robot at time t (which can be calculated by the first-order differential of the actual position of the robot), is the expected velocity of the robot at time t (which can be calculated by the first-order differential of the expected position of the robot); is the position deviation of the robot arm at time t, is the actual position of the robot arm at time t, is the expected position of the robot at time t.

[0184] According to the motion information deviation, the acceleration level admittance control law is as follows:

[0185]

[0186] Among them, M is a 6×6 inertia parameter diagonal matrix, B is a 6×6 damping parameter diagonal matrix, and K is a 6×6 stiffness parameter diagonal matrix. The first three elements of each of these three parameter diagonal matrices represent the inertia, damping, and stiffness in the three position directions of Cartesian space, and the last three elements of each represent the inertia, damping, and stiffness in the three attitude directions of Cartesian space. In order to ensure the isotropy of control, the same inertia, damping, and stiffness parameters are usually used in the position and attitude dimensions. The diagram is as follows:

[0187]

[0188] M p Denotes the Cartesian space position inertia, M a represents the Cartesian space attitude inertia;

[0189]

[0190] B p represents the Cartesian space position damping, B a represents the Cartesian space attitude damping;

[0191]

[0192] K p represents the Cartesian space position stiffness, K a Represents the Cartesian space attitude stiffness.

[0193] is the six-dimensional external force vector after dead zone control and low-pass filtering at time t, which is a 6×1 column vector, where the first three elements represent the external forces in the three position directions of Cartesian space, and the last three elements represent the external torques in the three attitude directions of Cartesian space. Δt is the control period of admittance control, is the calculated acceleration deviation of the robot arm at time t+Δt.

[0194] According to the motion information deviation at time t and the acceleration deviation of the manipulator at time t+Δt, the command pose generation strategy with admittance control is as follows:

[0195]

[0196] in, It is the command position output of the robot arm at time t+Δt, which is used to control the position movement of the robot arm so that the robot arm can achieve the specified inertia-damping-stiffness interaction characteristics.

[0197] It is understandable that the above Or ⊕ symbol, indicating the difference and sum of Cartesian space posture. This is because, when calculating the difference and sum of Cartesian space position, addition and subtraction can be used directly; while when calculating the difference and sum of Cartesian space posture, it is necessary to use the posture difference and sum method to calculate. In specific implementation, the difference and sum of Cartesian space posture can be calculated by quaternion method, axis angle method or rotation matrix method, and there is no type restriction here.

[0198] When the robot suddenly contacts a rigid object in the environment or is subject to sudden external interference, the six-dimensional external force it is subjected to will change significantly in a short period of time. According to the aforementioned acceleration-level admittance control law, the change of the six-dimensional external force in a short period of time will cause the acceleration to change in a short period of time. This will cause the jerk amplitude of the motion to increase, which will lead to control oscillation and instability.

[0199] Therefore, the present invention proposes to monitor the change of the six-dimensional external force on the robot arm over time, and then judge the current state; according to different states, dynamically adjust the admittance parameters to realize the solution of variable admittance parameter calculation. The details are as follows:

[0200] First, use the forward difference method to calculate the first-order differential vector of the six-dimensional external force vector with respect to time after processing at time t:

[0201]

[0202] The first-order differential vector of the six-dimensional external force vector with respect to time after processing at time t can be obtained: It is not difficult to see that the first-order differential vector of the six-dimensional external force vector with respect to time is It is also a 6×1 column vector, which can reflect the processed six-dimensional external force vector Changes over time. Assume:

[0203]

[0204] The first three variables represent the first-order differentials of the external force in the three position directions of Cartesian space with respect to time, and the last three variables represent the first-order differentials of the external torque in the three posture directions of Cartesian space with respect to time. Calculate the modulus of the first-order differential of the external force / torque with respect to time:

[0205]

[0206] Among them, ΔF is the modulus of the first-order differential of the external force with respect to time, and ΔT is the modulus of the first-order differential of the external torque with respect to time. The modulus of the first-order differential of the external force / external torque with respect to time is obtained.

[0207] According to Figure 3 The logic shown here determines whether the current state is normal or disturbed in two dimensions: position / attitude:

[0208] The principle of state judgment is shown as follows Figure 4 and Figure 5 For the judgment of entering the disturbed state and leaving the disturbed state, if a higher modulus threshold is used when entering the disturbed state and a lower modulus threshold is used when leaving the disturbed state, the accuracy and stability of the judgment can be increased, such as Figure 4 As shown. The same modulus threshold can also be used for simplification, such as Figure 5 shown.

[0209] The reason why a preset stabilization time is required is that during the interference stage, the modulus of the first-order differential of the external force / torque with respect to time may be repeatedly greater than or less than the preset modulus threshold. If it is only considered that it is in a disturbed state when it is greater than the threshold and in a normal state when it is less than the threshold, the result judged in a short period of time will change repeatedly between the two states, thus causing unstable control. The state judgment logic proposed in the present invention can ensure that the state switching is performed only after the last time it is less than the separation threshold and after the preset stabilization time, thereby ensuring the stability of the system on the basis of correct judgment.

[0210] Figure 6 This is an example of state judgment, where the black solid line represents the modulus of the first-order differential of the external force with respect to time, and the rising part of the black dotted line represents the judgment of the interference state. The entry and exit thresholds used are both 500N / s, and the preset stabilization time is 100ms.

[0211] After correctly judging the current state, the variable admittance parameter control can be performed by dynamically adjusting the admittance parameter. That is, according to the state judged by ΔF, M is dynamically adjusted. p , B p , K p According to the state determined by ΔT, M is dynamically adjusted. a , B a , K a When in a normal state, low admittance parameters (smaller M, B, K values) are used to quickly respond to changes in external forces / torques, making the interaction of admittance control softer; when in a disturbed state, it is considered that the robot arm is in contact with a rigid environment (including the oscillating state after it has not yet broken contact), or the robot arm is subject to sudden external interference, and high admittance parameters (larger M, B, K values) are used to reduce the sensitivity to changes in external forces / torques and increase the stability of admittance control.

[0212] As mentioned above, It is the six-dimensional external force vector after dead zone control and low-pass filtering at time t.

[0213] The original six-dimensional external force vector is obtained:

[0214] The original six-dimensional external force vector before processing can be obtained by collecting it through a six-dimensional force sensor, subtracting the sensor zero point, and compensating for the load gravity. Or, it can be calculated by multiplying the inverse of the Jacobian matrix transpose of the robot arm with the measurement value of the external torque sensor of the robot arm joint. This purpose can be achieved by using conventional methods such as these, so the present invention does not impose any restrictions on the way to obtain the original six-dimensional external force vector.

[0215] Dead zone control:

[0216] like Figure 7 As shown, the dead zone control is mainly used to eliminate the static oscillation of the system that may be introduced by the tiny noise near the zero value of the original six-dimensional external force vector. It can indirectly set the start / stop threshold of the admittance control, optimize the control effect of the entire system, and improve the stability. In layman's terms, it is to set the modulus of the force / torque in the original six-dimensional external force vector. Only after it exceeds a certain dead zone threshold, the force / torque information is considered valid. That is, in the original six-dimensional external force vector, if the force modulus is less than the dead zone threshold of the force modulus, the force is considered to be white noise and it is cleared to zero, otherwise its original value is output; if the torque modulus is less than the dead zone threshold of the torque modulus, the torque is considered to be white noise and it is cleared to zero, otherwise its original value is output. The input-output relationship of the dead zone control is shown in the figure below. Figure 7 shown.

[0217] The specific value of the dead zone threshold can generally be set to 2N (force modulus value) and 0.5N / m (torque modulus value). Considering that the accuracy and resolution of the sensor equipment used may be different, no specific value restriction is made here.

[0218] Low pass filtering:

[0219] The low-pass filter is mainly used to eliminate the high-frequency noise that may be carried by the original six-dimensional external force vector, so as to reduce the interference of sensor noise on the control. The required low-pass filtering effect can be achieved by using a moving average filter, or an FIR filter based on a square window, a triangular window, or a Hamming window, or a Butterworth type or Chebyshev type IIR filter, so there is no specific type restriction.

[0220] According to an embodiment of the present invention, an electronic device is provided. Figure 8 The electronic device in this embodiment may include one or more of the following components: a processor, a network interface, a memory, a non-volatile memory, and one or more applications, wherein the one or more applications may be stored in the non-volatile memory and configured to be executed by one or more processors, and the one or more programs are configured to execute the method described in the aforementioned method embodiment.

[0221] According to an embodiment of the present invention, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a computer, the computer executes the method described in any of the above embodiments.

[0222] According to an embodiment of the present invention, a computer program product including instructions is further provided. When the instructions are executed by a computer, the computer executes a switch switching strategy execution method in any of the above embodiments.

[0223] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0224] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.

[0225] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0226] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0227] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A method for adjusting the admittance parameters of a robot arm, characterized in that: The method comprises: Determine the force data exerted by the external object on the robot arm; Based on the force data, determining whether the robotic arm touches a rigid body; If the judgment is yes, the current admittance parameter is adjusted to a first target admittance parameter; wherein the first target admittance parameter is used to enable the robot arm to maintain a stable admittance parameter when touching the rigid body; Determining whether the robotic arm is continuously separated from the rigid body within a preset time window; If the judgment is yes, the current first target admittance parameter is adjusted to a second target admittance parameter; wherein the second target admittance parameter is an admittance parameter used to enable the robotic arm to maintain compliance when the robotic arm is separated from the rigid body.

2. The method according to claim 1, characterized in that The force data includes external force vector data having at least one dimension; the step of determining the force data applied by the external object on the mechanical arm includes: Sending a data acquisition request to a preset force sensor; wherein the data acquisition request is a request for acquiring external force vector data of the robotic arm; The external force vector data returned by the force sensor is received.

3. The method according to claim 2, characterized in that The step of determining the force data applied by the external object on the mechanical arm also includes: A preset data preprocessing is performed on the external force vector data returned by the force sensor to reduce or eliminate the noise of the force sensor.

4. The method according to claim 3, characterized in that The step of performing preset data preprocessing on the external force vector data returned by the force sensor to reduce or eliminate the noise of the force sensor includes: Calculate the overall representation data of the external force vector data returned by the force sensor; Determining whether the integrity representation data of the external force vector data is less than a dead zone control threshold; When the integrity characterization data is less than the dead zone control threshold, the external force vector data corresponding to the integrity characterization data is determined as noise data; When the integrity characterization data is greater than or equal to the dead zone control threshold, the external force vector data corresponding to the integrity characterization data is determined as non-noise data.

5. The method according to claim 1, characterized in that The force data includes external force vector data having at least one dimension; the step of determining whether the robotic arm touches a rigid body based on the force data includes: For the external force vector data, a forward difference calculation is performed to obtain a first-order differential vector of the external force vector data with respect to time; Based on the first-order differential vector, calculating the overall characterization data of the first-order differential vector; Determining whether the integrity characterization data is greater than or equal to a first threshold; When the value is greater than or equal to the first threshold, it is determined that the robot arm touches the rigid body.

6. The method according to claim 5, characterized in that The step of determining whether the robotic arm is continuously separated from the rigid body within a preset time window includes: Determine whether the integrity characterization data is continuously less than a second threshold within a preset time window; wherein the second threshold is less than or equal to the first threshold; When the integrity characterization data is continuously smaller than the second threshold value within a preset time window, it is determined that the robot arm is continuously separated from the rigid body.

7. The method according to claim 1, characterized in that The step of adjusting the current admittance parameter to the first target admittance parameter comprises: determining a first target admittance parameter; The preset smooth switching method is used to smoothly switch the current admittance parameter to the first target admittance parameter.

8. The method according to claim 7, characterized in that The step of determining the first target admittance parameter comprises: Based on the force data, a first target admittance parameter is determined from a preset data container; wherein the data container includes a data table, a database, a mapping function or a machine learning model.

9. A method for generating a robot arm posture instruction, characterized in that: The method comprises: Determine the current posture information and expected posture information of the robot arm; Based on the current posture information and the expected posture information, calculating the speed deviation data and the posture deviation data of the robot arm; Based on the speed deviation data, posture deviation data and current admittance parameters, a posture instruction of the robot arm is generated; wherein the current admittance parameter is obtained by a method for adjusting the admittance parameter of the robot arm as described in any one of claims 1-8.

10. An electronic device, characterized in that: include: a memory, and one or more processors communicatively coupled to the memory; Instructions executable by the one or more processors are stored in the memory. The instructions are executed by the one or more processors to enable the one or more processors to implement the method according to any one of claims 1 to 8.