Medical robot control method and device and medical robot
By obtaining the current motion information and force sensor data of the medical robot robot robot robot arm, performing gravity compensation and calculating the target friction feedforward value, the control accuracy and success rate of the medical robot during the smooth dragging process is solved, and more efficient robot arm operation is achieved.
Patent Information
- Application Number
- CN202311847133.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-27
- Publication Date
- 2025-06-27
AI Technical Summary
The prior art is difficult to meet the control accuracy and control success rate of medical robots during the smooth dragging process, making it difficult for the robotic arm to drag smoothly away from the patient or to a designated area.
By detecting that the robot arm is in a flexible drag state, the current motion information and force sensor data of the target joint are obtained, gravity compensation is performed, and the calculation strategy of the target friction feedforward value is determined based on the joint motion information to improve control accuracy.
Improves control accuracy and control success rate for smooth drag of the robotic arm, ensuring that doctors or technicians can operate the robotic arm freely.
Smart Images

Figure CN120203788A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of medical robots, and particularly relates to a medical robot control method, device and medical robot. Background Art
[0002] Currently, in medical robots guided by medical images, such as Computed Tomography (CT) images, to improve the control efficiency of medical robots or deal with abnormal scenarios, the robotic arm of a medical robot needs to have a compliant dragging function so that doctors or technicians can freely drag the robotic arm away from the patient or drag it to a specified area.
[0003] However, the current related technologies are difficult to meet the actual needs, reducing the control accuracy and control success rate of compliant dragging of medical robots. Summary of the Invention
[0004] Embodiments of this application provide a medical robot control method, device and medical robot, which improve the calculation accuracy of the target friction force feedforward value of the target joint, and further improve the control accuracy and control success rate of compliant dragging of the robotic arm.
[0005] In a first aspect, embodiments of this application provide a medical robot control method, including:
[0006] When it is detected that the robotic arm of the medical robot is in a compliant dragging state, obtain the current motion information of the target joint of the robotic arm, and obtain the current data collected by the force sensor arranged on the robotic arm;
[0007] Perform gravity compensation on the robotic arm according to the current motion information and current data of the target joint to obtain target data;
[0008] Determine a calculation strategy for the target friction force feedforward value of the target joint according to the current motion information of the target joint, or determine a calculation strategy for the target friction force feedforward value of the target joint according to the current motion information and target data of the target joint;
[0009] Based on the calculation strategy, obtain the target friction force feedforward value of the target joint;
[0010] Control the robotic arm based on the target friction force feedforward value of the target joint.
[0011] A medical robot control method provided by an embodiment of the present application. When it is detected that the robotic arm of the medical robot is in a compliant dragging state, the current motion information of the target joint of the robotic arm is acquired, and the current data collected by a force sensor disposed on the robotic arm is acquired. According to the current motion information of the target joint and the current data, gravity compensation is performed on the robotic arm to obtain target data. According to the current motion information of the target joint, a calculation strategy for the target frictional force feedforward value of the target joint is determined, or according to the current motion information of the target joint and the target data, a calculation strategy for the target frictional force feedforward value of the target joint is determined. Based on the calculation strategy, the target frictional force feedforward value of the target joint is obtained. Based on the target frictional force feedforward value of the target joint, the robotic arm is controlled. Compared with the prior art, this method can flexibly determine the calculation strategy for the target frictional force feedforward value of the target joint according to the current motion information of the target joint, or the current motion information of the target joint and the target data, thereby improving the calculation accuracy of the target frictional force feedforward value of the target joint, and further improving the control accuracy and control success rate of compliant dragging of the robotic arm.
[0012] In a possible implementation manner of the first aspect, the number of target joints is at least one; the current motion information of the target joint includes the joint speed of the target joint; determining a calculation strategy for the target frictional force feedforward value of the target joint according to the current motion information of the target joint includes:
[0013] For any one of the target joints, when the absolute value of the joint speed of any one of the target joints is less than or equal to a set threshold, determining the calculation strategy for the target frictional force feedforward value of any one of the target joints as the first strategy; the first strategy is a strategy for calculating the target frictional force feedforward value of the target joint according to the target data and the current motion information;
[0014] For any one of the target joints, when the absolute value of the joint speed of any one of the target joints is greater than the absolute value of the set threshold, determining the calculation strategy for the target frictional force feedforward value of any one of the target joints as the second strategy; the second strategy is a strategy for calculating the target frictional force feedforward value of the target joint based on the joint speed of the target joint.
[0015] In the above implementation manner, for any one of the target joints, the medical robot can accurately determine the calculation strategy for the target frictional force feedforward value of the target joint according to the joint speed of the target joint, thereby improving the calculation accuracy of the target frictional force feedforward value of any one of the target joints.
[0016] In a possible implementation manner of the first aspect, the number of target joints is at least one; the current motion information of the target joint includes the joint speed of the target joint; determining a calculation strategy for the target frictional force feedforward value of the target joint according to the current motion information of the target joint and the target data includes:
[0017] Calculate the initial friction feedforward value of each target joint based on the target data;
[0018] For any one of the target joints, when the joint speed of any one of the target joints is less than or equal to the set threshold, determine that the calculation strategy for the target friction feedforward value of any one of the target joints is the third strategy; the third strategy is the strategy of determining the initial friction feedforward value of the target joint as the target friction feedforward value of the target joint;
[0019] For any one of the target joints, when the absolute value of the joint speed of any one of the target joints is greater than the absolute value of the set threshold, determine that the calculation strategy for the target friction feedforward value of any one of the target joints is the second strategy; the second strategy is the strategy of calculating the target friction feedforward value of the target joint based on the joint speed of the target joint.
[0020] In the above implementation, the medical robot can calculate the initial friction feedforward value of each target joint according to the target data. After that, for any one of the target joints, the medical robot can determine whether the initial friction feedforward value of the target joint can be directly determined as the target friction feedforward value of the target joint in combination with the joint speed of the target joint, thereby improving the calculation accuracy of the target friction feedforward value of the target joint and the working efficiency of the medical robot.
[0021] In an implementation of the first aspect, the current motion information of the target joint includes the joint angle of the target joint; based on the calculation strategy, obtaining the target friction feedforward value of the target joint includes:
[0022] When the calculation strategy is the first strategy of calculating the target friction feedforward value of the target joint according to the target data and the current motion information, determine the structural type of the robotic arm;
[0023] According to the structural type, determine the calculation method for the target friction feedforward value of the target joint;
[0024] Based on the calculation method, calculate according to the target joint angle and the target data to obtain the target friction feedforward value of the target joint.
[0025] In the above implementation, when the calculation strategy is the first strategy, the medical robot can accurately determine the calculation method of the target friction feedforward value of the target joint according to the structural type of the robotic arm, thereby improving the calculation accuracy of the target friction feedforward value of the target joint when the calculation strategy is the first strategy.
[0026] In an implementation of the first aspect, the current motion information of the target joint includes the joint speed of the target joint; based on the calculation strategy, obtaining the target friction feedforward value of the target joint includes:
[0027] When the calculation strategy is the second strategy of calculating the target friction feedforward value of the target joint based on the joint velocity of the target joint, determine the direction corresponding to the joint velocity of the target joint according to the joint velocity of the target joint;
[0028] Calculate the target friction feedforward value of the target joint according to the joint velocity of the target joint and the direction corresponding to the joint velocity of the target joint.
[0029] In the above implementation manner, when the calculation strategy is the second strategy, the medical robot can accurately determine the target friction feedforward value of the target joint according to the joint velocity of the target joint, thereby improving the calculation accuracy of the target friction feedforward value of the target joint when the calculation strategy is the second strategy.
[0030] In an implementation manner of the first aspect, controlling the robotic arm based on the target friction feedforward value of the target joint includes:
[0031] Calculate the torque feedforward value of the target joint based on the current motion information of the target joint;
[0032] Determine other feedforward values of the target joint according to the scenario where the robotic arm is located; wherein, the other feedforward values refer to the feedforward values generated by the target joint based on the required set requirements;
[0033] Calculate the total feedforward value of the target joint according to the target friction feedforward value of the target joint, the torque feedforward value of the target joint, and the other feedforward values of the target joint;
[0034] Control the robotic arm according to the total feedforward value of the target joint.
[0035] In the above implementation manner, the medical robot can realize the compliant dragging control of the robotic arm according to the target friction feedforward value, torque feedforward value, and other feedforward values of the target joint, thereby improving the control accuracy of the compliant dragging of the robotic arm.
[0036] In an implementation manner of the first aspect, determining other feedforward values of the target joint according to the scenario where the robotic arm is located includes:
[0037] Determine the parameters that the target joint needs to be restricted according to the scenario;
[0038] Obtain the limit threshold and actual data corresponding to the parameters that need to be restricted;
[0039] Calculate the feedforward value corresponding to the parameter that needs to be restricted according to the limit threshold and the actual data, and use it as the other feedforward value of the target joint.
[0040] In the above embodiments, the medical robot can accurately determine the parameters that need to be restricted for the target joint according to the scenario where the robotic arm is located, and calculate the feedforward value corresponding to the parameter, improving the calculation accuracy of other feedforward values for the target joint.
[0041] In one embodiment of the first aspect, whether the robotic arm is in the compliant dragging state is determined as follows:
[0042] When it is detected that a preset control is triggered, it is determined that the robotic arm is in the compliant dragging mode;
[0043] Under the condition that the robotic arm is in the compliant dragging mode, if it is detected that the setting device for controlling the movement of the robotic arm is in the first working state, it is determined that the robotic arm is in the compliant dragging state.
[0044] In the above embodiments, only when it is detected that the preset control is triggered and the setting device for controlling the movement of the robotic arm is in the first working state, will it be determined that the robotic arm is in the compliant dragging state, improving the determination accuracy of the robotic arm being in the compliant dragging state.
[0045] In one embodiment of the first aspect, after controlling the robotic arm based on the target friction force feedforward value of the target joint, it further includes:
[0046] If it is detected that the setting device is in the second working state, the robotic arm is controlled to be in a stationary state through the setting device.
[0047] In the above embodiments, the medical robot can, when the setting device is in the second working state, timely and quickly control the robotic arm to be in a stationary state through the setting device, improving the control accuracy and control rate of the robotic arm being in a stationary state.
[0048] In a second aspect, an embodiment of the present application provides a medical robot control device, including:
[0049] A first acquisition unit, configured to acquire the current motion information of the target joint of the robotic arm and the current data collected by a force sensor provided on the robotic arm when it is detected that the robotic arm of the medical robot is in the compliant dragging state;
[0050] A compensation unit, configured to perform gravity compensation on the robotic arm according to the current motion information and the current data of the target joint to obtain target data;
[0051] A first strategy determination unit, configured to determine a calculation strategy for the target friction force feedforward value of the target joint according to the current motion information of the target joint, or determine a calculation strategy for the target friction force feedforward value of the target joint according to the current motion information and the target data of the target joint;
[0052] A first calculation unit for obtaining a target friction force feedforward value of a target joint based on a calculation strategy;
[0053] A first control unit for controlling the robotic arm based on the target friction force feedforward value of the target joint.
[0054] In an implementation manner of the second aspect, the number of target joints is at least one; the current motion information of the target joint includes the joint velocity of the target joint; the first strategy determination unit specifically includes:
[0055] A second strategy determination unit for, for any one target joint, when the absolute value of the joint velocity of any one target joint is less than or equal to a set threshold, determining that the calculation strategy of the target friction force feedforward value of any one target joint is a first strategy; the first strategy is a strategy for calculating the target friction force feedforward value of the target joint according to target data and current motion information;
[0056] A third strategy determination unit for, for any one target joint, when the absolute value of the joint velocity of any one target joint is greater than the absolute value of the set threshold, determining that the calculation strategy of the target friction force feedforward value of any one target joint is a second strategy; the second strategy is a strategy for calculating the target friction force feedforward value of the target joint based on the joint velocity of the target joint.
[0057] In an implementation manner of the second aspect, the number of target joints is at least one; the current motion information of the target joint includes the joint velocity of the target joint; the first strategy determination unit specifically includes:
[0058] A second calculation unit for calculating the initial friction force feedforward values of all target joints respectively based on target data;
[0059] A fourth strategy determination unit for, for any one target joint, when the joint velocity of any one target joint is less than or equal to the set threshold, determining that the calculation strategy of the target friction force feedforward value of any one target joint is a third strategy; the third strategy is a strategy for determining the initial friction force feedforward value of the target joint as the target friction force feedforward value of the target joint;
[0060] A fifth strategy determination unit for, for any one target joint, when the absolute value of the joint velocity of any one target joint is greater than the absolute value of the set threshold, determining that the calculation strategy of the target friction force feedforward value of any one target joint is a second strategy; the second strategy is a strategy for calculating the target friction force feedforward value of the target joint based on the joint velocity of the target joint.
[0061] In an implementation manner of the second aspect, the current motion information of the target joint includes the joint angle of the target joint; the first calculation unit specifically includes:
[0062] A type determination unit, configured to determine the structure type of the robotic arm when the calculation strategy is the first strategy of calculating the target friction force feedforward value of the target joint based on the target data and the current motion information;
[0063] A method determination unit, configured to determine the calculation method for the target friction force feedforward value of the target joint according to the structure type;
[0064] A third calculation unit, configured to calculate based on the calculation method and according to the target joint angle and the target data to obtain the target friction force feedforward value of the target joint.
[0065] In an implementation manner of the second aspect, the current motion information of the target joint includes the joint speed of the target joint; the first calculation unit specifically includes:
[0066] A direction determination unit, configured to determine the direction corresponding to the joint speed of the target joint according to the joint speed of the target joint when the calculation strategy is the second strategy of calculating the target friction force feedforward value of the target joint based on the joint speed of the target joint;
[0067] A fourth calculation unit, configured to calculate the target friction force feedforward value of the target joint according to the joint speed of the target joint and the direction corresponding to the joint speed of the target joint.
[0068] In an implementation manner of the second aspect, the first control unit specifically includes:
[0069] A fifth calculation unit, configured to calculate the torque feedforward value of the target joint based on the current motion information of the target joint;
[0070] A feedforward value determination unit, configured to determine other feedforward values of the target joint according to the scenario where the robotic arm is located; wherein, the other feedforward values refer to the feedforward values generated by the target joint based on the required set requirements;
[0071] A sixth calculation unit, configured to calculate the total feedforward value of the target joint according to the target friction force feedforward value of the target joint, the torque feedforward value of the target joint, and the other feedforward values of the target joint;
[0072] A second control unit, configured to control the robotic arm according to the total feedforward value of the target joint.
[0073] In an implementation manner of the second aspect, the feedforward value determination unit specifically includes:
[0074] A parameter determination unit, configured to determine the parameters that need to be restricted for the target joint according to the scenario;
[0075] A second acquisition unit, configured to acquire the restriction threshold and the actual data corresponding to the parameters that need to be restricted;
[0076] A seventh calculation unit is configured to calculate, according to a limit threshold and actual data, a feedforward value corresponding to a parameter to be limited as other feedforward values of a target joint.
[0077] In an implementation manner of the second aspect, the first acquisition unit specifically includes:
[0078] A mode determination unit is configured to determine that the robotic arm is in a compliant dragging mode when it detects that a preset control is triggered.
[0079] A state determination unit is configured to determine that the robotic arm is in a compliant dragging state if it detects that a setting device for controlling the movement of the robotic arm is in a first working state when the robotic arm is in the compliant dragging mode.
[0080] In an implementation manner of the second aspect, the medical robot control device further includes:
[0081] A third control unit is configured to control the robotic arm to be in a stationary state through the setting device if it detects that the setting device is in a second working state.
[0082] In a third aspect, an embodiment of the present application provides a medical robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the medical robot control method according to any one of the first aspects is implemented.
[0083] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the medical robot control method according to any one of the first aspects is implemented.
[0084] In a fifth aspect, an embodiment of the present application provides a computer program product, and when the computer program product runs on a medical robot, the medical robot can execute the medical robot control method according to any one of the first aspects. Description of the Drawings
[0085] To more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the following drawings are only some embodiments of the present application, and those of ordinary skill in the art can obtain other drawings based on these drawings without creative efforts.
[0086] Figure 1 It is a schematic structural diagram of a medical robot control system provided by an embodiment of the present application;
[0087] Figure 2 It is a schematic structural diagram of a medical robot provided by an embodiment of the present application;
[0088] Figure 3 It is a flowchart for implementing a medical robot control method provided by an embodiment of the present application;
[0089] Figure 4 It is a flowchart for implementing a medical robot control method provided by another embodiment of the present application;
[0090] Figure 5 It is a schematic diagram of the joint movement of a robotic arm provided by an embodiment of the present application;
[0091] Figure 6 It is a flowchart for implementing a medical robot control method provided by still another embodiment of the present application;
[0092] Figure 7 It is a flowchart for implementing a medical robot control method provided by yet another embodiment of the present application;
[0093] Figure 8 It is a schematic structural diagram of a medical robot control device provided by an embodiment of the present application;
[0094] Figure 9 It is a schematic structural diagram of a medical robot provided by another embodiment of the present application. Detailed implementation manners
[0095] In the following description, specific details such as specific system structures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.
[0096] It should be understood that when used in the specification of the present application and the appended claims, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.
[0097] It should also be understood that the term "and / or" used in the specification of the present application and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0098] As used in the specification of this application and the appended claims, the term "if" may be construed, depending on the context, as "when", "once", "in response to determining", or "in response to detecting". Similarly, the phrases "if determined" or "if [the described condition or event] is detected" may be construed, depending on the context, to mean "once determined", "in response to determining", "once [the described condition or event] is detected", or "in response to detecting [the described condition or event]".
[0099] In addition, in the description of the specification of this application and the appended claims, the terms "first", "second", "third", etc. are used only for differential description and should not be construed as indicating or implying relative importance.
[0100] Reference to "one embodiment" or "some embodiments" or the like described in the specification of this application means that a particular feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of this application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized. The terms "comprising", "including", "having", and their variants mean "including but not limited to", unless otherwise specifically emphasized.
[0101] In practical applications, in medical imaging, such as in a medical robot guided by Computed Tomography (CT) images, to improve the control efficiency of the medical robot or to handle abnormal scenarios, the robotic arm of the medical robot needs to have a compliant dragging function so that a doctor or technician can freely drag the robotic arm away from the patient or drag it to a designated area. However, the current related technologies are difficult to meet the actual needs and cannot successfully achieve the compliant dragging of the robotic arm, that is, the control accuracy and control success rate of the compliant dragging of the medical robot are reduced. Therefore, in order to successfully achieve the compliant dragging of the robotic arm and improve the control accuracy and control success rate of the compliant dragging of the medical robot, in all embodiments of this application, the medical robot in the medical robot control system can specifically implement the compliant dragging control of the robotic arm through the respective method embodiments corresponding to the following figures, which will not be elaborated here.
[0102] Please refer to Figure 1 , Figure 1 is a schematic structural diagram of a medical robot control system provided by an embodiment of this application. As Figure 1As shown in the figure, the medical robot control system 1 includes: a medical robot 10, a display device 20, and a setting device 30 for controlling the movement of the robotic arm of the medical robot 10. Among them, the medical robot 10 is communicatively connected to the display device 20. The above communication connection method can be a wired communication connection or a wireless communication connection. Among them, the medical robot 10 includes a Central Processing Unit (CPU).
[0103] Please refer to Figure 2 , Figure 2 which is a schematic structural diagram of a medical robot provided by an embodiment of the present application. As Figure 2 shown, the medical robot 10 includes: a robotic arm 11, an end effector 12, and a support device 13. Among them, the support device 13 is a trolley for the robotic arm 11.
[0104] It should be noted that the setting device 30 is installed in the setting area of the medical robot 10. Among them, the setting area can be determined according to actual needs and is not limited here.
[0105] In practical applications, the display device 20 can be a display screen or a monitor.
[0106] The setting device can be a foot pedal or a footrest.
[0107] In an embodiment of the present application, the display device 20 is provided with a preset control (not shown in the figure). The preset control can be a virtual button or a physical button. The preset control is used to control the robotic arm of the medical robot 10 to be in a certain movement mode.
[0108] It should be noted that the movement modes of the robotic arm include but are not limited to: a compliant dragging mode and an autonomous movement mode. Among them, the compliant dragging mode specifically refers to a movement mode in which the robotic arm is dragged under an external force and is in a compliant interaction or contact. The autonomous movement mode specifically refers to a mode in which the robotic arm does not receive any external force and moves autonomously along a preset path.
[0109] Among them, the preset path can be a path planned in advance by relevant personnel and input to the medical robot before the robotic arm moves autonomously. The relevant personnel are medical staff.
[0110] The preset path can also be a path planned in real time by the robotic arm itself according to the scene and destination it is in when the robotic arm is in the autonomous movement mode.
[0111] In an embodiment of the present application, when the medical robot 10 detects that the preset control is triggered, it can determine that the robotic arm is in the compliant dragging mode.
[0112] When the medical robot 10 detects that the preset control is not triggered and the setting device 30 is in the first working state, it can determine that the robotic arm is in the autonomous motion mode.
[0113] Among them, the first working state is used to indicate that the setting device 30 is triggered. Exemplarily, taking the setting device 30 as a foot pedal, when the foot pedal is stepped on, it means that the foot pedal is triggered, that is, the setting device 30 is in the first working state; taking the setting device 30 as a footrest, when the footrest is away from the ground, it means that the footrest is triggered, that is, the setting device 30 is in the first working state.
[0114] Please refer to Figure 3 , Figure 3 which is a flowchart of the implementation of a medical robot control method provided by an embodiment of the present application. In the embodiment of the present application, the execution subject of the medical robot control method is the medical robot.
[0115] As Figure 3 shown, the medical robot control method provided by an embodiment of the present application may include S101 to S105, which are described in detail as follows:
[0116] In S101, when it is detected that the robotic arm of the medical robot is in the compliant dragging state, the current motion information of the target joint of the robotic arm is obtained, and the current data collected by the force sensor provided on the robotic arm is obtained.
[0117] In an implementation manner of the embodiment of the present application, when relevant personnel need to drag the robotic arm away from the patient or drag it to a specified area, a compliant dragging request can be sent to the medical robot.
[0118] In this embodiment, the medical robot detecting the compliant dragging request may include: detecting that relevant personnel perform a preset operation. Among them, the preset operation can be determined according to actual needs and is not limited here. Exemplarily, the preset operation may include: the preset control of the medical robot itself is triggered. Based on this, when the medical robot detects that its own preset control is triggered, it means that the preset operation is detected, that is, the compliant dragging request is detected.
[0119] After the medical robot detects the compliant dragging request, it can control the robotic arm to be in the compliant dragging state.
[0120] In another implementation manner of the embodiment of the present application, in combination with Figure 1 , when relevant personnel need to drag the robotic arm away from the patient or drag it to a specified area, the relevant personnel can first click on the preset control in the display device and then trigger the setting device to make the robotic arm in the compliant dragging state.
[0121] Based on this, in order to improve the determination accuracy of the robotic arm being in the compliant dragging state, the medical robot can specifically determine whether the robotic arm is in the compliant dragging state according to the following steps, which are described in detail as follows:
[0122] When it is detected that a preset control is triggered, it is determined that the robotic arm is in the compliant dragging mode;
[0123] Under the condition that the robotic arm is in the compliant dragging mode, if it is detected that the setting device for controlling the movement of the robotic arm is in the first working state, it is determined that the robotic arm is in the compliant dragging state.
[0124] In this embodiment, when the medical robot detects that the preset control is triggered, it indicates that the robotic arm is in the compliant dragging mode, indicating that the robotic arm needs an external force to be dragged. Subsequently, when the medical robot detects that the setting device for controlling the movement of the robotic arm is in the first working state, it indicates that the medical robot detects an external force. Therefore, the medical robot can determine that the robotic arm is in the compliant dragging state.
[0125] In the embodiment of the present application, when the medical robot determines that the robotic arm is in the compliant dragging state, it can obtain the current motion information of the target joints of the robotic arm and the current data collected by the force sensor provided on the robotic arm.
[0126] Among them, the current motion information includes but is not limited to: joint angle and joint speed.
[0127] It should be noted that the target joints specifically refer to the movable joints in the robotic arm. The number of target joints is at least one, that is, the number of target joints can be one or multiple.
[0128] In one implementation manner of the embodiment of the present application, the medical robot can obtain the joint speed and joint angle of the target joints in real time through an encoder that is wirelessly communicatively connected to it and installed in the robotic arm.
[0129] The force sensor is a six-axis force sensor.
[0130] The current specifically refers to the moment when the medical robot detects that the robotic arm is in the compliant dragging state.
[0131] In S102, according to the current motion information of the target joints and the current data, gravity compensation is performed on the robotic arm to obtain target data.
[0132] In practical applications, when the robotic arm is subject to an external force, the robotic arm is also subject to the force of gravity at the same time, and the force sensor cannot separate the external force from the gravity. That is to say, the current data collected by the force sensor includes the external force and the gravity. Therefore, the medical robot can perform gravity compensation on the robotic arm according to the current motion information of the target joint of the robotic arm and the current data collected by the force sensor to determine the external force received by the robotic arm, that is, the target data. That is to say, the target data specifically refers to the external force received by the robotic arm.
[0133] Specifically, the medical robot can perform end gravity compensation on the robotic arm according to the current data collected by the force sensor and the joint angle in the current motion information of the target joint to obtain a pure external force, that is, the target data.
[0134] It can be understood that the current data collected by the force sensor includes the external force received by the robotic arm and its own gravity. The target data is obtained by processing the current data collected by the force sensor using the current motion information of the target joint, and extracting the external force received by the robotic arm from the current data, thereby obtaining the target data.
[0135] It should be noted that the method for the medical robot to perform gravity compensation on the robotic arm according to the current motion information of the target joint and the current data collected by the force sensor can be determined according to the existing robotic arm gravity compensation algorithm, which will not be elaborated here.
[0136] In S103, according to the current motion information of the target joint, determine the calculation strategy for the target friction feedforward value of the target joint, or, according to the current motion information of the target joint and the target data, determine the calculation strategy for the target friction feedforward value of the target joint.
[0137] In practical applications, when the robotic arm is close to a stationary state and the joint speeds of each joint of the robotic arm are close to zero, the target friction feedforward values of each joint calculated by the joint speeds of each joint are also close to zero, which makes it necessary for relevant personnel to overcome the static friction of each joint by themselves to drag the robotic arm. At the same time, since the static friction of each joint is different in magnitude, the method of dragging the robotic arm by relevant personnel overcoming the static friction of each joint by themselves cannot start each joint simultaneously, thus unable to achieve the compliant dragging of the robotic arm. That is, when the robotic arm is close to a stationary state and the joint speeds of each joint of the robotic arm are close to zero, the control accuracy and control success rate of the compliant dragging of the robotic arm are reduced.
[0138] Therefore, in an embodiment of the present application, when the number of target joints is at least one, the medical robot can determine the calculation strategy for the target friction feedforward value of any one of the target joints according to the joint speed in the current motion information of any one of the target joints.
[0139] It should be noted that the calculation strategies include, but are not limited to: the first strategy and the second strategy. Among them, the first strategy is the strategy for calculating the target friction force feedforward value of the target joint according to the target data, and the second strategy is the strategy for calculating the target friction force feedforward value of the target joint according to the joint speed of the target joint.
[0140] Based on this, in an embodiment of the present application, in order to improve the calculation accuracy of the target friction force feedforward value of the target joint, the medical robot can specifically determine the calculation strategy for the target friction force feedforward value of the target joint according to the following steps, which are described in detail as follows:
[0141] For any target joint, when the absolute value of the joint speed of any target joint is less than or equal to the set threshold, determine that the calculation strategy for the target friction force feedforward value of any target joint is the first strategy; the first strategy is the strategy for calculating the target friction force feedforward value of the target joint according to the target data and the current motion information;
[0142] For any target joint, when the absolute value of the joint speed of any target joint is greater than the absolute value of the set threshold, determine that the calculation strategy for the target friction force feedforward value of any target joint is the second strategy; the second strategy is the strategy for calculating the target friction force feedforward value of the target joint based on the joint speed of the target joint.
[0143] In this embodiment, for any target joint, after the medical robot obtains the joint speed of any target joint, it can compare the absolute value of the joint speed of any target joint with the set threshold. Among them, the set threshold can be set according to actual needs and is not limited here. Exemplarily, the set threshold can be any value between [0° / s, 0.5° / s], such as 0° / s, 0.2° / s, 0.4° / s, or 0.5° / s, etc.
[0144] For any target joint, when the medical robot detects that the absolute value of the joint speed of any target joint is less than or equal to the set threshold, it means that the joint speed of any target joint is close to zero at this time. That is to say, in order to achieve the compliant dragging of the robotic arm and improve the control accuracy and success rate of the compliant dragging of the robotic arm, the medical robot cannot calculate the target friction force feedforward value of the target joint through the joint speed of the target joint. Therefore, the medical robot can determine that the calculation strategy for the target friction force feedforward value of any target joint is the first strategy. Among them, the first strategy is the strategy for calculating the target friction force feedforward value of the target joint according to the target data and the current motion information.
[0145] For any target joint, when the medical robot detects that the absolute value of the joint speed of the any target joint is greater than the absolute value of the set threshold, it indicates that the robotic arm is not completely approaching a stationary state at this time. That is to say, the result of calculating the target friction feedforward value of the any target joint by the medical robot based on the joint speed of the any target joint is accurate. Therefore, the medical robot can determine that the calculation strategy for the target friction feedforward value of the any target joint is the second strategy. Wherein, the second strategy is the strategy of calculating the target friction feedforward value of the target joint based on the joint speed of the target joint.
[0146] In another embodiment of the present application, the calculation strategy further includes a third strategy. Wherein, the third strategy is the strategy of determining the initial friction feedforward value of the target joint as the target friction feedforward value of the target joint. The initial friction feedforward value of the target joint is calculated based on the target data.
[0147] Based on this, in this embodiment, in order to improve the calculation efficiency of the target friction feedforward value of any target joint, the medical robot can specifically determine the calculation strategy for the target friction feedforward value of the target joint according to the following steps, which are described in detail as follows:
[0148] Calculate the initial friction feedforward value of each target joint based on the target data;
[0149] For any target joint, when the joint speed of the any target joint is less than or equal to the set threshold, determine that the calculation strategy for the target friction feedforward value of the any target joint is the third strategy; the third strategy is the strategy of determining the initial friction feedforward value of the target joint as the target friction feedforward value of the target joint;
[0150] For any target joint, when the absolute value of the joint speed of the any target joint is greater than the absolute value of the set threshold, determine that the calculation strategy for the target friction feedforward value of the any target joint is the second strategy; the second strategy is the strategy of calculating the target friction feedforward value of the target joint based on the joint speed of the target joint.
[0151] In this embodiment, after the medical robot obtains the current motion information of the target joints and the target data collected by the force sensor after gravity compensation, in order to improve the calculation efficiency of the target friction force feedforward value of any target joint, the medical robot can first determine the Jacobian matrix of the robotic arm according to the joint angles in the current motion information of all target joints. Then, the medical robot determines the static torque of each of all target joints according to the target data and the Jacobian matrix of the robotic arm. Then, the medical robot determines the static friction compensation direction of each of all target joints according to the static torque of each of all target joints. Finally, the medical robot can calculate the initial friction force feedforward value of each of all target joints according to the static friction compensation direction of each of all target joints and the Coulomb friction of each of all target joints.
[0152] Specifically, the medical robot can calculate the initial friction force feedforward value of each of all target joints according to the following formula:
[0153] τ m =J T (θ)·FT;
[0154] τ i =sign(τ m (i))·τ ci ;
[0155] where τ m represents the static torque matrix of all joints of the robotic arm, τ m (i) represents the static torque of the i-th target joint, τ ci represents the Coulomb friction of the i-th target joint, J T (θ) represents the Jacobian matrix of the robotic arm, FT represents the target data, sign represents the sign function, which is used to determine the static friction compensation direction of each of all target joints, and τ i represents the initial friction force feedforward value of the i-th target joint.
[0156] After that, for any target joint, the medical robot can compare the absolute value of the joint speed of the any target joint with a set threshold. The set threshold can be set according to actual needs and is not limited here. Exemplarily, the set threshold can be any value between [0° / s, 0.5° / s], such as 0° / s, 0.2° / s, 0.4° / s, or 0.5° / s, etc.
[0157] In this embodiment, for any target joint, when the medical robot detects that the absolute value of the joint speed of the any target joint is less than or equal to the set threshold, it indicates that the joint speed of the any target joint is close to zero at this time. That is to say, in order to achieve compliant dragging of the robotic arm and improve the control accuracy and success rate of compliant dragging of the robotic arm, the medical robot cannot calculate the target friction feedforward value of the any target joint through the joint speed of the any target joint. Therefore, the medical robot can determine that the calculation strategy for the target friction feedforward value of the any target joint is the third strategy, that is, directly determine the initial friction feedforward value of the any target joint as the target friction feedforward value of the any target joint.
[0158] In this embodiment, for any target joint, when the medical robot detects that the absolute value of the joint speed of the any target joint is greater than the absolute value of the set threshold, it indicates that the robotic arm is not completely close to the stationary state at this time. That is to say, the result of calculating the target friction feedforward value of the any target joint by the medical robot through the joint speed of the any target joint is accurate. Therefore, the medical robot can determine that the calculation strategy for the target friction feedforward value of the any target joint is the second strategy. Among them, the second strategy is the strategy of calculating the target friction feedforward value of the target joint according to the joint speed of the target joint.
[0159] In S104, based on the calculation strategy, the target friction feedforward value of the target joint is obtained.
[0160] It should be noted that the target data refers to the data under the pure external force collected by the force sensor after gravity compensation of the robotic arm.
[0161] In the embodiment of the present application, after the medical robot determines the calculation strategy for the target joint, it can obtain the target friction feedforward value of the target joint based on the calculation strategy.
[0162] In an embodiment of the present application, when the calculation strategy is the first strategy, the current motion information of the target joint includes the joint angle of the target joint. In order to improve the calculation accuracy of the target friction feedforward value of the target joint, the medical robot can specifically calculate the target friction feedforward value of the target joint through steps S201 to S203 as shown in Figure 4 The details are as follows:
[0163] In S201, when the calculation strategy is the first strategy of calculating the target friction feedforward value of the target joint according to the target data and the current motion information, determine the structural type of the robotic arm.
[0164] In this embodiment, the structural types of the robotic arm include, but are not limited to: the first type and the second type. Among them, the first type is used to characterize the simple configuration of the robotic arm, and the second type is used to characterize the complex configuration of the robotic arm.
[0165] In some possible embodiments, the medical robot can determine the structural type of the robotic arm according to the effective degrees of freedom of the robotic arm (i.e., the actual number of movable joints). Exemplarily, assume that the robotic arm has 5 movable joints (1 degree of freedom for each joint), but actually only 3 joints can move, then the effective degrees of freedom is 3.
[0166] Specifically, the medical robot can obtain the effective degrees of freedom of the robotic arm and compare the effective degrees of freedom with the set degrees of freedom. Among them, the set degrees of freedom can be set according to actual needs and are not limited here. Exemplarily, the set degrees of freedom can be 3.
[0167] In this embodiment, when the medical robot detects that the effective degrees of freedom of the robotic arm is less than or equal to the set degrees of freedom, it indicates that the configuration of the robotic arm is simple. Therefore, the medical robot can determine that the structural type of the robotic arm is the first type.
[0168] When the medical robot detects that the effective degrees of freedom of the robotic arm is greater than the set degrees of freedom, it indicates that the configuration of the robotic arm is complex. Therefore, the medical robot can determine that the structural type of the robotic arm is the second type.
[0169] In some other possible embodiments, the medical robot can determine the structural type of the robotic arm according to the decomposition result of the target data.
[0170] Among them, the decomposition of the target data specifically refers to the combined decomposition of the pure external force after gravity compensation, so that each component force after the combined decomposition can be mapped to the joint torque of the target joint.
[0171] Based on this, the above decomposition results include, but are not limited to: the first result and the second result. Among them, the first result is used to characterize that the pure external force after gravity compensation can complete the mapping from the spatial force to the joint torque of the target joint through the combined decomposition method, and the second result is used to characterize that the pure external force after gravity compensation cannot be mapped from the spatial force to the joint torque of the target joint through the combined decomposition method.
[0172] In this embodiment, when the medical robot detects that the decomposition result of the target data is the first result, it indicates that the configuration of the robotic arm is simple. Therefore, the medical robot can determine that the structural type of the robotic arm is the first type.
[0173] When the medical robot detects that the decomposition result of the target data is the second result, it indicates that the configuration of the robotic arm is complex. Therefore, the medical robot can determine that the structural type of the robotic arm is the second type.
[0174] In S202, according to the structural type, determine the calculation method for the target friction force feedforward value of the target joint.
[0175] In this embodiment, after the medical robot determines the structural type of the robotic arm, the medical robot can determine the calculation method for the target friction force feedforward value of the target joint according to the structural type of the robotic arm.
[0176] It should be noted that the calculation methods include but are not limited to: the first method and the second method. Among them, the first method specifically refers to the method of calculating the target friction force feedforward value of the target joint according to the joint angle of the target joint and each force component and torque component associated with the target joint in the target data, and the second method specifically refers to the method of calculating the target friction force feedforward value of the target joint according to the joint angle of the target joint and the target data.
[0177] In this embodiment, when the medical robot determines that the structural type of the robotic arm is the first type, it indicates that the pure external force after gravity compensation can complete the mapping from the spatial force to the joint torque of the target joint through the combination decomposition method. Therefore, at this time, the medical robot can determine that the calculation method for the target friction force feedforward value of the target joint is the first method.
[0178] When the medical robot determines that the structural type of the robotic arm is the second type, it indicates that the pure external force after gravity compensation cannot complete the mapping from the spatial force to the joint torque of the target joint through the combination decomposition method. Therefore, at this time, the medical robot can determine that the calculation method for the target friction force feedforward value of the target joint is the second method.
[0179] In S203, based on the calculation method, perform calculations according to the target joint angle and the target data to obtain the target friction force feedforward value of the target joint.
[0180] In some possible embodiments, when the calculation method is the first method, in order to further improve the calculation accuracy of the target friction force feedforward value of the target joint and improve the calculation efficiency, the medical robot can specifically calculate the target friction force feedforward value of the target joint according to the following steps, which are described in detail as follows:
[0181] When the calculation method is the first method, determine the movement direction of the target joint;
[0182] According to the movement direction of the target joint and the force components and torque components of the target data, determine the actual joint for which the target friction force feedforward value needs to be calculated;
[0183] According to the joint angle of the actual joint and the corresponding force component or torque component of the actual joint, calculate the target friction force feedforward value of the actual joint.
[0184] In this embodiment, when the medical robot determines that the calculation method is the first method, it indicates that the pure external force (i.e., the target data) after gravity compensation can complete the mapping from the spatial force to the joint torque of the target joint through the method of combined decomposition. Therefore, in order to accurately determine the mapping relationship between the target joint and each force component and each torque component in the target data, the medical robot can determine the movement direction of the target joint.
[0185] After that, the medical robot can determine the correlation between the movement of the target joint and each force component and each torque component in the target data based on the movement direction of the target joint, as well as the force components and torque components of the target data, and then determine the actual joint for which the target friction feedforward value needs to be calculated.
[0186] In practical applications, the acting direction of the force component associated with the movement of any joint needs not to be completely perpendicular to the direction of the linear velocity of the joint. Therefore, in this embodiment, the robot can determine the direction of the angular velocity of the rotation axis of the target joint according to the movement direction of the target joint. After that, the robot determines the direction of the linear velocity of the target joint based on the vector obtained by the cross product of the direction of the angular velocity of the target joint and the vector along the link corresponding to the target joint. Finally, the robot can determine the correlation between the target joint and each force component based on the relationship between the direction of the linear velocity of the target joint and the acting directions of each force component, and then determine the actual joint.
[0187] In practical applications, for the torque component associated with the movement of any joint, the torque component needs to be the closest to the joint, and the direction of the torque component is collinear with the direction of the angular velocity of the joint. Therefore, in this embodiment, the robot can determine the direction of the angular velocity of the target joint according to the movement direction of the target joint. After that, the robot can determine the torque component that is the closest to each target joint respectively, and determine whether the direction of the angular velocity of the target joint is collinear with the acting direction of the torque component that is the closest to each target joint respectively, so as to determine the correlation between the target joint and each torque component, and then determine the actual joint.
[0188] It should be noted that the actual joint can be one or more.
[0189] In this embodiment, after the medical robot determines the actual joint, it calculates the target friction feedforward value of the actual joint according to the joint angle of the actual joint and the force component or torque component corresponding to the actual joint.
[0190] Specifically, the medical robot can determine the static friction compensation direction of the actual joint according to the joint angle of the actual joint and the force component or torque component corresponding to the actual joint, and then calculate the target friction feedforward value of the actual joint by combining the static friction compensation direction of the actual joint and the Coulomb friction of the actual joint.
[0191] Exemplarily, refer to Figure 5 , Figure 5 which is a schematic diagram of joint movement provided by an embodiment of the present application. As Figure 5 shown, taking a 5-degree-of-freedom robotic arm as an example, A is the second joint in the robotic arm, B is the third joint in the robotic arm, and C is the fourth joint in the robotic arm. It can be Figure 5 seen that since the vector obtained by the cross product of the direction of the angular velocity of the second joint of the robotic arm and the vector of its corresponding link, that is, the direction of the linear velocity of the second joint of the robotic arm is not completely perpendicular to the acting direction of the force component Fz in the target data, therefore, the second joint of the robotic arm is associated with the force component Fz in the target data; since the vector obtained by the cross product of the direction of the angular velocity of the third joint of the robotic arm and the vector of its corresponding link, that is, the direction of the linear velocity of the third joint of the robotic arm is not completely perpendicular to the acting direction of the force component Fx in the target data, therefore, the third joint of the robotic arm is associated with the force component Fx in the target data; since the direction of the angular velocity of the fourth joint of the robotic arm is collinear with the acting direction of the torque component Tz in the target data, therefore, the fourth joint of the robotic arm is associated with the torque component Tz in the target data. Based on this, the second joint, the third joint, and the fourth joint are all actual joints.
[0192] Based on this, combined with Figure 5 , at this time, the medical robot can calculate the target friction feedforward value of the actual joint according to the following formula:
[0193] τ2 = sign(θ3)·sign(F z )·τ c2 ;
[0194] τ3 = sign(F x )·τ c3 ;
[0195] τ4 = sign(T z )·τ c4 ;
[0196] where τ i represents the target friction feedforward value of the i-th target joint, θ3 represents the joint angle of the third joint, τ ci represents the Coulomb friction of the i-th target joint, and sign represents the sign function, which is used to determine the static friction compensation direction of the actual joint.
[0197] In some other possible embodiments, when the calculation method is the second method, in order to improve the calculation efficiency of the target friction force feedforward value of the target joint, the medical robot can specifically calculate the target friction force feedforward value of the target joint according to the following steps, which are described in detail as follows:
[0198] When the calculation method is the second method, determine the static moment of the target joint according to the target data and the Jacobian matrix of the robotic arm;
[0199] Calculate the target friction force feedforward value of the target joint according to the static moment of the target joint and the Coulomb friction force.
[0200] In this embodiment, when the medical robot determines that the calculation method is the second method, it indicates that the pure external force (i.e., the target data) after gravity compensation cannot complete the mapping from the spatial force to the joint moment of the target joint through the combined decomposition method. Therefore, in order to improve the calculation efficiency of the target friction force feedforward value of the target joint, the medical robot can determine the Jacobian matrix of the robotic arm according to the joint angle of the target joint. Then, the medical robot determines the static moment of the target joint according to the target data and the Jacobian matrix of the robotic arm. Then, the medical robot determines the static friction compensation direction of the target joint according to the static moment of the target joint. Finally, the medical robot can calculate the target friction force feedforward value of the target joint according to the static friction compensation direction of the target joint and the Coulomb friction force of the target joint.
[0201] Specifically, the medical robot can calculate the target friction force feedforward value of the target joint according to the following formula:
[0202] τ m =J T (θ)·FT;
[0203] τ i =sign(τ m (i))·τ ci ;
[0204] Where, τ m represents the static moment matrix of all joints of the robotic arm, τ m (i) represents the static moment of the i-th target joint, τ ci represents the Coulomb friction force of the i-th target joint, J T (θ) represents the Jacobian matrix of the robotic arm, FT represents the target data, sign represents the sign function, which is used to determine the static friction compensation direction of each target joint, and τ i represents the target friction force feedforward value of the i-th target joint.
[0205] In another embodiment of the present application, when the calculation strategy is the second strategy, in order to improve the calculation accuracy of the target friction force feedforward value of the target joint, the medical robot can specifically calculate the target friction force feedforward value of the target joint through steps S301 to S302 as shown in Figure 6 which is described in detail as follows:
[0206] In S301, when the calculation strategy is the second strategy for calculating the target friction force feedforward value of the target joint based on the joint speed of the target joint, determine the direction corresponding to the joint speed of the target joint according to the joint speed of the target joint.
[0207] In S302, calculate the target friction force feedforward value of the target joint according to the joint speed of the target joint and the direction corresponding to the joint speed of the target joint.
[0208] In this embodiment, when the medical robot determines that the calculation strategy is the second strategy for calculating the target friction force feedforward value of the target joint based on the joint speed of the target joint, it indicates that the robotic arm is not close to the stationary state at this time. That is to say, the result of calculating the target friction force feedforward value of the target joint by the medical robot based on the joint speed of the target joint is accurate. Therefore, the medical robot can determine the direction corresponding to the joint speed of the target joint according to the joint speed of the target joint.
[0209] After that, the medical robot can calculate the target friction force feedforward value of the target joint according to the joint speed of the target joint, the direction corresponding to the joint speed of the target joint, the Coulomb friction force of the target joint, and the viscous friction coefficient.
[0210] Specifically, the medical robot can calculate the target friction force feedforward value of the target joint according to the following formula:
[0211] τ fi =sign(v i )·τ ci +v i ·λ;
[0212] where τ fi represents the target friction force feedforward value of the i-th target joint, sign represents the sign function, which is used to determine the direction corresponding to the joint speed of the i-th target joint, v i represents the joint speed of the i-th target joint, τ ci represents the Coulomb friction force of the i-th target joint, and λ represents the viscous friction coefficient.
[0213] In S105, control the robotic arm based on the target friction force feedforward value of the target joint.
[0214] In the embodiments of the present application, after the medical robot obtains the target friction force feedforward value of the target joint, it can, based on the target friction force feedforward value of the target joint, achieve compliant dragging of the robotic arm, thereby achieving control of the robotic arm.
[0215] In one embodiment of the present application, in order to further improve the control accuracy and success rate of the compliant dragging of the robotic arm, the medical robot can also calculate the dynamic feedforward value of the target joint, that is, the torque feedforward value of the target joint. After that, the medical robot can achieve compliant dragging of the robotic arm according to the torque feedforward value and the target friction force feedforward value of the target joint.
[0216] In some possible embodiments, the medical robot can specifically calculate the torque feedforward value of the target joint according to the following formula:
[0217]
[0218]
[0219]
[0220]
[0221] where τ dynamics (i) represents the torque feedforward value of the i-th target joint, represents the spatial torque at the i-th target joint relative to the base coordinate system, represents the force or torque acting on the i-th target joint due to the movement of other joints, H i (e x ) represents the exponential product expression of the joint screw of the (i + 1)-th joint, represents the axis screw of the i-th target joint, θ i represents the joint angle of the i-th target joint, represents the angular velocity of the i-th target joint, represents the angular acceleration of the i-th target joint.
[0222] In another embodiment of the present application, according to the actual usage scenario of the robotic arm, for safety reasons, the medical robot needs to consider whether to perform other feedforward value calculations according to requirements, such as position or speed boundaries, etc. Therefore, in order to improve the safety during the compliant dragging of the robotic arm and further improve the control accuracy and success rate of the compliant dragging of the robotic arm, the medical robot can specifically execute step S105 through steps S401 to S404 as shown in Figure 7 as follows:
[0223] In S401, based on the current motion information of the target joint, calculate the torque feedforward value of the target joint.
[0224] In this embodiment, the medical robot can specifically calculate the torque feedforward value of the target joint according to the formula in step S105, which will not be elaborated here.
[0225] In S402, according to the scenario where the robotic arm is located, other feedforward values of the target joint are determined; among them, the other feedforward values refer to the feedforward values generated by the target joint based on the required settings.
[0226] In this embodiment, since the restrictions on the robotic arm are not exactly the same in different usage scenarios, the medical robot can, according to the current scenario where the robotic arm is located, determine the parameters for restricting the target joint of the robotic arm in this scenario, such as the speed of the target joint or the position of the target joint, etc. Then, the medical robot can determine the other feedforward values of the target joint corresponding to the parameters for restricting the target joint of the robotic arm as needed.
[0227] In an embodiment of the present application, in order to improve the calculation accuracy of the other feedforward values of the target joint, the medical robot can specifically determine the feedforward values of the target joint according to the following steps, which are described in detail below:
[0228] According to the scenario, determine the parameters that the target joint needs to be restricted by;
[0229] Obtain the restriction threshold and actual data corresponding to the parameters that need to be restricted;
[0230] According to the restriction threshold and the actual data, calculate the feedforward value corresponding to the parameters that need to be restricted, and use it as the other feedforward value of the target joint.
[0231] In this embodiment, the medical robot can determine the parameters that the target joint needs to be restricted by according to the current scenario where the robotic arm is located. Among them, the parameters that the target joint needs to be restricted by include but are not limited to: speed and position.
[0232] It should be noted that since the movement ranges of the target joints are not the same, the parameters that the target joints need to be restricted by can be the same or different.
[0233] Exemplarily, assume that the current scenario where the robotic arm is located contains multiple fragile items. Therefore, in order to prevent the fragile items from being damaged due to the excessive speed of a certain joint during the compliant dragging of the robotic arm, the medical robot can determine that the parameter that this joint needs to be restricted by is speed.
[0234] Assume that the current scenario where the robotic arm is located contains several medical staff. Therefore, in order to prevent the position of the target joint from touching a certain medical staff during the compliant dragging of the robotic arm, thus affecting the work of this medical staff, the medical robot can determine that the parameter that the target joint needs to be restricted by is position.
[0235] In this embodiment, after the medical robot determines the parameters that need to be restricted for the target joint, it can obtain the restriction threshold and actual data corresponding to the parameters that need to be restricted. Among them, the restriction threshold corresponding to the parameter that needs to be restricted specifically refers to the upper limit and / or lower limit of the value corresponding to the parameter that needs to be restricted.
[0236] Based on this, the medical robot can calculate the feedforward value corresponding to the parameter that needs to be restricted according to the above restriction threshold and actual data, and use it as the other feedforward value of the target joint.
[0237] Exemplarily, taking the parameter that needs to be restricted for the target joint as speed, the medical robot can specifically determine the other feedforward value of the target joint according to the following formula:
[0238] τ veli = k(v i - v ui );
[0239] Among them, τ veli represents the other feedforward value of the i-th target joint, v i represents the actual speed of the i-th target joint, v ui represents the speed threshold of the i-th target joint, and k represents the feedback coefficient.
[0240] In S403, according to the target friction feedforward value of the target joint, the torque feedforward value of the target joint, and the other feedforward value of the target joint, the total feedforward value of the target joint is calculated.
[0241] In S404, the robotic arm is controlled according to the total feedforward value of the target joint.
[0242] In this embodiment, after the medical robot obtains the target friction feedforward value, torque feedforward value, and other feedforward values of the target joint, it can sum all the feedforward values of the target joint respectively, that is, sum the target friction feedforward value, torque feedforward value, and other feedforward values of the target joint to obtain the total feedforward value of the target joint.
[0243] Based on this, the medical robot can achieve compliant dragging of the robotic arm on the basis of the total feedforward value of the target joint, thereby achieving control of the robotic arm.
[0244] It should be noted that in the embodiments of the present application, when the medical robot controls the robotic arm, it can use a current loop to control the movement of the robotic arm. Compared with the position loop / velocity loop used in the admittance control scheme based on a force sensor in the prior art, the current loop has a faster response speed, and can avoid the rapid rebound problem when the robotic arm touches a rigid body in principle, thereby improving the control success rate of the robotic arm.
[0245] As can be seen from the above, a medical robot control method provided by an embodiment of the present application obtains the current motion information of the target joint of the robotic arm when it is detected that the robotic arm of the medical robot is in a compliant dragging state, and obtains the current data collected by a force sensor provided on the robotic arm; performs gravity compensation on the robotic arm according to the current motion information of the target joint and the current data to obtain target data; determines a calculation strategy for the target frictional force feedforward value of the target joint according to the current motion information of the target joint, or determines a calculation strategy for the target frictional force feedforward value of the target joint according to the current motion information of the target joint and the target data; obtains the target frictional force feedforward value of the target joint based on the calculation strategy; and controls the robotic arm based on the target frictional force feedforward value of the target joint. Compared with the prior art, this method can flexibly determine a calculation strategy for the target frictional force feedforward value of the target joint according to the current motion information of the target joint, or the current motion information of the target joint and the target data, thereby improving the calculation accuracy of the target frictional force feedforward value of the target joint, and further improving the control accuracy and control success rate of compliant dragging of the robotic arm.
[0246] In an embodiment of the present application, in order to improve the control accuracy and control rate when the robotic arm is in a stationary state, in combination with Figure 1 and step S101, when relevant personnel do not need to perform compliant dragging on the robotic arm, the user can control the setting device to be in a second working state. The second working state is opposite to the first working state.
[0247] Exemplarily, taking the setting device as a foot pedal, when the foot pedal is stepped on, it indicates that the setting device is in the first working state. Therefore, when the foot pedal is released, it indicates that the setting state is in the second working state.
[0248] Taking the setting device 30 as a footrest, when the footrest is away from the ground, it indicates that the setting device is in the first working state. Therefore, when the footrest is in contact with the ground, it indicates that the setting device is in the second working state.
[0249] Based on this, in this embodiment, when the medical robot detects that the setting device is in the second working state, it can immediately control the robotic arm to be in a stationary state through the setting device, so as to ensure that when the user cancels the external force on the robotic arm, that is, stops the compliant dragging of the robotic arm, the robotic arm can stop quickly.
[0250] It should be understood that the magnitudes of the sequence numbers of the above steps do not mean the order of execution. The execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0251] Corresponding to the medical robot control method described in the above embodiments, Figure 8The figure shows a schematic structural diagram of a medical robot control device provided by an embodiment of the present application. For the sake of convenience of description, only the parts related to the embodiment of the present application are shown. Refer to Figure 8 The medical robot control device 600 includes: a first acquisition unit 61, a compensation unit 62, a first strategy determination unit 63, a first calculation unit 64, and a first control unit 65. Among them:
[0252] The first acquisition unit 61 is configured to obtain the current motion information of the target joint of the robotic arm when it is detected that the robotic arm of the medical robot is in a compliant dragging state, and obtain the current data collected by the force sensor disposed on the robotic arm.
[0253] The compensation unit 62 is configured to perform gravity compensation on the robotic arm according to the current motion information and the current data of the target joint to obtain target data.
[0254] The first strategy determination unit 63 is configured to determine a calculation strategy for the target friction feedforward value of the target joint according to the current motion information of the target joint, or determine a calculation strategy for the target friction feedforward value of the target joint according to the current motion information and the target data of the target joint.
[0255] The first calculation unit 64 is configured to obtain the target friction feedforward value of the target joint based on the calculation strategy.
[0256] The first control unit 65 is configured to control the robotic arm based on the target friction feedforward value of the target joint.
[0257] In an embodiment of the present application, the number of target joints is at least one; the current motion information of the target joint includes the joint speed of the target joint; the first strategy determination unit 63 specifically includes: a second strategy determination unit and a third strategy determination unit. Among them:
[0258] The second strategy determination unit is configured to, for any one of the target joints, when the absolute value of the joint speed of any one of the target joints is less than or equal to a set threshold, determine that the calculation strategy for the target friction feedforward value of any one of the target joints is the first strategy; the first strategy is a strategy for calculating the target friction feedforward value of the target joint according to the target data and the current motion information.
[0259] The third strategy determination unit is configured to, for any one of the target joints, when the absolute value of the joint speed of any one of the target joints is greater than the absolute value of the set threshold, determine that the calculation strategy for the target friction feedforward value of any one of the target joints is the second strategy; the second strategy is a strategy for calculating the target friction feedforward value of the target joint based on the joint speed of the target joint.
[0260] In an embodiment of the present application, the number of target joints is at least one; the current motion information of the target joints includes the joint speed of the target joints; the first policy determination unit 63 specifically includes: a second calculation unit, a fourth policy determination unit, and a fifth policy determination unit. Among them:
[0261] The second calculation unit is configured to calculate the initial friction feedforward value of each of all target joints based on the target data.
[0262] The fourth policy determination unit is configured to, for any one of the target joints, when the joint speed of any one of the target joints is less than or equal to the set threshold, determine that the calculation policy of the target friction feedforward value of any one of the target joints is the third policy; the third policy is a policy of determining the initial friction feedforward value of the target joint as the target friction feedforward value of the target joint.
[0263] The fifth policy determination unit is configured to, for any one of the target joints, when the absolute value of the joint speed of any one of the target joints is greater than the absolute value of the set threshold, determine that the calculation policy of the target friction feedforward value of any one of the target joints is the second policy; the second policy is a policy of calculating the target friction feedforward value of the target joint based on the joint speed of the target joint.
[0264] In an embodiment of the present application, the current motion information of the target joints includes the joint angle of the target joints; the first calculation unit 64 specifically includes: a type determination unit, a method determination unit, and a third calculation unit. Among them:
[0265] The type determination unit is configured to determine the structural type of the robotic arm when the calculation policy is the first policy of calculating the target friction feedforward value of the target joint according to the target data and the current motion information.
[0266] The method determination unit is configured to determine the calculation method of the target friction feedforward value of the target joint according to the structural type.
[0267] The third calculation unit is configured to calculate based on the calculation method and according to the target joint angle and the target data to obtain the target friction feedforward value of the target joint.
[0268] In an embodiment of the present application, the current motion information of the target joints includes the joint speed of the target joints; the first calculation unit 64 specifically includes: a direction determination unit and a fourth calculation unit. Among them:
[0269] The direction determination unit is configured to, when the calculation policy is the second policy of calculating the target friction feedforward value of the target joint based on the joint speed of the target joint, determine the direction corresponding to the joint speed of the target joint according to the joint speed of the target joint.
[0270] The fourth calculation unit is used to calculate the target friction feedforward value of the target joint according to the joint speed of the target joint and the direction corresponding to the joint speed of the target joint.
[0271] In an embodiment of the present application, the first control unit 65 specifically includes: a fifth calculation unit, a feedforward value determination unit, a sixth calculation unit, and a second control unit. Among them:
[0272] The fifth calculation unit is used to calculate the torque feedforward value of the target joint based on the current motion information of the target joint.
[0273] The feedforward value determination unit is used to determine other feedforward values of the target joint according to the scenario where the robotic arm is located; where the other feedforward values refer to the feedforward values generated by the target joint based on the required setting requirements.
[0274] The sixth calculation unit is used to calculate the total feedforward value of the target joint according to the target friction feedforward value of the target joint, the torque feedforward value of the target joint, and the other feedforward values of the target joint.
[0275] The second control unit is used to control the robotic arm according to the total feedforward value of the target joint.
[0276] In an embodiment of the present application, the feedforward value determination unit specifically includes: a parameter determination unit, a second acquisition unit, and a seventh calculation unit. Among them:
[0277] The parameter determination unit is used to determine the parameters that need to be restricted for the target joint according to the scenario.
[0278] The second acquisition unit is used to acquire the restriction threshold and the actual data corresponding to the parameters that need to be restricted.
[0279] The seventh calculation unit is used to calculate the feedforward value corresponding to the parameter that needs to be restricted according to the restriction threshold and the actual data, and use it as the other feedforward value of the target joint.
[0280] In an embodiment of the present application, the first acquisition unit 61 specifically includes: a mode determination unit and a state determination unit.
[0281] Among them:
[0282] The mode determination unit is used to determine that the robotic arm is in the compliant dragging mode when it detects that the preset control is triggered.
[0283] The state determination unit is used to determine that the robotic arm is in the compliant dragging state if it detects that the setting device for controlling the movement of the robotic arm is in the first working state under the condition that the robotic arm is in the compliant dragging mode.
[0284] In an embodiment of the present application, the medical robot control device 400 further includes: a third control unit.
[0285] The third control unit is configured to control the robotic arm to be in a stationary state through the setting device if it is detected that the setting device is in the second working state.
[0286] It should be noted that for the information interaction, execution process, etc. between the above-mentioned devices / units, since they are based on the same concept as the method embodiments of the present application, their specific functions and the technical effects brought can be specifically referred to in the method embodiment part, and will not be elaborated here.
[0287] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the above-mentioned division of each functional unit and module is used as an example. In actual applications, the above-mentioned functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of the present application. The specific working process of the units and modules in the above system can refer to the corresponding process in the foregoing method embodiments and will not be elaborated here.
[0288] Figure 9 It is a schematic structural diagram of a medical robot provided by an embodiment of the present application. As Figure 9 shown, the medical robot 7 in this embodiment includes: at least one processor 70 ( Figure 9 only one is shown in the figure), a processor, a memory 71, and a computer program 72 stored in the memory 71 and executable on the at least one processor 70. When the processor 70 executes the computer program 72, the steps in any of the above-mentioned medical robot control method embodiments are implemented.
[0289] The medical robot may include, but is not limited to, the processor 70 and the memory 71. Those skilled in the art can understand that Figure 9 this is only an example of the medical robot 7 and does not constitute a limitation on the medical robot 7. It may include more or fewer components than shown in the figure, or combine certain components, or different components. For example, it may also include input / output devices, network access devices, etc.
[0290] The so-called processor 70 may be a Central Processing Unit (CPU), and the processor 70 may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0291] In some embodiments, the memory 71 may be an internal storage unit of the medical robot 7, such as the memory of the medical robot 7. In some other embodiments, the memory 71 may also be an external storage device of the medical robot 7, such as a plug-in hard disk equipped on the medical robot 7, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. Further, the memory 71 may also include both the internal storage unit of the medical robot 7 and the external storage device. The memory 71 is used to store an operating system, application programs, a BootLoader, data, and other programs, such as the program code of the computer program. The memory 71 may also be used to temporarily store data that has been output or will be output.
[0292] An embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned various method embodiments can be implemented.
[0293] An embodiment of the present application provides a computer program product. When the computer program product runs on a medical robot, the medical robot can implement the steps in the above-mentioned various method embodiments when executed.
[0294] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above-described embodiment methods of this application, a computer program can be used to instruct relevant hardware to complete. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above-described various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the medical robot, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk, or an optical disc, etc. In some jurisdictions, according to legislation and patent practice, the computer-readable medium cannot be an electrical carrier signal and a telecommunication signal.
[0295] The above-described embodiments are only used to illustrate the technical solutions of this application, rather than to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the various embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A medical robot control method, characterized in that, Including: When it is detected that the robotic arm of the medical robot is in a compliant dragging state, obtaining the current motion information of the target joint of the robotic arm and obtaining the current data collected by the force sensor arranged on the robotic arm; Compensating for the gravity of the robotic arm according to the current motion information of the target joint and the current data to obtain target data; Determining a calculation strategy for the target friction feedforward value of the target joint according to the current motion information of the target joint, or determining a calculation strategy for the target friction feedforward value of the target joint according to the current motion information of the target joint and the target data; Obtaining the target friction feedforward value of the target joint based on the calculation strategy; Controlling the robotic arm based on the target friction feedforward value of the target joint.
2. The medical robot control method according to claim 1, wherein, The number of the target joints is at least one; the current motion information of the target joint includes the joint speed of the target joint; The determining the calculation strategy for the target friction feedforward value of the target joint according to the current motion information of the target joint includes: For any one target joint, when the absolute value of the joint speed of the any one target joint is less than or equal to a set threshold, determining the calculation strategy for the target friction feedforward value of the any one target joint as a first strategy; the first strategy is a strategy for calculating the target friction feedforward value of the target joint according to the target data and the current motion information; For any one target joint, when the absolute value of the joint speed of the any one target joint is greater than the absolute value of the set threshold, determining the calculation strategy for the target friction feedforward value of the any one target joint as a second strategy; the second strategy is a strategy for calculating the target friction feedforward value of the target joint based on the joint speed of the target joint.
3. The medical robot control method according to claim 1, characterized in that, The number of the target joints is at least one; the current motion information of the target joint includes the joint speed of the target joint; The determining the calculation strategy for the target friction feedforward value of the target joint according to the current motion information of the target joint and the target data includes: Calculating the initial friction feedforward value of each target joint based on the target data; For any one target joint, when the joint speed of the any one target joint is less than or equal to a set threshold, determining the calculation strategy for the target friction feedforward value of the any one target joint as a third strategy; the third strategy is a strategy for determining the initial friction feedforward value of the target joint as the target friction feedforward value of the target joint; For any one target joint, when the absolute value of the joint speed of the any one target joint is greater than the absolute value of the set threshold, determining the calculation strategy for the target friction feedforward value of the any one target joint as a second strategy; the second strategy is a strategy for calculating the target friction feedforward value of the target joint based on the joint speed of the target joint.
4. The medical robot control method according to claim 1, wherein, The current motion information of the target joint includes the joint angle of the target joint; Obtaining the target friction force feedforward value of the target joint based on the calculation strategy includes: When the calculation strategy is the first strategy for calculating the target friction force feedforward value of the target joint according to the target data and the current motion information, determining the structural type of the robotic arm; According to the structural type, determining the calculation method for the target friction force feedforward value of the target joint; Based on the calculation method, calculating according to the joint angle of the target joint and the target data to obtain the target friction force feedforward value of the target joint.
5. The medical robot control method according to claim 1, wherein The current motion information of the target joint includes the joint speed of the target joint; Obtaining the target friction force feedforward value of the target joint based on the calculation strategy includes: When the calculation strategy is the second strategy for calculating the target friction force feedforward value of the target joint based on the joint speed of the target joint, determining the direction corresponding to the joint speed of the target joint according to the joint speed of the target joint; Calculating according to the joint speed of the target joint and the direction corresponding to the joint speed of the target joint to obtain the target friction force feedforward value of the target joint.
6. The medical robot control method according to claim 1, characterized in that, Controlling the robotic arm based on the target friction force feedforward value of the target joint includes: Calculating the torque feedforward value of the target joint based on the current motion information of the target joint; Determining other feedforward values of the target joint according to the scenario where the robotic arm is located; wherein, the other feedforward values refer to the feedforward values generated by the target joint based on required settings; Calculating the total feedforward value of the target joint according to the target friction force feedforward value of the target joint, the torque feedforward value of the target joint, and the other feedforward values of the target joint; Controlling the robotic arm according to the total feedforward value of the target joint.
7. The medical robot control method according to claim 6, wherein, Determining other feedforward values of the target joint according to the scenario where the robotic arm is located includes: Determining the parameters that the target joint needs to be restricted according to the scenario; Obtaining the restriction threshold and actual data corresponding to the parameters that need to be restricted; Calculating according to the restriction threshold and the actual data to obtain the feedforward value corresponding to the parameters that need to be restricted as the other feedforward values of the target joint.
8. The medical robot control method according to any one of claims 1-7, characterized in that, The method for determining whether the robotic arm is in a compliant dragging state is as follows: When it is detected that a preset control is triggered, determining that the robotic arm is in a compliant dragging mode; Under the condition that the robotic arm is in the compliant dragging mode, if it is detected that a setting device for controlling the motion of the robotic arm is in the first working state, determining that the robotic arm is in the compliant dragging state.
9. The medical robot control method according to claim 8, wherein, After controlling the robotic arm based on the target friction force feedforward value of the target joint, it further includes: If it is detected that the setting device is in the second working state, controlling the robotic arm to be in a stationary state through the setting device.
10. A medical robot control device, characterized in that, Including: A first acquisition unit, configured to, when it is detected that the robotic arm of the medical robot is in a compliant dragging state, acquire the current motion information of the target joint of the robotic arm, and acquire the current data collected by a force sensor arranged on the robotic arm; A compensation unit for performing gravity compensation on the robotic arm according to the current motion information of the target joint and the current data to obtain target data; A first strategy determination unit for determining a calculation strategy for the target frictional force feedforward value of the target joint according to the current motion information of the target joint, or determining a calculation strategy for the target frictional force feedforward value of the target joint according to the current motion information of the target joint and the target data; A first calculation unit for obtaining the target frictional force feedforward value of the target joint based on the calculation strategy; A first control unit for controlling the robotic arm based on the target frictional force feedforward value of the target joint.
11. A medical robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, the medical robot control method according to any one of claims 1 to 9 is implemented.