Anti-collision method and anti-collision system for surgical robot and its arm
By installing sensors and processors on the arm of the surgical robot, real-time detection of collisions and adjusting the output torque of the driving mechanism of the joint assembly, the problem of vulnerability of the arm in minimally invasive surgical systems is solved, and surgical reliability and motion sensitivity are improved.
Patent Information
- Application Number
- CN202110809871.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-07
- Filing Date
- 2021-07-17
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2041-07-17
AI Technical Summary
In minimally invasive surgical systems, the arms of the operating equipment are easily damaged by collision when used or not, which affects the reliability of the surgery.
By installing sensors and processors on the arm of the surgical robot, the collision is detected in real time and the output torque of the driving mechanism of the joint assembly is adjusted to balance the load gravity torque and restore joint position or brake joint assembly to mitigate the impact of the collision.
Effectively reduces the collision of the arm, improves the reliability of the surgical robot, ensures that the joint components can be reset or braked after collision, and enhances motion sensitivity.
Smart Images

Figure CN115500954B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of medical devices, and in particular to a surgical robot and an anti-collision method and an anti-collision system for its arm. Background Art
[0002] Minimally invasive surgery refers to a procedure performed within the human body using modern medical devices such as laparoscopes and thoracoscopes, as well as related equipment. Compared to traditional surgical methods, minimally invasive surgery offers advantages such as less trauma, less pain, and faster recovery.
[0003] With technological advancements, minimally invasive surgical systems have matured and are widely used. These systems typically consist of a master console and slave devices. The master console sends control commands to the slave devices based on the surgeon's actions. The slave devices respond to the commands from the master console and perform the corresponding surgical procedures.
[0004] The operating equipment usually has multiple arms. When in use or not in use, these arms usually maintain strong rigidity. If any of these arms is hit or collides with each other, the structure of the hit arm is easily damaged, and the reliability of the operation is easily affected. Summary of the Invention
[0005] Based on this, it is necessary to provide a surgical robot and an anti-collision method and anti-collision system for its arm that can reduce collisions of the arms.
[0006] On the one hand, the present invention provides a surgical robot, comprising: at least one first arm, the first arm having a joint assembly and a driving mechanism for driving the movement of the joint assembly; and at least one processor, the processor being electrically connected to the driving mechanism, the processor being used to: determine whether a collision occurs with the first arm and / or a device attached to the distal end of the first arm, and when it is determined that a collision occurs, in response to the collision, adjust the output torque of the driving mechanism corresponding to the first joint assembly in the joint assembly to balance the gravitational torque of the load at the distal end of the corresponding first joint assembly, and restore the joint position of the first joint assembly or brake the first joint assembly.
[0007] Wherein, the first joint component is composed of the specified joint component.
[0008] The first arm includes a manipulator, and the first joint assembly includes a pitch joint assembly and a yaw joint assembly in the manipulator.
[0009] Wherein, the first joint assembly includes at least one of the following components: the joint assembly at the collision point in the first arm, and a joint assembly near the proximal end of the joint assembly at the collision point; or,
[0010] The first joint assembly includes at least one of the following components: the joint assembly where the collision point in the first arm is located, and a joint assembly near the proximal end of the joint assembly where the collision point is located; the first joint assembly also includes a joint assembly near the distal end of the joint assembly where the collision point is located.
[0011] In which, the output torque includes an output resultant torque, the output resultant torque includes a first torque for balancing the gravity torque of the load at the distal end of the first joint component, and a second torque for restoring the joint position of the first joint component or braking the first joint component, and the output resultant torque includes the sum of the first torque and the second torque.
[0012] The first arm further includes a sensor for detecting a current signal of the driving mechanism, and the processor is electrically connected to the sensor. The processor is specifically configured to:
[0013] receiving a current signal of the driving mechanism detected by the sensor, and determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the current signal, and / or determining the joint component at which the collision point is located; and / or
[0014] The first arm further includes a sensor for detecting a force signal of the joint assembly. The processor is electrically connected to the sensor, and the processor is specifically configured to:
[0015] Receive the force signal of the joint component detected by the sensor, determine whether the first arm and / or the device attached to the distal end of the first arm has collided based on the change of the force signal, and / or determine the joint component where the collision point is located during the collision.
[0016] Wherein, the sensor is specifically used to detect the current signal every first cycle;
[0017] The processor is specifically configured to calculate a rate of change of adjacent detected current signals and determine whether the rate of change exceeds a first threshold; if the rate of change exceeds the first threshold, determine that a collision has occurred between the first arm and / or the device attached to the distal end of the first arm; and / or determine the joint component at which a collision point is located based on the joint component corresponding to the current signal whose rate of change exceeds the first threshold; or
[0018] The sensor is specifically configured to detect the current signal every second period, where the second period is greater than the first period;
[0019] The processor is specifically configured to calculate a rate of change of adjacent detected current signals and determine whether the rate of change exceeds a second threshold, where the second threshold is less than the first threshold; if the rate of change exceeds the second threshold, determine that a collision has occurred between the first arm and / or the device attached to the distal end of the first arm, and / or determine the joint component at which a collision point is located based on the joint component corresponding to the current signal whose rate of change exceeds the second threshold; or
[0020] Calculate the current difference between the current signal and the current signal detected before the collision, and determine whether the current difference exceeds a third threshold value. If the current difference exceeds the third threshold value, determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and / or determine the joint component at which the collision point is located based on the joint component corresponding to the current signal whose current difference exceeds the third threshold value.
[0021] In which, the surgical robot also includes a second arm, and the processor is specifically used to: determine whether the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are the same as the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, and determine whether the first arm and / or the device attached to the distal end of the first arm collides based on whether the position parameters are the same, and / or determine the joint component where the collision point is located during the collision.
[0022] In which, the first arm also includes a sensor for detecting the joint position of the joint assembly, and the processor is electrically connected to the sensor. The processor is specifically used to: obtain the joint positions of at least the first joint assembly and the joint assembly at the distal end of the first joint assembly detected by the sensor, and determine the first torque expected to be output by the driving mechanism corresponding to the first joint assembly in combination with the joint positions and the dynamic model associated with the first joint assembly.
[0023] In which, the processor is also used to: when the second torque is a torque used to restore the joint position of the first joint component, obtain the initial joint position and current joint position of the first joint component detected by the sensor; calculate the joint position variable of the first joint component based on the initial joint position and the current joint position; and determine the second torque output by the driving mechanism corresponding to the first joint component based on the joint position variable.
[0024] In which, the processor is also used to: when the second torque is the torque used to brake the first joint component, obtain the current joint position of the first joint component detected by the sensor; detect whether the current joint position reaches the first limit joint position of the first joint component, and the first limit joint position is within the physical limit joint position range of the first joint component; when the current joint position reaches the first limit joint position, calculate the joint position variable between the current joint position and the first limit joint position; and determine the second torque output by the driving mechanism corresponding to the first joint component based on the joint position variable.
[0025] The second torque increases as the joint position variable increases.
[0026] The relationship between the second moment and the joint position variable is expressed as a formula: τ=k*Δx, where τ is the second moment, k is the stiffness coefficient, and Δx is the joint position variable.
[0027] The processor is further configured to: during the duration of the collision, record the holding time of the first joint component at the current joint position, and when the holding time reaches a set time threshold, update the current joint position to the initial joint position; and / or
[0028] During the collision, obtaining the current joint position of the first joint component, when the change in the current joint position is lower than a position change threshold, recording a first duration during which the change in the current joint position is lower than the position change threshold, and updating the current joint position to the initial joint position when the first duration reaches a first time threshold; and / or
[0029] During the collision, the joint speed of the first joint component is obtained, and when the joint speed is lower than the speed threshold, the second duration of the joint speed lower than the speed threshold is recorded, and when the second duration reaches a second set time threshold, the current joint position is updated to the initial joint position.
[0030] Among them, the processor is specifically used to: when the second torque is the torque used to brake the first joint component, obtain the initial joint position and current joint position of the first joint component detected by the sensor; calculate the joint speed of the first joint component based on the initial joint position, the current joint position and the time taken to change from the initial joint position to the current joint position; determine the second torque output by the driving mechanism corresponding to the first joint component based on the joint speed.
[0031] The second torque increases as the joint speed increases.
[0032] The relationship between the second torque and the joint velocity is expressed as: τ = k*v n , where τ is the second torque, k is the damping coefficient, v is the joint velocity, and n=1 or n=2 or n=3.
[0033] In which, the first arm also includes a sensor for detecting the joint position of the joint assembly, and the processor is electrically connected to the sensor. The processor is also used to: obtain the joint position of the joint assembly detected by the sensor; calculate the position parameters of the kinematic model of the first arm according to the joint position and positive kinematics; determine whether the position parameters of the kinematic model reach the boundary parameters of the effective space of the first arm, and the effective space is at least part of the space in the Cartesian space of the first arm; when the position parameters of the kinematic model reach the boundary parameters of the effective space, at least brake the second joint assembly, and the second joint assembly includes the joint component in the first joint assembly that reaches the boundary of the effective space.
[0034] In which, the surgical robot includes a second arm, the Cartesian space of the first arm and the Cartesian space of the second arm have an overlapping part, and when the position parameters of the kinematic model of the second arm are included in the overlapping part, the effective space includes the part of the Cartesian space of the first arm that does not include the overlapping part; and / or, when the position parameters of the kinematic model of the second arm are not included in the overlapping part, the effective space includes the complete Cartesian space of the first arm.
[0035] Wherein, the processor is further used to adjust the output torque of the driving mechanism corresponding to the first joint component in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly when it is determined that the conditions are met before the collision.
[0036] Wherein, the determination that the conditions are met includes obtaining a trigger signal; the surgical robot also includes an input device electrically connected to the processor, and the trigger signal is generated by the input device; and / or, the surgical robot also includes a sensor electrically connected to the processor for detecting whether a device is attached to the distal end of the first arm, and the trigger signal is generated by the sensor detecting that the device is not attached to the distal end of the first arm.
[0037] In which, the surgical robot also includes a sensor electrically connected to the processor for detecting whether a device is attached to the distal end of the first arm. The processor is specifically used to: when it is detected that the device is attached to the distal end of the first arm, in response to the collision, adjust the output torque of the driving mechanism corresponding to the first joint component in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint component, and restore the joint position of the first joint component or brake the first joint component.
[0038] In which, the device includes a surgical instrument, and the surgical robot also includes a sensor electrically connected to the processor for detecting the type information of the surgical instrument, and a driving mechanism electrically connected to the processor for driving the end instrument at the distal end of the surgical instrument. The processor is specifically used to: when it is determined that the type information of the surgical instrument and / or the status information of the end instrument meet the safety conditions, in response to the collision, adjust the output torque of the driving mechanism corresponding to the first joint component in the joint component to balance the gravity torque of the load at the distal end of the corresponding first joint component, and restore the joint position of the first joint component or brake the first joint component.
[0039] The first arm includes an arm that is not operated during a collision.
[0040] In which, the surgical robot also includes a second arm that is being operated at the time of the collision, the second arm has a joint assembly and a driving mechanism for driving the joint assembly to move, the second arm also has a sensor for detecting the current signal of the driving mechanism of the second arm, the processor is electrically connected to the driving mechanism of the second arm and the sensor, and the processor is also used to: when the sensor of the second arm detects that the current signal of the driving mechanism of the second arm reaches a set current threshold, record the duration of the current signal reaching the set current threshold; determine whether the duration reaches the time threshold; when the duration reaches the time threshold, send an instruction to the driving mechanism of the second arm to control the driving mechanism of the second arm to stop moving.
[0041] On the other hand, the present invention also provides an anti-collision method for the arm of a surgical robot, characterized in that the surgical robot includes at least one first arm, the first arm has a joint assembly and a driving mechanism for driving the joint assembly to move, and the method includes: determining whether the first arm and / or the device attached to the distal end of the first arm collides, and when it is determined that a collision occurs, in response to the collision, adjusting the output torque of the driving mechanism corresponding to the first joint assembly in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and restoring the joint position of the first joint assembly or braking the first joint assembly.
[0042] The first arm includes a manipulator, and the first joint assembly includes a pitch joint assembly and a yaw joint assembly in the manipulator.
[0043] Wherein, the first joint assembly includes at least one of the following components: the joint assembly at the collision point in the first arm, and a joint assembly near the proximal end of the joint assembly at the collision point; or,
[0044] The first joint assembly includes at least one of the following components: the joint assembly where the collision point in the first arm is located, and a joint assembly near the proximal end of the joint assembly where the collision point is located; the first joint assembly also includes a joint assembly near the distal end of the joint assembly where the collision point is located.
[0045] In which, the output torque includes an output resultant torque, the output resultant torque includes a first torque for balancing the gravity torque of the load at the distal end of the first joint component, and a second torque for restoring the joint position of the first joint component or braking the first joint component, and the output resultant torque includes the sum of the first torque and the second torque.
[0046] The first arm further includes a sensor for detecting a current signal of the driving mechanism, and the determining whether the first arm and / or a device attached to the distal end of the first arm has collided includes:
[0047] receiving a current signal of the driving mechanism detected by the sensor, and determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the current signal, and / or determining the joint component at which the collision point is located; and / or
[0048] The first arm further includes a sensor for detecting a force signal of the joint assembly, and determining whether the first arm and / or a device attached to the distal end of the first arm has collided includes:
[0049] Receive the force signal of the joint component detected by the sensor, determine whether the first arm and / or the device attached to the distal end of the first arm has collided based on the change of the force signal, and / or determine the joint component where the collision point is located during the collision.
[0050] The sensor is specifically configured to detect the current signal every first period, and determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the current signal, and / or determining the joint component at which the collision point is located during the collision, includes:
[0051] Calculating the rate of change of adjacent detected current signals and determining whether the rate of change exceeds a first threshold, and if so, determining that a collision has occurred between the first arm and / or the device attached to the distal end of the first arm, and / or determining the joint component at which the collision point is located based on the joint component corresponding to the current signal having the rate of change exceeding the first threshold; or
[0052] The sensor is specifically configured to detect the current signal every second period, the second period being greater than the first period, and the joint component for determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the current signal, and / or determining the collision point during the collision comprises:
[0053] Calculating the rate of change of adjacent detected current signals and determining whether the rate of change exceeds a second threshold, where the second threshold is less than the first threshold; if the rate of change exceeds the second threshold, determining that a collision has occurred with the first arm and / or the device attached to the distal end of the first arm; and / or determining the joint component at which the collision point is located based on the joint component corresponding to the current signal having the rate of change exceeding the second threshold; or
[0054] Calculate the current difference between the current signal and the current signal detected before the collision, and determine whether the current difference exceeds a third threshold value. If the current difference exceeds the third threshold value, determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and / or determine the joint component at which the collision point is located based on the joint component corresponding to the current signal whose current difference exceeds the third threshold value.
[0055] In which, the surgical robot also includes a second arm, and determining whether the first arm and / or the device attached to the distal end of the first arm has collided includes: judging whether the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are the same as the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, and determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on whether the position parameters are the same, and / or determining the joint component where the collision point is located during the collision.
[0056] In which, the first arm also includes a sensor for detecting the joint position of the joint assembly, and the method also includes: before adjusting the output torque of the driving mechanism corresponding to the first joint assembly in the joint assembly, obtaining the joint positions of at least the first joint assembly and the joint assembly at the distal end of the first joint assembly detected by the sensor, and determining the first torque expected to be output by the driving mechanism corresponding to the first joint assembly in combination with the joint positions and the dynamic model associated with the first joint assembly.
[0057] In which, the method also includes: before adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint component, and when the second torque is the torque used to restore the joint position of the first joint component, obtaining the initial joint position and current joint position of the first joint component detected by the sensor; calculating the joint position variable of the first joint component based on the initial joint position and the current joint position; and determining the second torque output by the driving mechanism corresponding to the first joint component based on the joint position variable.
[0058] Among them, the method also includes: before adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint component, and when the second torque is the torque used to brake the first joint component, obtaining the current joint position of the first joint component detected by the sensor; detecting whether the current joint position reaches the first limit joint position of the first joint component, and the first limit joint position is within the physical limit joint position range of the first joint component; when the current joint position reaches the first limit joint position, calculating the joint position variable between the current joint position and the first limit joint position; and determining the second torque output by the driving mechanism corresponding to the first joint component based on the joint position variable.
[0059] The second torque increases as the joint position variable increases.
[0060] The relationship between the second moment and the joint position variable is expressed as a formula: τ=k*Δx, where τ is the second moment, k is the stiffness coefficient, and Δx is the joint position variable.
[0061] The method further comprises: during the duration of the collision, recording the holding time of the first joint component at the current joint position, and when the holding time reaches a set time threshold, updating the current joint position to the initial joint position; and / or
[0062] During the collision, obtaining the current joint position of the first joint component, when the change in the current joint position is lower than a position change threshold, recording a first duration during which the change in the current joint position is lower than the position change threshold, and updating the current joint position to the initial joint position when the duration reaches a first time threshold; and / or
[0063] During the collision, the joint speed of the first joint component is obtained, and when the joint speed is lower than the speed threshold, the second duration of the joint speed lower than the speed threshold is recorded, and when the second duration reaches a second set time threshold, the current joint position is updated to the initial joint position.
[0064] Among them, the method also includes: before adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint component, and when the second torque is the torque used to brake the first joint component, obtaining the initial joint position and current joint position of the first joint component detected by the sensor; calculating the joint speed of the first joint component based on the initial joint position, the current joint position and the time taken to change from the initial joint position to the current joint position; and determining the second torque output by the driving mechanism corresponding to the first joint component based on the joint speed.
[0065] The second torque increases as the joint speed increases.
[0066] The relationship between the second torque and the joint velocity is expressed as: τ = k*v n , where τ is the second torque, k is the damping coefficient, v is the joint velocity, and n=1 or n=2 or n=3.
[0067] In which, the first arm also includes a sensor for detecting the joint position of the joint assembly, and the method also includes: obtaining the joint position of the joint assembly detected by the sensor; calculating the position parameters of the kinematic model of the first arm based on the joint position and positive kinematics; judging whether the position parameters of the kinematic model reach the boundary parameters of the effective space of the first arm, and the effective space is at least part of the space in the Cartesian space of the first arm; when the position parameters of the kinematic model reach the boundary parameters of the effective space, braking at least the second joint assembly, the second joint assembly including the joint component in the first joint assembly that reaches the boundary of the effective space.
[0068] In which, the surgical robot includes a second arm, the Cartesian space of the first arm and the Cartesian space of the second arm have an overlapping part, and when the position parameters of the kinematic model of the second arm are included in the overlapping part, the effective space includes the part of the Cartesian space of the first arm that does not include the overlapping part; and / or, when the position parameters of the kinematic model of the second arm are not included in the overlapping part, the effective space includes the complete Cartesian space of the first arm.
[0069] The method further includes: before the collision, when it is determined that a condition is met, adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint component.
[0070] Wherein, the determination of whether the conditions are met includes obtaining a trigger signal; the surgical robot also includes an input device, and the trigger signal is generated by the input device; and / or the surgical robot also includes a sensor for detecting whether a device is attached to the distal end of the first arm, and the trigger signal is generated by the sensor detecting that the device is not attached to the distal end of the first arm.
[0071] In which, the surgical robot also includes a sensor for detecting whether a device is attached to the distal end of the first arm, and in response to the collision, adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and restoring the joint position of the first joint assembly or braking the first joint assembly includes: when it is obtained that the device is attached to the distal end of the first arm, in response to the collision, adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and restoring the joint position of the first joint assembly or braking the first joint assembly.
[0072] In which, the device includes a surgical instrument, and the surgical robot also includes a sensor for detecting the type information of the surgical instrument, and a driving mechanism for driving the end instrument at the distal end of the surgical instrument. In response to the collision, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravity torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked. The method includes: when it is determined that the type information of the surgical instrument and / or the status information of the end instrument meet the safety conditions, in response to the collision, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravity torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked.
[0073] The first arm includes an arm that is not operated during a collision.
[0074] In which, the surgical robot also includes a second arm that is being operated at the time of the collision, the second arm has a joint assembly and a driving mechanism for driving the joint assembly to move, the second arm also has a sensor for detecting the current signal of the driving mechanism of the second arm, the processor is electrically connected to the driving mechanism of the second arm and the sensor, and the processor is also used to: when the sensor of the second arm detects that the current signal of the driving mechanism of the second arm reaches a set current threshold, record the duration of the current signal reaching the set current threshold; determine whether the duration reaches the time threshold; when the duration reaches the time threshold, send an instruction to the driving mechanism of the second arm to control the driving mechanism of the second arm to stop moving.
[0075] On the other hand, the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program is configured to be loaded and executed by a processor to implement the steps of the method described in any of the above embodiments.
[0076] On the other hand, the present invention also provides an anti-collision system for the middle arm of a surgical robot, comprising: a memory for storing a computer program; and a processor for loading and executing the computer program; wherein the computer program is configured to be loaded and executed by the processor to implement the steps of the method described in any of the above embodiments.
[0077] The anti-collision method and anti-collision system of the surgical robot and its arm of the present invention have the following beneficial effects:
[0078] When a collision occurs, the output torque of the driving mechanism corresponding to the first joint component is adjusted to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked, so that the first joint component can move more sensitively under the action of the force causing the collision to mitigate the collision, and the first joint component can be reset or braked after the collision, thereby improving reliability. BRIEF DESCRIPTION OF THE DRAWINGS
[0079] Figure 1 Schematic diagram of the structure of an embodiment of a slave operating device in a surgical robot of the present invention;
[0080] Figure 2 This is a structural diagram of an embodiment of the main operating table of the surgical robot of the present invention;
[0081] Figure 3Schematic diagram of the effective space of the first arm of the surgical robot of the present invention;
[0082] Figures 4 to 18 They are respectively flow charts of an embodiment of a method for preventing collisions of a middle arm of a surgical robot according to the present invention;
[0083] Figure 19 2 is a schematic structural diagram of a control device for a surgical robot according to an embodiment of the present invention. DETAILED DESCRIPTION
[0084] To facilitate understanding of the present invention, the present invention will be described more fully below with reference to the accompanying drawings. The accompanying drawings illustrate preferred embodiments of the present invention. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and comprehensive understanding of the disclosure of the present invention.
[0085] It should be noted that when an element is referred to as being "disposed on" another element, it may be directly on the other element or there may also be an element in the middle. When an element is considered to be "connected" to another element, it may be directly connected to the other element or there may be an element in the middle at the same time. When an element is considered to be "coupled" to another element, it may be directly coupled to the other element or there may be an element in the middle at the same time. The terms "vertical", "horizontal", "left", "right" and similar expressions used in the present invention are for illustrative purposes only and do not represent the only implementation method. The terms "distal end" and "proximal end" used in the present invention are used as directional words, which are commonly used terms in the field of interventional medical devices, where "distal end" refers to the end close to the patient during surgery and "proximal end" refers to the end away from the patient during surgery. The terms "first / second" and the like used in the present invention represent a component and two or more components of a type having common characteristics.
[0086] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the present invention pertains. The terms used herein are for the purpose of describing specific embodiments only and are not intended to limit the present invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items. The term "each" as used herein includes one or more than two. The term "plurality" as used herein refers to two or more.
[0087] like Figure 1 and Figure 2 As shown in FIG, they are schematic structural diagrams of a slave operating device and a main operating table in one embodiment of a surgical robot according to the present invention.
[0088] The surgical robot includes a slave operating device 100 and a master console 200 that controls the slave operating device 100. The master console 200 has an operating unit 210 and a display unit 220. The surgeon operates the operating unit 210 to send control commands to the slave operating device 100, causing the slave operating device 100 to perform corresponding operations based on the surgeon's control commands from the operating unit 210 and observe the surgical area through the display unit 220. The operating unit 210 can typically be a motion input device, such as one or more of a linkage-type mechanical handle, a magnetic navigation handle, or a gesture recognition device (such as Sony's Soft Kinetic). The surgical robot also includes at least one processor electrically connected to the operating unit 210, the display unit 220, and the slave operating device 100. These processors can be centrally located on the master console 200, on the slave operating device 100, distributed between the master console 200 and the slave operating device 100, or deployed in the cloud. The master console 200 and the slave operating device 100 can be deployed in the same room or in different rooms.
[0089] The slave operating device 100 has at least one arm. For ease of description, the arm can be divided into different parts and named accordingly based on their purpose and / or modular division. Each part can be called a sub-arm. Each sub-arm has at least one joint assembly, which can be a translational joint assembly and / or a rotational joint assembly. Adjustment of these joint assemblies can adjust the position and / or posture of the distal end of the corresponding sub-arm. Depending on requirements, these sub-arms can be configured to be independently adjustable or to be linked and adjustable.
[0090] like Figure 1 As shown, the arm in the slave operating device 100 can be divided into three parts, for example, each part can correspond to a sub-arm. The three sub-arms include a main arm 110, an adjustment arm 120 and a manipulator 130 connected in sequence. Figure 1 In the example, there is one main arm 110 and two or more adjustment arms 120, for example, Figure 1As shown in the figure, the number of manipulators 130 is consistent with the number of adjustment arms 120, wherein the proximal end of the main arm 110 is arranged on a movable base 300, and the distal end of the main arm 110 is provided with an orientation platform, the proximal end of each adjustment arm 120 is rotatably connected to the orientation platform, and the distal end of each adjustment arm 120 is rotatably connected to a manipulator 130. The main arm 110 is mainly used for primary position planning of all manipulators 130, and it has the characteristics of integrity, relatively large range, and relatively low precision. The adjustment arm 120 is used for secondary position planning of the manipulators 130 connected thereto, and it has the characteristics of independence, relatively small range, and relatively high precision. The manipulator 130 is detachably attached to a device for performing surgery, namely a surgical instrument 150, which includes an imaging instrument and an operating instrument. Since the surgical instrument 150 also has at least one joint component that can affect the position and / or posture of the end instrument at its distal end, the surgical instrument 150 can also be regarded as a sub-arm. Combined Figure 1 Referring to the operating device 100 , along the direction from the base to the surgical instrument, the “distal end” refers to the end of the surgical instrument 150 , and the “proximal end” refers to the end of the base 300 . The surgical instrument 150 is relatively close to the patient, and the base 300 is relatively far from the patient.
[0091] Continue reading Figure 1 The manipulator 130 has a holding arm 135 at its distal end. The holding arm 135 is used to detachably mount a surgical instrument 150. The holding arm 135 defines the remote center of motion (RC) of the manipulator 130. The manipulator 130 utilizes the parallelogram principle so that the manipulator 130 can be configured to move around the remote center of motion. The surgical instrument 150 can follow the manipulator 130 in moving around the remote center of motion, and the surgical instrument 150 can make a depth (i.e., feed) movement relative to the holding arm 135. Figure 1 As shown, the manipulator 130 also includes a pitch joint assembly 131 and a yaw joint assembly 132. When the driving mechanism corresponding to the pitch joint assembly 131 is driven to work, the manipulator 130 can perform pitch motion around the remote motion center, and when the driving mechanism corresponding to the yaw joint assembly 132 is driven to work, the manipulator 130 can perform yaw motion around the remote motion center.
[0092] Each sub-arm further includes a drive mechanism coupled to a corresponding joint assembly in the sub-arm to drive the joint assembly to move. Each joint assembly is generally driven by a drive mechanism. In these sub-arms, the drive mechanism can be configured to be disposed proximate to the joint assembly driven by the drive mechanism; and / or, the drive mechanism can be configured to be disposed remotely from the joint assembly driven by the drive mechanism. For example, in the main arm 110, the adjustment arm 120 and the manipulator 130, since they have sufficient space, the drive mechanism and the joint assembly can usually be set close to each other; while in the surgical instrument 150, due to the need for a compact structure, the drive mechanism and the joint assembly are usually set far apart and transmitted through a drive wire. For example, the drive mechanism that drives the movement of the joint assembly in the surgical instrument 150 is usually set at the distal end of the manipulator 130, specifically on the arm 135. In order to achieve the coupling of the remotely set drive mechanism (that is, the drive mechanism is independent of the surgical instrument 150) and the joint assembly in the surgical instrument 150, the surgical instrument 150 has a drive box coupled to the joint assembly. The surgical instrument 150 can be attached to the arm 135 and the connection between the remotely set drive mechanism and the joint assembly in the surgical instrument 150 can be achieved through a connector that is detachably connected to the remotely set drive mechanism and the drive box.
[0093] In the surgical robot, specifically, in the slave operating device 100, multiple types of sensors may also be included, all of which are coupled to the processor. Among these sensors, there are sensors for detecting (i.e., sensing) the joint positions of the joint assembly. Such sensors may be, for example, position sensors for detecting the joint positions of the joint assembly, or may be one or more of an encoder and a position sensor for detecting the position of a driving mechanism that drives the joint assembly to move; and / or, there are sensors for detecting the current signal of the driving mechanism that drives the joint assembly to move. Such sensors may be, for example, one or more of a current sensor and a voltage sensor; and / or, there are sensors for detecting the force signal of the joint assembly. Such sensors may be, for example, one or more of a three-dimensional force sensor, a six-dimensional force sensor, and a combination of multiple one-dimensional force sensors.
[0094] In the above embodiments, the driving mechanism includes a motor, that is, the joint assembly can generally be driven to move by controlling the operation of the motor.
[0095] In one aspect, the first arm described herein may be comprised of at least a partial articulated assembly of one or more sub-arms.
[0096] For example, any one of these sub-arms can be configured as a first arm, and the first arm has all the joint components of the sub-arm. Figure 1In the surgical robot shown, the main arm 110 can be configured as the first arm, the adjustment arm 120 can be configured as the first arm, the manipulator 130 can be configured as the first arm, and the surgical instrument 150 can also be configured as the first arm.
[0097] For example, a combination of at least two of these sub-arms can be configured to form a first arm, and the at least two sub-arms constituting the first arm can be adjacent sub-arms or spaced sub-arms, and the first arm has all the joint components of the multiple sub-arms. Figure 1 In the surgical robot shown, the main arm 110 and any one of the adjustment arms 120 can be configured as the first arm, any one of the adjustment arms 120 and the manipulator 130 connected thereto can be configured as the first arm, the manipulator 130 and the surgical instrument 150 connected thereto can be configured as the first arm, the adjustment arm 120, the manipulator 130 connected to the adjustment arm 120, and the surgical instrument 150 connected to the manipulator 130 can be configured as the first arm, or the adjustment arm 120 and the corresponding surgical instrument 150 can be configured as the first arm, and they are not listed one by one here.
[0098] Exemplarily, at least a portion of the joint assembly of any one of these sub-arms can be configured to form a first arm with at least a portion of the joint assembly of any other sub-arm. For example, all or a portion of the joint assembly of one of the sub-arms can be configured to form a first arm with part / or all of the joint assembly of another sub-arm. For example, a joint assembly 121 at the distal end of the adjustment arm 120, such as a cyclone joint assembly, and all of the joint assemblies of the manipulator 130 can be configured to form a first arm, with the rotation axis of the cyclone joint assembly 21 intersecting the remote motion center, so that when the cyclone joint assembly 121 rotates, the manipulator 130 can still rotate around the remote motion center.
[0099] Exemplarily, part of the joint assembly of any sub-arm may be configured to constitute the first arm. For example, the pitch joint assembly 131 and the yaw joint assembly 132 in the manipulator 130 may be configured to constitute the first arm.
[0100] In one embodiment, the configuration of the first arm can be system-configured or flexibly configured by the user. For example, the surgical robot has a display device and an input device electrically connected to the processor. How to configure the first arm can be generated by the processor on a user configuration interface displayed on the display device and then selected through the input device. The display device and the input device can be, for example, touch screens, or they can be two independent components. Options associated with each sub-arm can be generated on the user configuration interface. Options associated with the joint components of each sub-arm can be generated on the user configuration interface. Among them, the options associated with these sub-arms and / or the joint components of these sub-arms can be graphical options or character-based (such as text, digital) options. By selecting these options, the configuration of the first arm can be configured.
[0101] From another perspective, the first arm includes an arm that was not operated at the time of the collision. For example, at least at the time of the collision, when an arm and / or a device attached to the distal end of the arm is not in a follow-up state, the arm is an unoperated arm and can serve as the first arm. For example, at least at the time of the collision, when an arm and / or a device attached to the distal end of the arm is in a clutch state, that is, when the motion input device 210 is disconnected from communication, the arm is an unoperated arm and can serve as the first arm. Wherein, when the arm is a sub-arm, the device attached to the distal end of the arm may include other sub-arms and / or surgical instruments 150.
[0102] The present invention provides a surgical robot. In some embodiments, a processor is configured to: determine whether a first arm and / or a device attached to a distal end of the first arm has collided; if a collision is determined, adjust the output torque of a drive mechanism corresponding to a first joint component in a joint assembly of the first arm to balance the gravitational torque of a load at the distal end of the corresponding first joint component, restore the joint position of the first joint component, or brake the first joint component in response to the collision of the first arm and / or the device attached to the distal end of the first arm.
[0103] The "balance" described in the present invention generally means a relatively balanced relationship, which allows the existence of torque deviation. For the same first joint component, balance is achieved when the following formula is satisfied:
[0104] x=|F1-F2|≤Δx
[0105] x is the torque deviation, F1 is the output torque of the drive mechanism, F2 is the gravity torque of the distal load of the corresponding first joint component, and Δx is the torque deviation threshold. For example, the value range of Δx can be [0, 10] N / m.
[0106] As long as x≤Δx, the output torque of the drive mechanism can be regarded as balancing the gravity torque of the load at the distal end of the corresponding joint assembly.
[0107] Furthermore, when the first arm is collided, the adjusted joint assembly in the first arm, i.e., the first joint assembly, can be more easily deflected and / or moved under the action of the force caused by the collision, so as to effectively cushion the collision through changes in position and / or posture.
[0108] In some embodiments, the first joint assembly in the first arm may be composed of joint assemblies specified by the system or the user. In this embodiment, the first joint assembly specifically includes which joint assemblies in the first arm are determined in advance (i.e., configured) before the collision occurs. For example, the first joint assembly in the first arm can be obtained from a system file, or the first joint assembly in the first arm can be set through a user configuration interface. Among them, the first joint assembly generally refers to a type of joint assembly, and the number includes at least one. For example, when the first joint assembly includes at least two joint assemblies, the processor is configured to adjust the output torque of the driving mechanism corresponding to each first joint assembly separately to balance the gravity torque of the load at the distal end of the corresponding first joint assembly.
[0109] For example, in Figure 1 In the slave operating device shown, the manipulator 130 can be configured as the above-mentioned first arm. Optionally, for example, the pitch joint assembly 131 and the yaw joint assembly 132 in the manipulator 130 can both be configured as the first joint assembly in the first arm. In this example, as long as the force caused by the collision has a component force on the pitch degree of freedom corresponding to the pitch joint assembly 131 and / or the yaw degree of freedom corresponding to the yaw joint assembly 132, by adjusting the output torque of the driving mechanism of the pitch joint assembly 131 to balance the gravity torque of the load at the distal end of the pitch joint assembly 131, while adjusting the output torque of the driving mechanism of the yaw joint assembly 132 to balance the gravity torque of the load at the distal end of the yaw joint assembly 132, a more effective buffering effect can be achieved for the collision.
[0110] In some embodiments, the first joint assembly in the first arm is not completely system- or user-specified, but rather is more flexibly determined based on the location of the collision point in the first arm and / or a device attached to the distal end of the first arm. This means that changes in the collision point's location can, to some extent, affect the determination of the first joint assembly. The joint assembly that provides a collision buffering effect is typically the joint assembly at the collision point and / or the joint assembly proximal to the collision point.
[0111] Exemplarily, the first joint component may include at least one of the following components: a joint component at which the collision point is located, and a joint component proximal to the joint component at which the collision point is located. For example, the joint component at which the collision point is located, and the joint component proximal to the joint component at which the collision point is located may all be configured as the first joint component according to a preset strategy configuration. For another example, the joint component at which the collision point is located may be configured as the first joint component according to a preset strategy configuration. For another example, the joint component proximal to the joint component at which the collision point is located may all be configured as the first joint component according to a preset strategy configuration.
[0112] Exemplarily, the first joint assembly may include at least one of the following components: a joint assembly at the collision point, and a joint assembly proximal to the collision point. Furthermore, the first joint assembly may also include a joint assembly distal to the collision point. Since the joint assembly distal to the collision point does not effectively cushion the collision, whether to configure the joint assembly distal to the collision point as the first joint assembly may be determined based on actual needs.
[0113] The joint component where the collision point is located, the joint component near the proximal end of the joint component where the collision point is located, and the joint component near the distal end of the joint component where the collision point is located may all include more than one joint component.
[0114] Among them, the joint component where the collision point is located includes two cases. The first case is that the collision point is actually on a joint component in the first arm; the second case is that the collision point is not actually on a joint component in the first arm, but on a device attached to the distal component of the first arm. At this time, the joint component in the first arm close to the device can be used as the joint component where the collision point is located.
[0115] In some embodiments, regardless of the method used to determine the first joint assembly, joint assemblies corresponding to as many degrees of freedom as possible in the first arm can be configured as the first joint assembly. Specifically, when the first joint assembly includes multiple joint assemblies and there are no redundant degrees of freedom, collisions from multiple directions can be buffered. Specifically, when the first joint assembly includes multiple joint assemblies and there are redundant degrees of freedom, the joint assemblies corresponding to the redundant degrees of freedom can be used to implement multi-level buffering for collisions from directions corresponding to the redundant degrees of freedom.
[0116] In some embodiments, the first arm includes at least an active joint assembly, where the active joint assembly refers to a joint assembly driven by a driving mechanism. The first joint assembly is generally referred to as an active joint assembly.
[0117] In some embodiments, the output torque output by the drive mechanism corresponding to the first joint assembly includes a resultant output torque. The resultant output torque includes a first torque and a second torque. Exemplarily, the output torque includes the sum of the first torque and the second torque. In one embodiment, the first torque is used to balance the gravitational torque of the load at the distal end of the first joint assembly. The second torque is used to restore the joint position of the first joint assembly, or the second torque is used to brake the first joint assembly.
[0118] In some embodiments, the "collision" described in the present invention includes collisions between objects and between people and objects, wherein the "object" mainly refers to the first arm described in the present invention.
[0119] The present invention can determine whether the first arm collides by using a plurality of methods alone or in combination.
[0120] In some embodiments, the processor is further configured to: receive a current signal from the driving mechanism detected by a sensor, determine whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the current signal, and / or determine the joint component at which the collision point is located.
[0121] In this embodiment, the sensor is specifically configured to detect a current signal every first period, and the processor is specifically configured to calculate the rate of change of adjacent detected current signals and determine whether the rate of change exceeds a first threshold value; if the rate of change exceeds the first threshold value, determine that the first arm and / or a device attached to the distal end of the first arm has collided, and / or determine the joint component at the point of collision based on the joint component corresponding to the current signal whose rate of change exceeds the first threshold value. Of course, if the rate of change does not exceed the first threshold value, it cannot be temporarily determined that the first arm and / or the device attached to the distal end of the first arm has collided, and it cannot temporarily determine the joint component at the point of collision based on the joint component corresponding to the current signal whose rate of change exceeds the first threshold value.
[0122] In this embodiment, the sensor is specifically used to detect the current signal every second period, the second period is greater than the first period, and the processor is specifically used to: the processor is specifically used to calculate the change rate of the adjacent current signals detected, and determine whether the change rate exceeds a second threshold value, the second threshold value is less than the first threshold value, if the change rate exceeds the second threshold value, determine that the first arm and / or the device attached to the distal end of the first arm has collided, and / or determine the joint component where the collision point is located according to the joint component corresponding to the current signal whose change rate exceeds the second threshold value. Of course, if the change rate does not exceed the second threshold value, it is temporarily impossible to determine that the first arm and / or the device attached to the distal end of the first arm has collided, and it is also temporarily impossible to determine the joint component where the collision point is located according to the joint component corresponding to the current signal whose change rate exceeds the first threshold value.
[0123] For example, assuming that the first period is 1ms, if the rate of change corresponding to the first period exceeds the first threshold, it can be determined that the first arm and / or the device attached to the distal end of the first arm has collided, and the joint component at the collision point can be determined accordingly.
[0124] If the rate of change of the current signal is small, but the cumulative change over time leads to a large final change, then a collision should be considered to have occurred. In this case, for example, if the rate of change corresponding to the first cycle does not exceed the threshold and the determination that the first arm and / or the device attached to the distal end of the first arm has not collided is directly concluded to be incorrect, resulting in a failure to mitigate the collision.
[0125] Furthermore, the sensor can also detect the current signal once every second period, and the second period is, for example, 100ms. If the rate of change corresponding to the second period exceeds the second threshold, and the second threshold is less than the first threshold, it can be determined that the first arm and / or the device attached to the distal end of the first arm has collided, and based on this, the joint component at the collision point can be determined.
[0126] Similar to this principle, the sensor can also detect the current signal every third cycle or even more cycles, with different rate-of-change thresholds corresponding to different cycles. Longer cycles can be assigned smaller thresholds. When the rate of change corresponding to any cycle exceeds its corresponding threshold, it can be determined that the first arm and / or the device attached to the distal end of the first arm has collided, and the joint component at the point of collision can be determined accordingly.
[0127] In this embodiment, the processor is specifically configured to calculate a current difference between the current signal and a current signal detected before the collision, and determine whether the current difference exceeds a third threshold value; if the current difference exceeds the third threshold value, determine whether the first arm and / or a device attached to the distal end of the first arm has collided; and / or determine the joint component at the point of collision at the time of collision based on the joint component corresponding to the current signal whose current difference exceeds the third threshold value. Of course, if the current difference does not exceed the third threshold value, it is not currently possible to determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and it is also not currently possible to determine the joint component at the point of collision at the time of collision based on the joint component corresponding to the current signal whose current difference exceeds the third threshold value.
[0128] A method of determining whether the first arm and / or the device attached to the distal end of the first arm have collided, and / or the joint component at which the collision point is located, based on whether the current difference exceeds a corresponding threshold value can be combined with a method of determining whether the first arm and / or the device attached to the distal end of the first arm have collided, and / or the joint component at which the collision point is located, based on whether the rate of change of the current signal in a corresponding period exceeds a corresponding threshold value. This can more accurately determine whether the first arm and / or the device attached to the distal end of the first arm have collided, and / or the joint component at which the collision point is located. If any of these determinations exceeds its corresponding threshold value, it can be determined that the first arm and / or the device attached to the distal end of the first arm have collided, and the joint component at which the collision point is located can be determined accordingly. If none of these determinations exceed their corresponding threshold values, it is temporarily impossible to determine whether the first arm and / or the device attached to the distal end of the first arm have collided, and it is also temporarily impossible to determine the joint component at which the collision point is located.
[0129] In fact, there may be more than one collision point on the first arm. Even if there are more than two collision points, the joint component where the collision point is located can be accurately determined according to the above embodiment. Even if there are multiple collision points, the above embodiment of the present invention can also have a good buffering effect on such collisions.
[0130] In one embodiment, the processor is specifically used to: receive a force signal of the joint component detected by a sensor, determine whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the force signal, and / or determine the joint component where the collision point is located during the collision.
[0131] In this embodiment, the processor is specifically used to: detect whether the force signal is greater than a set threshold value; if it is detected that the force signal is greater than the threshold value, determine that the first arm and / or the device attached to the distal end of the first arm has collided; otherwise, determine that the first arm and / or the device attached to the distal end of the first arm has not collided, and determine the joint component at the collision point at the time of collision, wherein the joint component at the collision point is the joint component corresponding to the sensor whose force signal is greater than the threshold value.
[0132] In the above embodiment, when the first joint assembly is a designated joint assembly, it is generally not necessary to determine the joint assembly at which the collision point occurs; it is sufficient to determine whether the first arm and / or the device attached to the distal end of the first arm has collided. However, when the determination of the first joint assembly is associated with the location of the collision point, it is necessary to determine both whether the first arm and / or the device attached to the distal end of the first arm has collided and the joint assembly at which the collision point occurs.
[0133] In the above embodiments, when the first joint component is the designated joint component, the processed current signal should at least include the current signal of the driving mechanism corresponding to the first joint component, for example, only include the current signal of the driving mechanism corresponding to the first joint component; and / or, the processed force signal should at least include the force signal of the first joint component, for example, only include the force signal of the first joint component.
[0134] In another embodiment, the surgical robot may further include a second arm, which is typically a different arm from the first arm and is at least a portion of a parallel arm. The processor is configured to determine whether the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are the same as the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, and determine whether the first arm and / or the device attached to the distal end of the first arm have collided based on whether the position parameters are the same, and / or determine the joint component at the collision point when the collision occurs. The term "same" here includes "same" and "approximately the same."
[0135] Specifically, when the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are identical (i.e., overlapping) with the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, it is determined that the first arm and / or the device attached to the distal end of the first arm have collided, and / or the joint component at the collision point is determined based on the joint components where the identical position parameters are located. When the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are not identical with the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, it is determined that the first arm and / or the device attached to the distal end of the first arm have not collided.
[0136] In one embodiment, the processor is further configured to: obtain the joint positions of at least the first joint component and the joint component distal to the first joint component detected by the sensor, and determine the first torque corresponding to the expected output of the driving mechanism of the first joint component in combination with the joint positions and the dynamic model associated with the first joint component.
[0137] The dynamic model required for use in the present invention is usually constructed for the first joint component. For example, the dynamic model constructed for different first joint components is different. Usually, the dynamic model associated with the first joint component is related to the first joint component in the first arm and the joint component at its distal end. For example, for the first arm being the manipulator 130, if the pitch joint component 131 and the yaw joint component 132 in the manipulator 130 are both designated as the first joint components, then the pitch joint component 131 corresponds to one dynamic model, and the yaw joint component 132 corresponds to another dynamic model. Assuming that the yaw joint component 132 is located at the proximal end of the pitch joint component 131, the dynamic model of the pitch joint component 131 is only related to the pitch joint component 131 and the joint component at its distal end, while the dynamic model of the yaw joint component 132 includes the yaw joint component 132 and all joint components related to the dynamic model of the pitch joint component 131. It can be understood that in the case where the first arm is composed of more than two sub-arms, the dynamic model corresponding to the first joint component is still constructed for it, and it will not be repeated here.
[0138] In one embodiment, the dynamic model associated with the first joint component can be constructed as follows:
[0139] Obtain the link parameters of the first joint assembly and its distal joint assembly, and establish a link coordinate system based on these link parameters. The joint assembly includes a joint and a link connected to the joint. Link parameters (i.e., DH parameters) include parameters such as joint angle and / or joint displacement, and link length.
[0140] A first dynamic model associated with the first joint component is constructed based on the link coordinate system. The first dynamic model is usually expressed in symbolic form (i.e., a formula with unknown parameters). The first dynamic model is a fuzzy dynamic model (i.e., the dynamic parameters are temporarily uncertain). For example, the first dynamic model is expressed as the following formula:
[0141]
[0142] Where τ is the actual torque of the joint assembly, θ is the joint position of the joint assembly, is the velocity of the joint component ( is the first derivative of θ), is the velocity of the joint component ( is the second derivative of θ), M(θ) is the inertia matrix, Including Coriolis force and centrifugal force, G(θ) is the gravitational moment of the joint component.
[0143] Determine the unknown dynamic parameters in the first dynamic model. Wherein, the first dynamic model usually includes at least one unknown dynamic parameter. Generally, the unknown dynamic parameters involved in formula (1) can be determined to obtain an accurate second dynamic model. In one embodiment, the contribution of some unknown dynamic parameters to the joint torque can also be ignored according to actual conditions. For example, the key dynamic parameters such as the mass, center of mass and friction torque of the joint assembly can be mainly focused on. In some embodiments, the mass, center of mass and friction torque of the joint assembly may be affected by the driving mechanism that drives the joint assembly and / or the transmission mechanism that connects the driving mechanism and the joint assembly to achieve transmission. For example, when the structure of the first arm is relatively regular, at least part of the dynamic parameters such as the mass, center of mass and friction torque of the joint assembly can be directly obtained without identification. Of course, at least part of the dynamic parameters such as the mass, center of mass and friction torque of the joint assembly can also be obtained by using an identification method. For example, it is considered that M(θ) and The contribution to the joint torque is acceptable in one embodiment of the present invention, and thus, formula (1) can be simplified as follows:
[0144] τ=G(θ) Formula (2)
[0145] Substituting the determined dynamic parameters into the first dynamic model yields a second dynamic model. The second dynamic model is a clear dynamic model (i.e., one whose dynamic parameters have been determined). Furthermore, when determining a first torque expected to be output by the drive mechanism of the first joint assembly in combination with the joint positions and the dynamic model associated with the first joint assembly, the dynamic model used is the second dynamic model.
[0146] In one embodiment, considering the adverse effects of friction torque, the friction torque can be excluded from the actual torque of the joint assembly. Specifically:
[0147] Based on the principle of dynamic balance, a torque balance model of the joint component can be constructed. The torque balance model can be expressed as the following formula:
[0148]
[0149] Where τ is the actual torque of the joint assembly, θ is the joint position of the joint assembly, is the velocity of the joint assembly, k1 and k2 are the gravity torque parameters, and f is the friction torque of the joint assembly. Indicates the direction of velocity.
[0150] Furthermore, the friction torque of the joint assembly can be determined by an identification method. For example, a single joint assembly can be controlled to move at a low speed and at a uniform speed, traversing the entire range of motion, and collecting the actual torque of the joint assembly and the corresponding joint position. The single joint assembly refers to the joint assembly corresponding to the first joint assembly. In the process of uniform motion, the friction torque is approximately constant and is generally considered to be a constant. Therefore, based on the actual torque of the collected joint assembly and the corresponding joint position, the friction torque of the joint assembly can be identified using methods such as the least squares method. It is understandable that the actual torque of the joint assembly is output by the drive mechanism that drives the joint assembly to move.
[0151] Furthermore, when the unknown dynamic parameters (such as the gravity torque G(θ) in formula (2)) in the first dynamic model are determined by the identification method, each joint component can be controlled to move at a low speed and uniform speed, traverse the entire range of motion, collect the actual torque of the first joint component, and the joint position corresponding to the first joint component and its distal joint component, combine the actual torque of the first joint component, the friction torque of the first joint component and the joint position corresponding to the first joint component and its distal joint component, and use the least square method to identify the unknown dynamic parameters (such as the gravity torque G(θ) in formula (2)). For example, in formula (2), the identified unknown dynamic parameters are mainly gravity torque parameters (including mass and center of mass, etc.), so a second dynamic model that is associated with the relationship between the joint position of the first joint component and its distal joint component and the first torque of the first joint component can be effectively constructed.
[0152] In one embodiment, the second torque can be used to restore the joint position of the first joint assembly, playing a role similar to a return spring, so as to facilitate the return of the first joint assembly after a collision. The processor is configured to:
[0153] Acquiring an initial joint position and a current joint position of a first joint component detected by a sensor; calculating a joint position variable of the first joint component based on the initial joint position and the current joint position; and determining a second torque output by a drive mechanism of the first joint component based on the joint position variable. The initial joint position includes a joint position before a collision.
[0154] Preferably, the second torque increases with increasing joint position variable, that is, the larger the joint position variable, the greater the braking force; the smaller the joint position variable, the smaller the braking force. More preferably, the second torque increases linearly with increasing joint position variable.
[0155] For example, the relationship between the second torque and the joint position variable can be expressed as:
[0156] τ=k*Δx Formula (4)
[0157] Where τ is the second moment, k is the stiffness coefficient, and Δx is the joint position variable.
[0158] In some embodiments, the second torque can also be used to brake the movement of the first joint assembly under collision, having a braking effect similar to that of a brake, so as to facilitate braking of the first joint assembly under collision. The processor can be configured to:
[0159] Acquire the current joint position of the first joint component detected by the sensor; detect whether the current joint position reaches the first limit joint position of the first joint component, and the first limit joint position is within the physical limit joint position range of the first joint component; when the current joint position reaches the first limit joint position, calculate the joint position variable between the current joint position and the first limit joint position; determine the second torque output by the driving mechanism corresponding to the first joint component based on the joint position variable.
[0160] Preferably, the second torque increases as the joint position variable increases. More preferably, the second torque increases linearly as the joint position variable increases. Exemplarily, the above formula (4) can also be used to achieve braking, which will not be repeated here. Among them, the first joint component can move freely under collision before reaching the first joint position, and when reaching the first joint position, the first joint position begins to generate a restoring force to resist the movement of the first joint component to the physical limit position to achieve braking. In the non-braking stage, the first joint component can quickly avoid the collision position under the force caused by the collision, and in the braking stage, the spring principle can be used to gradually brake to avoid unexpected problems that may be caused by rapid braking.
[0161] In one embodiment, when the second torque is a braking torque, the processor may be further configured to:
[0162] Acquire the initial joint position and current joint position of the first joint component detected by the sensor; calculate the joint velocity of the first joint component based on the initial joint position, the current joint position and the time elapsed from the initial joint position to the current joint position; determine the second torque output by the driving mechanism corresponding to the first joint component based on the joint velocity.
[0163] Preferably, the second torque increases with the increase of the joint speed, that is, the greater the speed, the greater the braking force; the smaller the speed, the smaller the braking force. Exemplarily, the relationship between the second torque and the joint speed can be expressed as:
[0164] τ=k*v n Formula (5)
[0165] Where τ is the second torque, k is the damping coefficient, v is the joint velocity, and n is an integer greater than or equal to 1, for example, n = 1, n = 2, or n = 3. When n = 1, the braking effect is more linear, while when n = 2 or n = 3, the braking is faster and more agile than when n = 1.
[0166] In the above embodiment, the processor can adjust the output torque of the first joint component according to the output resultant torque of the sum of the determined first torque and the determined second torque, and achieve good results associated with the method of obtaining the second torque.
[0167] In one embodiment, for example, when the second moment adopts the principle of a spring model, that is, when the above formula (4) is used to achieve the reset of the joint position of the first joint component or the braking of the movement of the first joint component, the processor can also be configured to: during the collision, record the holding time of the first joint component at the current joint position, and when the holding time reaches a set time threshold, update the current joint position to the initial joint position. In this embodiment, specifically, the holding time of the first joint component at the current joint position can be recorded starting from the determination of the occurrence of the collision. And / or, the processor can also be configured to: during the collision, obtain the current joint position of the first joint component, when the change in the current joint position is lower than the position change threshold, record the first duration of the change in the current joint position lower than the position change threshold, and when the first duration reaches the first time threshold, update the current joint position to the initial joint position. For the rotational joint component in the first joint component, the position change threshold can range from 0 to 0.1°, for example, the position change threshold can be set to 0.01°; for the mobile joint component in the first joint component, the position change threshold can range from 0 to 0.1mm, for example, the position change threshold can be set to 0.01mm. And / or, the processor may be further configured to: obtain the joint velocity of the first joint component during the collision, record a second duration of the joint velocity being below the velocity threshold when the joint velocity is below the velocity threshold when the joint velocity is below the velocity threshold when the second duration reaches a second set time threshold, and update the current joint position to the initial joint position when the second duration reaches a second set time threshold. For the rotational joint component in the first joint component, the velocity threshold may range from 0 to 0.01° / s, for example, the velocity threshold may be set to 0.0001° / s; for the translational joint component in the first joint component, the velocity threshold may range from 0 to 0.01mm / s, for example, the velocity threshold may be set to 0.0001mm / s. The set time threshold, the first set time threshold, and the second set time threshold may be completely identical, partially identical, or completely different, for example, they may all be set to 4 to 8 seconds, more preferably, they may all be set to 6 seconds. The first joint component may exemplarily include all or part of the joint components configured as the first joint component. For example, when all joint components in the first joint component meet any of the above conditions, the current joint position is updated to the initial joint position. In this embodiment, the initial joint position is updated and is no longer the joint position before the collision. At this point, the collision mode is exited and the collision mode is re-entered only when it is determined that the first arm and / or the device attached to the distal end of the first arm has collided again. The collision mode includes: when a collision is determined to have occurred, in response to the collision, adjusting the output torque of the drive mechanism corresponding to the first joint component in the joint assembly to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and restoring the joint position of the first joint component or braking the first joint component.Furthermore, the collision duration includes the entire period from detecting a collision of the first arm and / or a device attached to the distal end of the first arm to exiting the collision mode. During the collision duration, the output torque of the drive mechanism corresponding to the first joint assembly must balance the gravitational torque of the load at the distal end of the corresponding first joint assembly and restore the joint position of the first joint assembly or brake the first joint assembly.
[0168] In this embodiment, the joint position variables of the first joint component can be recalculated based on the updated initial joint position and the current position, so that the first torque can change periodically, and then the first arm can be in a state of staged motion, which can reduce the obstruction of the first arm to the collision to a certain extent, especially when the second arm being operated collides with the first arm. Since the first arm can continue to move when the holding time during the collision reaches the set time threshold, such as offsetting and / or rotating under the collision, the problem of reduced motion range of the second arm due to obstruction of the first arm to the second arm can be reduced or even avoided.
[0169] In one embodiment, the processor may be further configured to:
[0170] Acquiring a joint position of a joint assembly in a first arm detected by a sensor; calculating position parameters of a kinematic model of the first arm based on the joint position and forward kinematics; determining whether the position parameters of the kinematic model reach boundary parameters of an effective space of the first arm, where the effective space is at least a portion of a Cartesian space of the first arm; and braking at least the second joint assembly when the position parameters of the kinematic model reach the boundary parameters of the effective space.
[0171] Among them, the second joint component includes a joint component in the first joint component that reaches the boundary parameters of the effective space. Of course, when the position parameters of the kinematic model reach the boundary parameters of the effective space, all the first joint components can also be braked. Suitable for different purposes, the effective space can be further restricted or shrunk. For example, when a surgical instrument 150 is installed at the distal end of the first arm, the effective space of the first arm can be restricted or limited to prevent the surgical instrument 150 inserted into the human body from following the first arm with a large deviation amplitude under collision and damaging human organs or tissues. For example, the initial effective space obtained from the Cartesian space of the first arm can be shrunk according to a certain ratio (less than 1) to obtain a new effective space that meets the requirements.
[0172] In this embodiment, for example, when only the second joint assembly is braked, the first joint assembly, excluding the second joint assembly, can continue to move in the event of a collision, thereby better cushioning the collision. In particular, when the second arm being operated collides with the first arm, the problem of the second arm's range of motion being reduced due to the first arm's obstruction of the second arm can be alleviated. In addition, this embodiment can be combined with the above-mentioned embodiment of outputting a second torque for restoring the joint position of the first joint assembly or for braking the movement of the first joint assembly during or after a collision through the drive mechanism of the first joint assembly to ensure the reliability and safety of the first arm.
[0173] In this embodiment, if Figure 3 As shown, when the Cartesian space 410 of the unoperated first arm and the Cartesian space 420 of the second arm have an overlapping portion 430, the second arm here refers to the arm (including its sub-arm) that is not currently in collision with the first arm. This second arm can be either the unoperated arm or the operated arm. The effective space of the first arm can be determined based on whether the position parameters of the second arm's kinematic model are within the overlapping portion 430. For example, when the position parameters of the second arm's kinematic model are within the overlapping portion 430, the effective space of the first arm is the portion of the first arm's Cartesian space that does not contain the overlapping portion; and / or, when the position parameters of the second arm's kinematic model are not within the overlapping portion 430, the effective space of the first arm is the entire Cartesian space 410 of the first arm. This design maximizes the range of motion of the first arm in the event of a collision and prevents collisions from being transferred from the first arm to the second arm. This prevents collision transfer, particularly when the second arm is being operated. By preventing collision transfer, the second arm can smoothly perform surgical procedures without interference.
[0174] In some embodiments, the processor is further configured to: determine whether a condition is satisfied before a collision, and when it is determined that the condition is satisfied, adjust the output torque of the drive mechanism corresponding to the first joint assembly in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly. Furthermore, when it is determined that a collision has occurred with the first arm and / or the device attached to the distal end of the first arm, in response to the collision with the first arm and / or the device attached to the distal end of the first arm, adjust the output torque of the drive mechanism corresponding to the first joint assembly in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and restore the joint position of the first joint assembly or brake the first joint assembly. Through this embodiment, the first arm can be prepared for a collision before a collision occurs. For example, this can play a certain buffering role even in situations where the force causing the collision is small or even is not determined by the system to have occurred.
[0175] In this embodiment, the above-mentioned determination that the condition is satisfied includes obtaining a trigger signal.
[0176] Exemplarily, the surgical robot also includes another input device electrically connected to the processor, and the other input device includes but is not limited to one or more of a button, a switch, a touch screen, a voice recognition device, a fingerprint recognition device, a facial recognition device, etc., and the trigger signal is output by the user operating the other input device.
[0177] Exemplarily, the surgical robot also includes a sensor electrically connected to the processor for detecting whether a device is attached to the distal end of the first arm. The trigger signal is automatically generated by the sensor when it detects that no device is attached to the distal end of the first arm. For example, the device includes one or more of a puncture device and a surgical instrument 150 connected to the distal end of the first arm.
[0178] In some embodiments, the surgical robot further includes a sensor electrically connected to the processor for detecting whether a device is attached to the distal end of the first arm, and the processor is specifically configured to:
[0179] When it is detected that a device is attached to the distal end of the first arm, in response to a collision of the first arm and / or the device attached to the distal end of the first arm, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravity torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked. In this embodiment, for example, Figure 1 In the illustrated slave operating device, if a device is not attached to the distal end of an arm (including a sub-arm), this arm is considered an idle arm. During surgery, it is typically placed in a non-surgical area, away from other arms being operated on, and thus is generally not collided with by the operated arms. Furthermore, the collided arm is typically the arm placed in the surgical area, which is typically equipped with the aforementioned device. Therefore, this embodiment allows the aforementioned process of responding to a collision with the first arm and / or the device attached to the distal end of the first arm to be performed once it is determined that a device is attached to the distal end of the first arm.
[0180] In some embodiments, the surgical robot further includes a sensor electrically connected to the processor for detecting type information of the surgical instrument 150, and a drive mechanism electrically connected to the processor for driving the distal end instrument of the surgical instrument 150. The processor is specifically configured to:
[0181] When it is determined that the type information of the surgical instrument 150 and / or the status information of the end instrument meet the safety conditions, in response to the collision of the first arm and / or the device attached to the distal end of the first arm, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked.
[0182] In this embodiment, for example, if surgical instrument 150 is an endoscope, it can be considered to meet safety conditions. Another example is if surgical instrument 150 is an electric hook, and the hook is powered on, it can be considered to meet safety conditions; if the hook is powered on, it can be considered to meet safety conditions. Another example is if surgical instrument 150 is a pair of scissors, and the scissors are closed, it can be considered to meet safety conditions; if the scissors are open, it can be considered to meet safety conditions. These examples are not listed here. This ensures the reliability and safety of surgical procedures while buffering collisions.
[0183] In one embodiment, if Figure 1 As shown, when the first arm only includes the manipulator 130, or when the first arm only includes the cyclone joint assembly of the adjustment arm 120 and the manipulator 130, even if the above-mentioned device is installed at the distal end of the first arm, and even if the first arm and / or the device attached to the distal end of the first arm is hit, when any one of the first joint assemblies in the first arm rotates, the manipulator 130 will only move around the remote motion center, so the potential risk of damage to organs and tissues in the body is relatively small.
[0184] In some embodiments, when the second arm is the arm being operated, for example, Figure 1 In the slave operating device shown, the second arm includes a manipulator and a surgical instrument, and the motion input device operates the manipulator and the surgical instrument in the second arm to perform surgery. In some embodiments, when the surgical robot includes a second arm being operated, the processor can also be configured to: when the sensor of the second arm detects that the current signal of the driving mechanism of the second arm reaches a set current threshold, record the duration of the current signal reaching the set current threshold; then, determine whether the duration reaches the time threshold; when the duration reaches the time threshold, send an instruction to the driving mechanism of the second arm to control the driving mechanism of the second arm to stop moving, thereby causing the joint assembly driven by the corresponding driving mechanism to stop moving. The reason for the current of the driving mechanism in the second arm to reach the set threshold may be due to a collision, of course, it can also be other reasons. Through this embodiment, overcurrent protection can be achieved for the second arm.
[0185] Among them, when the current signal of any driving mechanism in the second arm reaches the set current threshold and the duration reaches the time threshold, it is necessary to send an instruction to control at least one driving mechanism in the second arm to stop moving. For example, an instruction can be sent to control all driving mechanisms in the second arm to stop moving.
[0186] The command for controlling at least one driving mechanism in the second arm to stop movement includes a command position and / or a command speed. For example, taking the command speed as an example, the command speed can be obtained using the following formula:
[0187] V=V1-ΔV Formula (6)
[0188] Where V represents the command speed, V1 represents the current joint speed, and ΔV represents the change in joint speed. The joint speed of a joint component is determined by the speed of the drive mechanism corresponding to the joint component.
[0189] The joint speed of the corresponding joint component (corresponding to the speed of the driving mechanism) can be reduced from the current joint speed V1 to 0 within a specified cycle. For example, trapezoidal speed planning can be used to achieve stopping motion and then determine ΔV. In a simpler example, assuming that the current joint speed of a joint component is 10mm / s, it is necessary to reduce it from 10mm / s to 0 within 10 cycles. For example, ΔV can be set to a fixed value of 1mm / s, and an instruction speed can be sent once per cycle to reduce the current joint speed by 1mm / s within the cycle. For example, the instruction speed of the first cycle is 9mm / s, the instruction speed of the second cycle is 8mm / s, and so on, until it is reduced to 0. Of course, ΔV can also be a variable value. For example, trajectory planning (including speed planning) can be used to determine the ΔV required for each cycle and then determine the instruction speed. They are not listed here one by one.
[0190] The present invention also provides a method for preventing collision of the middle arm of a surgical robot. Figure 4 As shown, in some embodiments, the method includes:
[0191] In step S1 , it is determined whether a collision occurs with the first arm and / or a device attached to the distal end of the first arm.
[0192] In step S1 , when it is determined that the first arm and / or the device attached to the distal end of the first arm collides, the process proceeds to step S2 .
[0193] Step S2, in response to the collision of the first arm and / or the device attached to the distal end of the first arm, adjust the output torque of the driving mechanism corresponding to the first joint component in the joint assembly of the first arm to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and restore the joint position of the first joint component or brake the first joint component.
[0194] The “balance” described in step S2 generally means a relatively balanced relationship, which allows the existence of torque deviation. For the same first joint component, the following formula is sufficient:
[0195] x=|F1-F2|≤Δx
[0196] x is the torque deviation, F1 is the output torque of the drive mechanism, F2 is the gravity torque of the distal load of the corresponding first joint component, and Δx is the torque deviation threshold. For example, the value range of Δx can be [0, 10] N / m.
[0197] As long as x≤Δx, the output torque of the drive mechanism can be regarded as balancing the gravity torque of the load at the distal end of the corresponding joint assembly.
[0198] Furthermore, when the first arm is collided, the adjusted joint assembly in the first arm, i.e., the first joint assembly, can be more easily deflected and / or moved under the action of the force caused by the collision, so as to effectively cushion the collision through changes in position and / or posture.
[0199] In some embodiments, the first joint assembly in the first arm may be composed of joint assemblies specified by the system or the user. In this embodiment, the first joint assembly specifically includes which joint assemblies in the first arm are determined in advance (i.e., configured) before the collision occurs. For example, the first joint assembly in the first arm can be obtained from a system file, or the first joint assembly in the first arm can be set through a user configuration interface. Among them, the first joint assembly generally refers to a type of joint assembly, and the number includes at least one. For example, when the first joint assembly includes at least two joint assemblies, the processor is configured to adjust the output torque of the driving mechanism corresponding to each first joint assembly separately to balance the gravity torque of the load at the distal end of the corresponding first joint assembly.
[0200] For example, in Figure 1 From the operating device shown, the manipulator can be configured as the above-mentioned first arm. Optionally, for example, the pitch joint assembly and the yaw joint assembly in the manipulator can both be configured as the first joint assembly in the first arm. In this example, as long as the force caused by the collision has a component force on the pitch degree of freedom corresponding to the pitch joint assembly and / or the yaw degree of freedom corresponding to the yaw joint assembly, by adjusting the output torque of the driving mechanism of the pitch joint assembly to balance the gravity torque of the load at the distal end of the pitch joint assembly, while adjusting the output torque of the driving mechanism of the yaw joint assembly to balance the gravity torque of the load at the distal end of the yaw joint assembly, a more effective buffering effect can be achieved for the collision.
[0201] In some embodiments, the first joint assembly in the first arm is not completely system- or user-specified, but rather is more flexibly determined based on the location of the collision point in the first arm and / or a device attached to the distal end of the first arm. This means that changes in the collision point's location can, to some extent, affect the determination of the first joint assembly. The joint assembly that provides a collision buffering effect is typically the joint assembly at the collision point and / or the joint assembly proximal to the collision point.
[0202] Exemplarily, the first joint component may include at least one of the following components: a joint component at which the collision point is located, and a joint component proximal to the joint component at which the collision point is located. For example, the joint component at which the collision point is located, and the joint component proximal to the joint component at which the collision point is located may all be configured as the first joint component according to a preset strategy configuration. For another example, the joint component at which the collision point is located may be configured as the first joint component according to a preset strategy configuration. For another example, the joint component proximal to the joint component at which the collision point is located may all be configured as the first joint component according to a preset strategy configuration.
[0203] Exemplarily, the first joint assembly may include at least one of the following components: a joint assembly at the collision point, and a joint assembly proximal to the collision point. Furthermore, the first joint assembly may also include a joint assembly distal to the collision point. Since the joint assembly distal to the collision point does not effectively cushion the collision, whether to configure the joint assembly distal to the collision point as the first joint assembly may be determined based on actual needs.
[0204] The joint component where the collision point is located, the joint component near the proximal end of the joint component where the collision point is located, and the joint component near the distal end of the joint component where the collision point is located may all include more than one joint component.
[0205] Among them, the joint component where the collision point is located includes two cases. The first case is that the collision point is actually on a joint component in the first arm; the second case is that the collision point is not actually on a joint component in the first arm, but on a device attached to the distal component of the first arm. At this time, the joint component in the first arm close to the device can be used as the joint component where the collision point is located.
[0206] In some embodiments, regardless of the method used to determine the first joint component, the joint components corresponding to as many degrees of freedom as possible in the first arm can be configured as the first joint component. Wherein, when the first joint component includes multiple joint components and there are no redundant degrees of freedom, collisions from multiple directions can be buffered. Wherein, when the first joint component includes multiple joint components and there are redundant degrees of freedom, the joint components corresponding to the redundant degrees of freedom can be used to implement multi-level buffering of collisions from the directions corresponding to the redundant degrees of freedom.
[0207] In some embodiments, the first arm includes at least an active joint assembly, where the active joint assembly refers to a joint assembly driven by a driving mechanism. The first joint assembly is generally referred to as an active joint assembly.
[0208] In some embodiments, the output torque output by the drive mechanism corresponding to the first joint assembly includes a resultant output torque. The resultant output torque includes a first torque and a second torque. Exemplarily, the output torque includes the sum of the first torque and the second torque. In one embodiment, the first torque is used to balance the gravitational torque of the load at the distal end of the first joint assembly. The second torque is used to restore the joint position of the first joint assembly, or the second torque is used to brake the first joint assembly.
[0209] In some embodiments, the "collision" described in the present invention includes collisions between objects and between people and objects, wherein the "object" mainly refers to the first arm described in the present invention.
[0210] The present invention can determine whether the first arm collides by using a plurality of methods alone or in combination.
[0211] In some embodiments, such as Figure 5 As shown, the above step S1, i.e., determining whether the first arm and / or the device attached to the distal end of the first arm has collided, may include:
[0212] Step S101: receiving a current signal of a driving mechanism detected by a sensor.
[0213] Step S102 , determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on the change in the current signal, and / or determining the joint component where the collision point is located.
[0214] In this embodiment, the sensor is specifically used to detect the current signal every first cycle, such as Figure 6 As shown, the above step S102 may include:
[0215] Step S1021 , calculating the change rate of the detected adjacent current signals.
[0216] Step S1022: determine whether the change rate exceeds a first threshold.
[0217] In step S1022, if the change rate exceeds the first threshold, the process proceeds to step S1023.
[0218] Step S1023 , determining whether the first arm and / or the device attached to the distal end of the first arm has collided, and / or determining the joint component where the collision point is located according to the joint component corresponding to the current signal whose rate of change exceeds the first threshold.
[0219] Of course, if the rate of change does not exceed the first threshold, it is temporarily impossible to determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and it is also temporarily impossible to determine the joint component at which the collision point is located based on the joint component corresponding to the current signal whose rate of change exceeds the first threshold.
[0220] In this embodiment, the sensor is specifically configured to detect the current signal every second period, where the second period is greater than the first period. Figure 7 As shown, the above step S102 may further include:
[0221] Step S1021 ′: calculating the change rate of the adjacent detected current signals.
[0222] Step S1022': determine whether the change rate exceeds a second threshold.
[0223] Wherein, the second threshold is smaller than the first threshold. In step S1022', if the change rate exceeds the second threshold, the process proceeds to step S1023'.
[0224] Step S1023', determining whether the first arm and / or the device attached to the distal end of the first arm collides, and / or determining the joint component where the collision point is located based on the joint component corresponding to the current signal whose change rate exceeds the second threshold.
[0225] Of course, if the rate of change does not exceed the second threshold, it is temporarily impossible to determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and it is also temporarily impossible to determine the joint component at which the collision point is located based on the joint component corresponding to the current signal whose rate of change exceeds the first threshold.
[0226] For example, assuming that the first period is 1ms, if the rate of change corresponding to the first period exceeds the first threshold, it can be determined that the first arm and / or the device attached to the distal end of the first arm has collided, and the joint component at the collision point can be determined accordingly.
[0227] If the rate of change of the current signal is small, but the cumulative change over time leads to a large final change, then a collision should be considered to have occurred. In this case, for example, if the rate of change corresponding to the first cycle does not exceed the threshold and the determination that the first arm and / or the device attached to the distal end of the first arm has not collided is directly concluded to be incorrect, resulting in a failure to mitigate the collision.
[0228] Furthermore, the sensor can also detect the current signal once every second period, and the second period is, for example, 100ms. If the rate of change corresponding to the second period exceeds the second threshold, and the second threshold is less than the first threshold, it can be determined that the first arm and / or the device attached to the distal end of the first arm has collided, and based on this, the joint component at the collision point can be determined.
[0229] Similar to this principle, the sensor can also detect the current signal every third cycle or even more cycles, with different rate-of-change thresholds corresponding to different cycles. Longer cycles can be assigned smaller thresholds. When the rate of change corresponding to any cycle exceeds its corresponding threshold, it can be determined that the first arm and / or the device attached to the distal end of the first arm has collided, and the joint component at the point of collision can be determined accordingly.
[0230] In this embodiment, if Figure 8 As shown, the above step S102 may further include:
[0231] In step S1021 , a current difference between the current signal and the current signal detected before the collision is calculated.
[0232] In step S1022, it is determined whether the current difference exceeds a third threshold.
[0233] In step S1022", if the current difference exceeds the third threshold, proceed to step S1023".
[0234] In step S1023, it is determined whether the first arm and / or the device attached to the distal end of the first arm has collided, and / or the joint component at which the collision point is located is determined based on the joint component corresponding to the current signal whose current difference exceeds the third threshold.
[0235] Of course, if the current difference does not exceed the third threshold, it is temporarily impossible to determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and it is also temporarily impossible to determine the joint component at the collision point based on the joint component corresponding to the current signal whose current difference exceeds the third threshold.
[0236] In this embodiment, a method of determining whether the first arm and / or the device attached to the distal end of the first arm have collided, and / or the joint component at which the collision point is located, based on whether the current difference exceeds a corresponding threshold value can be combined with a method of determining whether the first arm and / or the device attached to the distal end of the first arm have collided, and / or the joint component at which the collision point is located, based on whether the rate of change of the current signal in a corresponding period exceeds a corresponding threshold value. This can more accurately determine whether the first arm and / or the device attached to the distal end of the first arm have collided, and / or the joint component at which the collision point is located. If any of these determinations exceeds its corresponding threshold value, it can be determined that the first arm and / or the device attached to the distal end of the first arm have collided, and the joint component at which the collision point is located can be determined accordingly. If none of these determinations exceed their corresponding threshold values, it is temporarily not possible to determine whether the first arm and / or the device attached to the distal end of the first arm have collided, and it is also temporarily not possible to determine the joint component at which the collision point is located.
[0237] In fact, there may be more than one collision point on the first arm. Even if there are more than two collision points, the joint component where the collision point is located can be accurately determined according to the above embodiment. Even if there are multiple collision points, the above embodiment of the present invention can also have a good buffering effect on such collisions.
[0238] In one embodiment, if Figure 9 As shown, the above step S1, i.e., determining whether the first arm and / or the device attached to the distal end of the first arm has collided, may further include:
[0239] Step S111: receiving a force signal of a joint component detected by a sensor.
[0240] Step S112 , determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on the change in the force signal, and / or determining the joint component where the collision point is located.
[0241] In this embodiment, the processor is specifically used to: detect whether the force signal is greater than a set threshold value; if it is detected that the force signal is greater than the threshold value, determine that the first arm and / or the device attached to the distal end of the first arm has collided; otherwise, determine that the first arm and / or the device attached to the distal end of the first arm has not collided, and determine the joint component at the collision point at the time of collision, wherein the joint component at the collision point is the joint component corresponding to the sensor whose force signal is greater than the threshold value.
[0242] In the above embodiment, when the first joint assembly is a designated joint assembly, it is generally not necessary to determine the joint assembly at which the collision point occurs; it is sufficient to determine whether the first arm and / or the device attached to the distal end of the first arm has collided. However, when the determination of the first joint assembly is associated with the location of the collision point, it is necessary to determine both whether the first arm and / or the device attached to the distal end of the first arm has collided and the joint assembly at which the collision point occurs.
[0243] In the above embodiments, when the first joint component is the designated joint component, the processed current signal should at least include the current signal of the driving mechanism corresponding to the first joint component, for example, only include the current signal of the driving mechanism corresponding to the first joint component; and / or, the processed force signal should at least include the force signal of the first joint component, for example, only include the force signal of the first joint component.
[0244] In another embodiment, the surgical robot may further include a second arm, such as Figure 10 As shown, the above step S1, i.e., determining whether the first arm and / or the device attached to the distal end of the first arm has collided, may further include:
[0245] Step S121 , determining whether position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are the same as position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm.
[0246] In step S122 , it is determined whether the first arm and / or the device attached to the distal end of the first arm has collided based on whether the position parameters are the same, and / or the joint component where the collision point is located is determined.
[0247] The “same” described in step S122 includes the same and substantially the same.
[0248] Specifically, when the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are identical (i.e., overlapping) with the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, it is determined that the first arm and / or the device attached to the distal end of the first arm have collided, and / or the joint component at the collision point is determined based on the joint components where the identical position parameters are located. When the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are not identical with the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, it is determined that the first arm and / or the device attached to the distal end of the first arm have not collided.
[0249] In one embodiment, if Figure 11 As shown, specifically in the above step S2, i.e., adjusting the output torque of the driving mechanism corresponding to the first joint assembly in the joint assembly of the first arm to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and before restoring the joint position of the first joint assembly or braking the first joint assembly, the method further includes:
[0250] Step S201 : acquiring joint positions of at least a first joint component and a joint component distal to the first joint component detected by a sensor.
[0251] Step S202 : Determine a first torque that is expected to be output by a driving mechanism corresponding to the first joint component by combining the joint position and a dynamics model associated with the first joint component.
[0252] Among them, the dynamic model required to be used in step S202 is usually constructed for the first joint component. For example, the dynamic model constructed for different first joint components is different. Usually, the dynamic model associated with the first joint component is related to the first joint component in the first arm and the joint component at its distal end. For example, for the first arm being a manipulator, if the pitch joint component and the yaw joint component in the manipulator are both designated as the first joint components, then the pitch joint component corresponds to one dynamic model, and the yaw joint component corresponds to another dynamic model. Assuming that the yaw joint component is located at the proximal end of the pitch joint component, the dynamic model of the pitch joint component is only related to the pitch joint component and the joint component at its distal end, while the dynamic model of the yaw joint component includes the yaw joint component and all joint components related to the dynamic model of the pitch joint component. It can be understood that in the case where the first arm is composed of more than two sub-arms, the dynamic model corresponding to it is still constructed for the first joint component, and it will not be repeated here.
[0253] In one embodiment, if Figure 12 As shown, before the above step S202, the dynamic model associated with the first joint component can be constructed as follows. The method includes:
[0254] Step S2021: Acquire the link parameters of the first joint component and the distal joint component thereof, and establish a link coordinate system based on these link parameters.
[0255] The joint assembly includes a joint and a connecting rod connected to the joint. The connecting rod parameters (ie, DH parameters) include parameters such as joint angle and / or joint displacement, connecting rod length, etc.
[0256] Step S2022: construct a first dynamic model associated with the first joint component according to the link coordinate system.
[0257] The first kinetic model is usually expressed in symbolic form (i.e., a formula with unknown parameters). The first kinetic model is a fuzzy kinetic model (i.e., the kinetic parameters are temporarily uncertain). For example, the first kinetic model is expressed as the following formula:
[0258]
[0259] Where τ is the actual torque of the joint assembly, θ is the joint position of the joint assembly, is the velocity of the joint component ( is the first derivative of θ), is the velocity of the joint component ( is the second derivative of θ), M(θ) is the inertia matrix, Including Coriolis force and centrifugal force, G(θ) is the gravitational moment of the joint component.
[0260] Step S2023: Determine unknown kinetic parameters in the first kinetic model.
[0261] Among them, the first dynamic model usually includes at least one unknown dynamic parameter. Usually, the unknown dynamic parameters involved in formula (1) can be determined to obtain an accurate second dynamic model. In one embodiment, the contribution of some unknown dynamic parameters to the joint torque can also be ignored according to actual conditions. For example, the mass, center of mass and friction torque of the joint assembly can be mainly focused on. In some embodiments, the mass, center of mass and friction torque of the joint assembly may be affected by the driving mechanism that drives the joint assembly and / or the transmission mechanism that connects the driving mechanism and the joint assembly to achieve transmission. For example, when the structure of the first arm is relatively regular, at least part of the dynamic parameters such as the mass, center of mass and friction torque of the joint assembly can be directly obtained without identification. Of course, at least part of the dynamic parameters such as the mass, center of mass and friction torque of the joint assembly can also be obtained by using identification methods. For example, it is considered that ignoring M(θ) and The contribution to the joint torque is acceptable in one embodiment of the present invention, and thus, formula (1) can be simplified as follows:
[0262] τ=G(θ) Formula (2)
[0263] Step S2024: Substitute the determined kinetic parameters into the first kinetic model to obtain a second kinetic model.
[0264] The second dynamic model is a clear dynamic model (i.e., the dynamic parameters of which are determined). Furthermore, when determining the first torque expected to be output by the drive mechanism of the first joint assembly in combination with the joint positions and the dynamic model associated with the first joint assembly, the dynamic model used refers to the second dynamic model.
[0265] In one embodiment, considering the adverse effects of friction torque, the friction torque can be excluded from the actual torque of the joint assembly. Specifically:
[0266] Based on the principle of dynamic balance, a torque balance model of the joint component can be constructed. The torque balance model can be expressed as the following formula:
[0267]
[0268] Where τ is the actual torque of the joint assembly, θ is the joint position of the joint assembly, is the velocity of the joint assembly, k1 and k2 are the gravity torque parameters, and f is the friction torque of the joint assembly. Indicates the direction of velocity.
[0269] Furthermore, the friction torque of the joint assembly can be determined by an identification method. For example, a single joint assembly can be controlled to move at a low speed and at a uniform speed, traversing the entire range of motion, and collecting the actual torque of the joint assembly and the corresponding joint position. The single joint assembly refers to the joint assembly corresponding to the first joint assembly. In the process of uniform motion, the friction torque is approximately constant and is generally considered to be a constant. Therefore, based on the actual torque of the collected joint assembly and the corresponding joint position, the friction torque of the joint assembly can be identified using methods such as the least squares method. It is understandable that the actual torque of the joint assembly is output by the drive mechanism that drives the joint assembly to move.
[0270] Furthermore, when the unknown dynamic parameters (such as the gravity torque G(θ) in formula (2)) in the first dynamic model are determined by the identification method, each joint component can be controlled to move at a low speed and uniform speed, traverse the entire range of motion, collect the actual torque of the first joint component, and the joint position corresponding to the first joint component and its distal joint component, combine the actual torque of the first joint component, the friction torque of the first joint component and the joint position corresponding to the first joint component and its distal joint component, and use the least square method to identify the unknown dynamic parameters (such as the gravity torque G(θ) in formula (2)). For example, in formula (2), the identified unknown dynamic parameters are mainly gravity torque parameters (including mass and center of mass, etc.), so a second dynamic model that is associated with the relationship between the joint position of the first joint component and its distal joint component and the first torque of the first joint component can be effectively constructed.
[0271] In one embodiment, the second torque can be used to restore the joint position of the first joint assembly, playing a role similar to a return spring, so as to facilitate the return of the first joint assembly after a collision. Figure 13 As shown, specifically in the above step S2, i.e., adjusting the output torque of the driving mechanism corresponding to the first joint assembly in the joint assembly of the first arm to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and before restoring the joint position of the first joint assembly or braking the first joint assembly, the method further includes:
[0272] Step S211 , obtaining the initial joint position and current joint position of the first joint component detected by the sensor.
[0273] The initial joint position includes the joint position before the collision.
[0274] Step S212: Calculate the joint position variable of the first joint component according to the initial joint position and the current joint position.
[0275] Step S213: determining a second torque output by the driving mechanism corresponding to the first joint component based on the joint position variable.
[0276] Preferably, the second torque increases as the joint position variable increases, that is, the larger the joint position variable is, the greater the braking force is; and the smaller the joint position variable is, the smaller the braking force is.
[0277] More preferably, the second torque increases linearly with the increase of the joint position variable.
[0278] For example, the relationship between the second torque and the joint position variable can be expressed as:
[0279] τ=k*Δx Formula (4)
[0280] Where τ is the second moment, k is the stiffness coefficient, and Δx is the joint position variable.
[0281] In some embodiments, the second torque can also be used to brake the movement of the first joint assembly under collision, playing a similar effect to braking, so as to facilitate braking of the first joint assembly under collision. Figure 14 As shown, specifically in the above step S2, i.e., adjusting the output torque of the driving mechanism corresponding to the first joint assembly in the joint assembly of the first arm to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and before restoring the joint position of the first joint assembly or braking the first joint assembly, the method further includes:
[0282] Step S221: Acquire the current joint position of the first joint component detected by the sensor.
[0283] Step S222: Detect whether the current joint position reaches the first limit joint position of the first joint assembly.
[0284] Wherein, the first limit joint position is within the physical limit joint position range of the first joint assembly. In step S222, when the current joint position reaches the first limit joint position, step S223 is entered.
[0285] Step S223, calculating the joint position variable between the current joint position and the first limit joint position.
[0286] Step S224 : determining a second torque output by the driving mechanism corresponding to the first joint component based on the joint position variable.
[0287] Preferably, the second torque increases as the joint position variable increases.
[0288] Preferably, the second torque increases linearly with the increase of the joint position variable. Exemplarily, the above formula (4) can also be used to achieve braking, which will not be repeated here. Among them, the first joint component can move freely under collision when it has not reached the first joint position, and when it reaches the first joint position, the first joint position begins to generate a restoring force that resists the movement of the first joint component to the physical limit position to achieve braking. In the non-braking stage, the first joint component can quickly avoid the collision position under the force caused by the collision, and in the braking stage, the spring principle can be used to gradually brake to avoid unexpected problems that may be caused by rapid braking.
[0289] In one embodiment, when the second torque is a braking torque, as shown in FIG. Figure 15 As shown, specifically in the above step S2, i.e., adjusting the output torque of the driving mechanism corresponding to the first joint assembly in the joint assembly of the first arm to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and before restoring the joint position of the first joint assembly or braking the first joint assembly, the method further includes:
[0290] Step S231 , obtaining the initial joint position and current joint position of the first joint component detected by the sensor.
[0291] Step S232 , calculating the joint velocity of the first joint component according to the initial joint position, the current joint position, and the time elapsed from the initial joint position to the current joint position.
[0292] Step S233: determining a second torque output by the driving mechanism corresponding to the first joint component based on the joint velocity.
[0293] Preferably, the second torque increases with increasing joint speed, that is, the greater the speed, the greater the braking force; the smaller the speed, the smaller the braking force.
[0294] For example, the relationship between the second torque and the joint velocity can be expressed as:
[0295] τ=k*v n Formula (5)
[0296] Where τ is the second torque, k is the damping coefficient, v is the joint velocity, and n is an integer greater than or equal to 1, for example, n = 1, n = 2, or n = 3. When n = 1, the braking effect is more linear, while when n = 2 or n = 3, the braking is faster and more agile than when n = 1.
[0297] In the above embodiment, the processor can adjust the output torque of the first joint component according to the output resultant torque of the sum of the determined first torque and the determined second torque, and achieve good results associated with the method of obtaining the second torque.
[0298] In one embodiment, for example, when the second moment adopts the principle of the spring model, that is, the above formula (4) is used to achieve the situation where the joint position of the first joint component is reset or the movement of the first joint component is braked, Figure 16 As shown, the method may further include:
[0299] Step S31 : During the collision, record the time the first joint component remains at the current joint position.
[0300] Specifically, in step S31 , the time for which the first joint component is held at the current joint position may be recorded starting from when the collision is determined to have occurred.
[0301] Step S32: Check whether the holding time reaches a set time threshold.
[0302] Among them, in this step S32, when the holding time reaches the set time threshold, step S33 is entered.
[0303] Step S33: Update the current joint position to the initial joint position.
[0304] Among them, in this step S33, the initial joint position is updated and is no longer the joint position before the collision. In one embodiment, the above steps S31 to S33 can be combined or replaced. During the duration of the collision, the current joint position of the first joint component is obtained. When the change in the current joint position is lower than the position change threshold, the first duration during which the change in the current joint position is lower than the position change threshold is recorded. When the first duration reaches the first time threshold, the current joint position is updated to the initial joint position. For the rotational joint component in the first joint component, the position change threshold can range from 0 to 0.1°, for example, the position change threshold can be set to 0.01°; for the mobile joint component in the first joint component, the position change threshold can range from 0 to 0.1mm, for example, the position change threshold can be set to 0.01mm. In one embodiment, the above steps S31 to S33 can be combined with or replaced by obtaining the joint velocity of the first joint component during the collision. When the joint velocity is lower than the velocity threshold, a second duration of the joint velocity lower than the velocity threshold is recorded. When the second duration reaches a second set time threshold, the current joint position is updated to the initial joint position. For the rotational joint component in the first joint component, the velocity threshold can range from 0 to 0.01° / s, for example, the velocity threshold can be set to 0.0001° / s; for the mobile joint component in the first joint component, the velocity threshold can range from 0 to 0.01mm / s, for example, the velocity threshold can be set to 0.0001mm / s. The set time threshold, the first set time threshold, and the second set time threshold can be completely identical, partially identical, or completely different. For example, they can all be set to 4 to 8 seconds, and more preferably, they can all be set to 6 seconds. The first joint component can exemplarily include all or part of the joint components configured as the first joint component. For example, when all joint components in the first joint component meet any of the above conditions, the current joint position is updated to the initial joint position. At this time, the exit from the collision mode is realized, and the collision mode is re-entered only when it is determined that the first arm and / or the device attached to the distal end of the first arm collides again. The collision mode includes: when it is determined that a collision occurs, in response to the collision, adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint component, and restoring the joint position of the first joint component or braking the first joint component. In addition, the collision duration includes the entire period from the detection of the collision of the first arm and / or the device attached to the distal end of the first arm to the exit from the collision mode. During the collision duration, the output torque of the driving mechanism corresponding to the first joint component needs to balance the gravity torque of the load at the distal end of the corresponding first joint component, and restore the joint position of the first joint component or brake the first joint component.
[0305] In this embodiment, the joint position variables of the first joint component can be recalculated based on the updated initial joint position and the current position, so that the first torque can change periodically, and then the first arm can be in a state of staged motion, which can reduce the obstruction of the first arm to the collision to a certain extent, especially when the second arm being operated collides with the first arm. Since the first arm can continue to move when the holding time during the collision reaches the set time threshold, such as offsetting and / or rotating under the collision, the problem of reduced motion range of the second arm due to obstruction of the first arm to the second arm can be reduced or even avoided.
[0306] In one embodiment, if Figure 17 As shown, the method may further include:
[0307] Step S41 , obtaining the joint position of the joint assembly in the first arm detected by the sensor.
[0308] Step S42 , calculating position parameters of the kinematic model of the first arm according to the joint positions and forward kinematics.
[0309] Step S43: determining whether the position parameters of the kinematic model reach the boundary parameters of the effective space of the first arm.
[0310] The effective space is at least a portion of the Cartesian space of the first arm. In step S43, when the position parameters of the kinematic model reach the boundary parameters of the effective space, the process proceeds to step S44.
[0311] Step S44: braking at least the second joint assembly.
[0312] Wherein, the second joint component includes a joint component in the first joint component that reaches the boundary parameters of the effective space. Of course, when the position parameters of the kinematic model reach the boundary parameters of the effective space, all the first joint components can also be braked. Suitable for different purposes, the effective space can be further restricted or shrunk. For example, when a surgical instrument is installed at the distal end of the first arm, the effective space of the first arm can be restricted or limited to prevent the surgical instrument inserted into the human body from following the first arm with a large deviation amplitude under collision and damaging human organs or tissues. For example, the initial effective space obtained from the Cartesian space of the first arm can be shrunk according to a certain ratio (less than 1) to obtain a new effective space that meets the requirements.
[0313] In this embodiment, for example, when only the second joint assembly is braked, the first joint assembly, excluding the second joint assembly, can continue to move in the event of a collision, thereby better cushioning the collision. In particular, when the second arm being operated collides with the first arm, the problem of the second arm's range of motion being reduced due to the first arm's obstruction of the second arm can be alleviated. In addition, this embodiment can be combined with the above-mentioned embodiment of outputting a second torque for restoring the joint position of the first joint assembly or for braking the movement of the first joint assembly during or after a collision through the drive mechanism of the first joint assembly to ensure the reliability and safety of the first arm.
[0314] In this embodiment, if Figure 3 As shown, when the Cartesian space 410 of the unoperated first arm and the Cartesian space 420 of the second arm have an overlapping portion 430, the second arm here refers to the arm (including its sub-arm) that is not currently in collision with the first arm. This second arm can be either the unoperated arm or the operated arm. The effective space of the first arm can be determined based on whether the position parameters of the second arm's kinematic model are within the overlapping portion 430. For example, when the position parameters of the second arm's kinematic model are within the overlapping portion 430, the effective space of the first arm is the portion of the first arm's Cartesian space that does not contain the overlapping portion; and / or, when the position parameters of the second arm's kinematic model are not within the overlapping portion 430, the effective space of the first arm is the entire Cartesian space 410 of the first arm. This design maximizes the range of motion of the first arm in the event of a collision and prevents collisions from being transferred from the first arm to the second arm. This prevents collision transfer, particularly when the second arm is being operated. By preventing collision transfer, the second arm can smoothly perform surgical procedures without interference.
[0315] In some embodiments, such as Figure 18 As shown, the method may further include:
[0316] Step S10, determining whether a condition is met.
[0317] Step S10 may be performed before step S2, specifically, before adjusting the output torque of the drive mechanism corresponding to the first joint assembly in the joint assembly of the first arm to balance the gravitational torque of the load at the distal end of the first joint assembly, and restoring the joint position of the first joint assembly or braking the first joint assembly. That is, step S10 may be performed before a collision.
[0318] In step S10, when it is determined that the conditions are met, the process proceeds to step S11.
[0319] Step S11 , adjusting the output torque of the driving mechanism corresponding to the first joint assembly in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly.
[0320] Furthermore, when a collision is determined to have occurred with the first arm and / or a device attached to the distal end of the first arm, the output torque of the drive mechanism corresponding to the first joint assembly in the joint assembly is adjusted to balance the gravitational torque of the load at the distal end of the corresponding first joint assembly, and the joint position of the first joint assembly is restored or the first joint assembly is braked. This embodiment allows the first arm to be prepared for a collision before a collision occurs. For example, this can provide a certain buffering effect even in situations where the force causing the collision is small, or even where the system does not determine that a collision has occurred.
[0321] In this embodiment, the above-mentioned determination that the condition is satisfied includes obtaining a trigger signal.
[0322] Exemplarily, the surgical robot also includes another input device electrically connected to the processor, and the other input device includes but is not limited to one or more of a button, a switch, a touch screen, a voice recognition device, a fingerprint recognition device, a facial recognition device, etc., and the trigger signal is output by the user operating the other input device.
[0323] Exemplarily, the surgical robot also includes a sensor electrically connected to the processor for detecting whether a device is attached to the distal end of the first arm. The trigger signal is automatically generated by the sensor when it detects that no device is attached to the distal end of the first arm. For example, the device includes one or more of a puncture device and a surgical instrument connected to the distal end of the first arm.
[0324] In some embodiments, the surgical robot further includes a sensor electrically connected to the processor for detecting whether a device is attached to the distal end of the first arm, and the processor is specifically configured to:
[0325] When it is detected that a device is attached to the distal end of the first arm, in response to a collision of the first arm and / or the device attached to the distal end of the first arm, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravity torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked. In this embodiment, for example, Figure 1 In the illustrated slave operating device, if a device is not attached to the distal end of an arm (or a sub-arm), this indicates that the arm (including the sub-arm) is an idle arm. During surgery, it is typically placed in a non-surgical area away from other arms being operated on, and thus is typically not collided with by the operated arms. Furthermore, the arm that is collided with is typically the arm placed in the surgical area, and the arm placed in the surgical area is typically equipped with the aforementioned device. Therefore, this embodiment allows the aforementioned process of responding to a collision with the first arm and / or the device attached to the distal end of the first arm to be performed once it is determined that a device is attached to the distal end of the first arm.
[0326] In some embodiments, the surgical robot further includes a sensor electrically connected to the processor for detecting type information of the surgical instrument, and a drive mechanism electrically connected to the processor for driving an end instrument at the distal end of the surgical instrument. The processor is specifically configured to:
[0327] When it is determined that the type information of the surgical instrument and / or the status information of the end instrument meet the safety conditions, in response to the collision of the first arm and / or the device attached to the distal end of the first arm, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked.
[0328] In this embodiment, for example, if the surgical instrument is an endoscope, it can be considered to meet safety conditions. Another example is if the surgical instrument is an electric hook, if the hook is powered on, it can be considered to meet safety conditions; if the hook is powered on, it can be considered to not meet safety conditions. Another example is if the surgical instrument is a pair of scissors, if the scissors are closed, it can be considered to meet safety conditions; if the scissors are open, it can be considered to not meet safety conditions. These examples are not listed here. This ensures the reliability and safety of surgical procedures while buffering collisions.
[0329] In one embodiment, if Figure 1 As shown, when the first arm only includes the manipulator, or when the first arm only includes the cyclone joint assembly of the adjustment arm and the manipulator, even if the above-mentioned device is installed at the distal end of the first arm, and even if the first arm and / or the device attached to the distal end of the first arm is hit, when any one of the first joint assemblies in the first arm rotates, the manipulator will only move around the remote motion center, so the potential risk of damage to organs and tissues in the body is relatively small.
[0330] In some embodiments, when the second arm is the arm being operated, for example, Figure 1In the slave operating device shown, the second arm includes a manipulator and a surgical instrument, and the motion input device operates the manipulator and the surgical instrument in the second arm to perform surgery. In some embodiments, when the surgical robot includes a second arm being operated, the processor can also be configured to: when the sensor of the second arm detects that the current signal of the driving mechanism of the second arm reaches a set current threshold, record the duration of the current signal reaching the set current threshold; then, determine whether the duration reaches the time threshold; when the duration reaches the time threshold, send an instruction to the driving mechanism of the second arm to control the driving mechanism of the second arm to stop moving, thereby causing the joint assembly driven by the corresponding driving mechanism to stop moving. The reason for the current of the driving mechanism in the second arm to reach the set threshold may be due to a collision, of course, it can also be other reasons. Through this embodiment, overcurrent protection can be achieved for the second arm.
[0331] Among them, when the current signal of any driving mechanism in the second arm reaches the set current threshold and the duration reaches the time threshold, it is necessary to send an instruction to control at least one driving mechanism in the second arm to stop moving. For example, an instruction can be sent to control all driving mechanisms in the second arm to stop moving.
[0332] The command for controlling at least one driving mechanism in the second arm to stop movement includes a command position and / or a command speed. For example, taking the command speed as an example, the command speed can be obtained using the following formula:
[0333] V=V1-ΔV Formula (6)
[0334] Where V represents the command speed, V1 represents the current joint speed, and ΔV represents the change in joint speed. The joint speed of a joint component is determined by the speed of the drive mechanism corresponding to the joint component.
[0335] The joint speed of the corresponding joint component (corresponding to the speed of the driving mechanism) can be reduced from the current joint speed V1 to 0 within a specified cycle. For example, trapezoidal speed planning can be used to achieve stopping motion and then determine ΔV. In a simpler example, assuming that the current joint speed of a joint component is 10mm / s, it is necessary to reduce it from 10mm / s to 0 within 10 cycles. For example, ΔV can be set to a fixed value of 1mm / s, and an instruction speed can be sent once per cycle to reduce the current joint speed by 1mm / s within the cycle. For example, the instruction speed of the first cycle is 9mm / s, the instruction speed of the second cycle is 8mm / s, and so on, until it is reduced to 0. Of course, ΔV can also be a variable value. For example, trajectory planning (including speed planning) can be used to determine the ΔV required for each cycle and then determine the instruction speed. They are not listed here one by one.
[0336] The present invention also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program is configured to be loaded and executed by a processor to implement the steps of the method described in any of the above embodiments.
[0337] The present invention also provides an anti-collision system for the middle arm of a surgical robot. Figure 19 As shown, the system may include: a processor (processor) 501 , a communications interface (Communications Interface) 502 , a memory (memory) 503 , and a communication bus 504 .
[0338] The processor 501 , the communication interface 502 , and the memory 503 communicate with each other via the communication bus 504 .
[0339] The communication interface 502 is used to communicate with other devices such as various sensors, rotating motors, solenoid valves, or network elements of other clients or servers.
[0340] The processor 501 is configured to execute a program 505 , and specifically may execute the relevant steps in the above method embodiment.
[0341] Specifically, the program 505 may include program codes, which include computer operation instructions.
[0342] The processor 505 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), one or more integrated circuits configured to implement an embodiment of the present invention, or a graphics processing unit (GPU). The one or more processors included in the control device may be processors of the same type, such as one or more CPUs or one or more GPUs; or they may be processors of different types, such as one or more CPUs and one or more GPUs.
[0343] The memory 503 is used to store the program 505. The memory 503 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0344] Program 505 can specifically be used to enable the processor 501 to perform the following operations: determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and when it is determined that a collision has occurred, in response to the collision, adjust the output torque of the driving mechanism corresponding to the first joint component in the joint assembly to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and restore the joint position of the first joint component or brake the first joint component.
[0345] The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0346] The above-described embodiments merely illustrate several implementations of the present invention, and while their descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the patent. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the spirit of the present invention, all of which fall within the scope of protection of the present invention. Therefore, the scope of protection of the patent for this invention shall be determined by the appended claims.
Claims
1. A surgical robot, characterized in that: include: at least one first arm, the first arm comprising a joint assembly and a driving mechanism for driving the joint assembly to move; and at least one processor, the processor being electrically connected to the drive mechanism, the processor being configured to: determining whether a collision occurs with the first arm and / or a device attached to a distal end of the first arm; and if a collision occurs, adjusting the output torque of the drive mechanism corresponding to a first joint component in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint component, and restoring the joint position of the first joint component or braking the first joint component in response to the collision; The output torque includes an output resultant torque, the output resultant torque including a first torque for balancing the gravity torque of the load at the distal end of the first joint assembly, and a second torque for restoring the joint position of the first joint assembly or braking the first joint assembly, the output resultant torque including the sum of the first torque and the second torque; wherein, when restoring the joint position of the first joint assembly, a joint position variable of the first joint assembly is calculated according to the initial joint position and the current joint position; and a second torque outputted by the driving mechanism of the first joint assembly is determined based on the joint position variable; or When braking the first joint component, the joint speed of the first joint component is calculated based on the initial joint position, the current joint position and the time elapsed from the initial joint position to the current joint position; and the second torque output by the driving mechanism corresponding to the first joint component is determined based on the joint speed.
2. The surgical robot according to claim 1, characterized in that: The first joint component is composed of the specified joint component.
3. The surgical robot according to claim 2, characterized in that: The first arm includes a manipulator, and the first joint assembly includes a pitch joint assembly and a yaw joint assembly in the manipulator.
4. The surgical robot according to claim 1, wherein: The first joint assembly includes at least one of the following components: the joint assembly at the collision point in the first arm, and a joint assembly near the proximal end of the joint assembly at the collision point; or The first joint assembly includes at least one of the following components: the joint assembly where the collision point in the first arm is located, and a joint assembly near the proximal end of the joint assembly where the collision point is located; the first joint assembly also includes a joint assembly near the distal end of the joint assembly where the collision point is located.
5. The surgical robot according to claim 1, characterized in that: The first arm further includes a sensor for detecting a current signal of the driving mechanism, and the processor is electrically connected to the sensor. The processor is specifically configured to: receiving a current signal of the driving mechanism detected by the sensor, and determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the current signal, and / or determining the joint component at which the collision point is located; and / or The first arm further includes a sensor for detecting a force signal of the joint assembly. The processor is electrically connected to the sensor, and the processor is specifically configured to: Receive the force signal of the joint component detected by the sensor, determine whether the first arm and / or the device attached to the distal end of the first arm has collided based on the change of the force signal, and / or determine the joint component where the collision point is located during the collision.
6. The surgical robot according to claim 5, characterized in that: The sensor is specifically configured to detect the current signal every first period; The processor is specifically configured to calculate a rate of change of adjacent detected current signals and determine whether the rate of change exceeds a first threshold; if the rate of change exceeds the first threshold, determine that a collision has occurred between the first arm and / or the device attached to the distal end of the first arm; and / or determine the joint component at which a collision point is located based on the joint component corresponding to the current signal whose rate of change exceeds the first threshold; or The sensor is specifically configured to detect the current signal every second period, where the second period is greater than the first period; The processor is specifically configured to calculate a rate of change of adjacent detected current signals and determine whether the rate of change exceeds a second threshold, where the second threshold is less than the first threshold; if the rate of change exceeds the second threshold, determine that a collision has occurred between the first arm and / or the device attached to the distal end of the first arm, and / or determine the joint component at which a collision point is located based on the joint component corresponding to the current signal whose rate of change exceeds the second threshold; or Calculate the current difference between the current signal and the current signal detected before the collision, and determine whether the current difference exceeds a third threshold value. If the current difference exceeds the third threshold value, determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and / or determine the joint component at which the collision point is located based on the joint component corresponding to the current signal whose current difference exceeds the third threshold value.
7. The surgical robot according to claim 1, characterized in that: The surgical robot further includes a second arm, and the processor is specifically configured to: Determine whether the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are the same as the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, and determine whether the first arm and / or the device attached to the distal end of the first arm have collided based on whether the position parameters are the same, and / or determine the joint component where the collision point is located during the collision.
8. The surgical robot according to claim 1, characterized in that: The first arm further includes a sensor for detecting a joint position of the joint assembly, and the processor is electrically connected to the sensor, and the processor is specifically configured to: Acquire the joint positions of at least the first joint component and the joint component distal to the first joint component detected by the sensor, and determine the first torque expected to be output by the driving mechanism corresponding to the first joint component in combination with the joint positions and the dynamic model associated with the first joint component.
9. The surgical robot according to claim 1, characterized in that: The first arm further includes a sensor for detecting a joint position of the joint assembly, and the processor is further configured to: When the second torque is a torque for restoring the joint position of the first joint component, the initial joint position and the current joint position of the first joint component detected by the sensor are acquired.
10. The surgical robot according to claim 9, characterized in that: The second torque increases as the joint position variable increases.
11. The surgical robot according to claim 10, characterized in that: The relationship between the second torque and the joint position variable is expressed as the formula: , in, is the second moment, is the stiffness coefficient, is the joint position variable.
12. The surgical robot according to claim 9, characterized in that: The processor is further configured to: During the collision, the holding time of the first joint component at the current joint position is recorded, and when the holding time reaches a set time threshold, the current joint position is updated to the initial joint position; and / or During the collision, obtaining a current joint position of the first joint component, when a change in the current joint position is lower than a position change threshold, recording a first duration during which the change in the current joint position is lower than the position change threshold, and updating the current joint position to the initial joint position when the first duration reaches a first time threshold; and / or During the collision, the joint speed of the first joint component is obtained, and when the joint speed is lower than the speed threshold, the second duration of the joint speed lower than the speed threshold is recorded, and when the second duration reaches a second set time threshold, the current joint position is updated to the initial joint position.
13. The surgical robot according to claim 1, wherein: The second torque increases as the joint speed increases.
14. The surgical robot according to claim 13, characterized in that: The relationship between the second torque and the joint velocity is expressed as: , in, is the second moment, is the damping coefficient, is the joint velocity, n=1 or n=2 or n=3.
15. The surgical robot according to claim 1, characterized in that: The first arm further includes a sensor for detecting a joint position of the joint assembly, the processor is electrically connected to the sensor, and the processor is further configured to: acquiring a joint position of the joint assembly detected by the sensor; Calculating position parameters of a kinematic model of the first arm according to the joint positions and forward kinematics; determining whether position parameters of the kinematic model reach boundary parameters of an effective space of the first arm, the effective space being at least a portion of a Cartesian space of the first arm; When the position parameter of the kinematic model reaches the boundary parameter of the effective space, at least the second joint component is braked, and the second joint component includes the joint component of the first joint component that reaches the boundary of the effective space.
16. The surgical robot according to claim 15, characterized in that: The surgical robot includes a second arm, and the Cartesian space of the first arm and the Cartesian space of the second arm have an overlapping part. When the position parameters of the kinematic model of the second arm are included in the overlapping part, the effective space includes the part of the Cartesian space of the first arm that does not include the overlapping part; and / or, when the position parameters of the kinematic model of the second arm are not included in the overlapping part, the effective space includes the complete Cartesian space of the first arm.
17. The surgical robot according to claim 1, characterized in that: The processor is further configured to: Before the collision, when it is determined that a condition is met, the output torque of the driving mechanism corresponding to the first joint assembly in the joint assemblies is adjusted to balance the gravity torque of the load at the distal end of the corresponding first joint assembly.
18. The surgical robot according to claim 17, characterized in that: The determining that the condition is satisfied includes obtaining a trigger signal; The surgical robot also includes an input device electrically connected to the processor, and the trigger signal is generated by the input device; and / or, the surgical robot also includes a sensor electrically connected to the processor for detecting whether a device is attached to the distal end of the first arm, and the trigger signal is generated by the sensor detecting that the device is not attached to the distal end of the first arm.
19. The surgical robot according to claim 1, characterized in that: The surgical robot further includes a sensor electrically connected to the processor for detecting whether a device is attached to the distal end of the first arm, wherein the processor is specifically configured to: When it is obtained that the device is attached to the distal end of the first arm, in response to the collision, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked.
20. The surgical robot according to claim 1, characterized in that: The device includes a surgical instrument, and the surgical robot further includes a sensor electrically connected to the processor for detecting type information of the surgical instrument, and a drive mechanism electrically connected to the processor for driving an end instrument at a distal end of the surgical instrument to operate, wherein the processor is specifically configured to: When it is determined that the type information of the surgical instrument and / or the status information of the end instrument meet the safety conditions, in response to the collision, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked.
21. The surgical robot according to claim 1, characterized in that: The first arm includes an arm that is not operated during a collision.
22. The surgical robot according to claim 21, characterized in that: The surgical robot further includes a second arm being operated at the time of the collision, the second arm including a joint assembly and a drive mechanism for driving the joint assembly to move, the second arm also including a sensor for detecting a current signal of the drive mechanism of the second arm, the processor being electrically connected to the drive mechanism of the second arm and the sensor, and the processor being further configured to: When the sensor of the second arm detects that the current signal of the driving mechanism of the second arm reaches a set current threshold, recording the duration of the current signal reaching the set current threshold; Determining whether the duration reaches a time threshold; When the duration reaches the time threshold, an instruction is sent to the driving mechanism of the second arm to control the driving mechanism of the second arm to stop moving.
23. A method for preventing collision of a surgical robot middle arm, characterized in that: The surgical robot includes at least one first arm, the first arm having a joint assembly and a driving mechanism for driving the joint assembly to move, and the method includes: determining whether a collision occurs with the first arm and / or a device attached to a distal end of the first arm; and if a collision occurs, adjusting the output torque of the drive mechanism corresponding to a first joint component in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint component, and restoring the joint position of the first joint component or braking the first joint component in response to the collision; The output torque includes an output resultant torque, the output resultant torque includes a first torque for balancing the gravity torque of the load at the distal end of the first joint component, and a second torque for restoring the joint position of the first joint component or braking the first joint component, and the output resultant torque includes the sum of the first torque and the second torque; wherein, when restoring the joint position of the first joint component, the joint position variable of the first joint component is calculated according to the initial joint position and the current joint position; based on the joint position variable, the second torque output by the driving mechanism corresponding to the first joint component is determined; or When braking the first joint component, the joint speed of the first joint component is calculated based on the initial joint position, the current joint position and the time elapsed from the initial joint position to the current joint position; and the second torque output by the driving mechanism corresponding to the first joint component is determined based on the joint speed.
24. The method according to claim 23, wherein The first joint component is composed of the specified joint component.
25. The method according to claim 24, characterized in that The first arm includes a manipulator, and the first joint assembly includes a pitch joint assembly and a yaw joint assembly in the manipulator.
26. The method according to claim 23, wherein The first joint assembly includes at least one of the following components: the joint assembly at the collision point in the first arm, and a joint assembly near the proximal end of the joint assembly at the collision point; or The first joint assembly includes at least one of the following components: the joint assembly where the collision point in the first arm is located, and a joint assembly near the proximal end of the joint assembly where the collision point is located; the first joint assembly also includes a joint assembly near the distal end of the joint assembly where the collision point is located.
27. The method according to claim 23, characterized in that The first arm further includes a sensor for detecting a current signal of the driving mechanism, and determining whether the first arm and / or a device attached to the distal end of the first arm has collided includes: receiving a current signal of the driving mechanism detected by the sensor, and determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the current signal, and / or determining the joint component at which the collision point is located; and / or The first arm further includes a sensor for detecting a force signal of the joint assembly, and determining whether the first arm and / or a device attached to the distal end of the first arm has collided includes: Receive the force signal of the joint component detected by the sensor, determine whether the first arm and / or the device attached to the distal end of the first arm has collided based on the change of the force signal, and / or determine the joint component where the collision point is located during the collision.
28. The method according to claim 27, characterized in that The sensor is specifically configured to detect the current signal every first period, and the determining, based on changes in the current signal, whether the first arm and / or the device attached to the distal end of the first arm has collided, and / or determining the joint assembly at which the collision point is located, includes: Calculating the rate of change of adjacent detected current signals and determining whether the rate of change exceeds a first threshold, and if so, determining that a collision has occurred between the first arm and / or the device attached to the distal end of the first arm, and / or determining the joint component at which the collision point is located based on the joint component corresponding to the current signal having the rate of change exceeding the first threshold; or The sensor is specifically configured to detect the current signal every second period, the second period being greater than the first period, and the joint component for determining whether the first arm and / or the device attached to the distal end of the first arm has collided based on changes in the current signal, and / or determining the collision point during the collision comprises: Calculating the rate of change of adjacent detected current signals and determining whether the rate of change exceeds a second threshold, where the second threshold is less than the first threshold; if the rate of change exceeds the second threshold, determining that a collision has occurred with the first arm and / or the device attached to the distal end of the first arm; and / or determining the joint component at which the collision point is located based on the joint component corresponding to the current signal having the rate of change exceeding the second threshold; or Calculate the current difference between the current signal and the current signal detected before the collision, and determine whether the current difference exceeds a third threshold value. If the current difference exceeds the third threshold value, determine whether the first arm and / or the device attached to the distal end of the first arm has collided, and / or determine the joint component at which the collision point is located based on the joint component corresponding to the current signal whose current difference exceeds the third threshold value.
29. The method according to claim 23, wherein The surgical robot further includes a second arm, and determining whether the first arm and / or a device attached to a distal end of the first arm has collided includes: Determine whether the position parameters of the kinematic model of the first arm and / or the device attached to the distal end of the first arm are the same as the position parameters of the kinematic model of the second arm and / or the device attached to the distal end of the first arm, and determine whether the first arm and / or the device attached to the distal end of the first arm have collided based on whether the position parameters are the same, and / or determine the joint component where the collision point is located during the collision.
30. The method according to claim 26, wherein The first arm further includes a sensor for detecting a joint position of the joint assembly, and the method further includes: Before adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint assembly, the joint positions of at least the first joint component and the joint component distal to the first joint component detected by the sensor are obtained, and the first torque expected to be output by the driving mechanism corresponding to the first joint component is determined in combination with the joint positions and the dynamic model associated with the first joint component.
31. The method according to claim 26, wherein The first arm further includes a sensor for detecting a joint position of the joint assembly, and the method further includes: Before adjusting the output torque of the driving mechanism corresponding to the first joint component in the joint component, and when the second torque is a torque used to restore the joint position of the first joint component, the initial joint position and current joint position of the first joint component detected by the sensor are obtained.
32. The method according to claim 31, characterized in that The second torque increases as the joint position variable increases.
33. The method according to claim 32, characterized in that The relationship between the second torque and the joint position variable is expressed as the formula: , in, is the second moment, is the stiffness coefficient, is the joint position variable.
34. The method according to claim 31, wherein The method further comprises: During the collision, record the holding time of the first joint component at the current joint position, and when the holding time reaches a set time threshold, update the current joint position to the initial joint position; and / or During the collision, obtaining the current joint position of the first joint component, when the change in the current joint position is lower than a position change threshold, recording a first duration during which the change in the current joint position is lower than the position change threshold, and updating the current joint position to the initial joint position when the first duration reaches a first time threshold; and / or During the collision, the joint speed of the first joint component is obtained, and when the joint speed is lower than the speed threshold, the second duration of the joint speed lower than the speed threshold is recorded, and when the second duration reaches a second set time threshold, the current joint position is updated to the initial joint position.
35. The method according to claim 23, wherein The second torque increases as the joint speed increases.
36. The method according to claim 35, characterized in that The relationship between the second torque and the joint velocity is expressed as: , in, is the second moment, is the damping coefficient, is the joint velocity, n=1 or n=2 or n=3.
37. The method according to claim 23, wherein The first arm further includes a sensor for detecting a joint position of the joint assembly, and the method further includes: acquiring a joint position of the joint assembly detected by the sensor; Calculating position parameters of a kinematic model of the first arm according to the joint positions and forward kinematics; determining whether position parameters of the kinematic model reach boundary parameters of an effective space of the first arm, the effective space being at least a portion of a Cartesian space of the first arm; When the position parameter of the kinematic model reaches the boundary parameter of the effective space, at least the second joint component is braked, and the second joint component includes the joint component of the first joint component that reaches the boundary of the effective space.
38. The method according to claim 37, wherein The surgical robot includes a second arm, and the Cartesian space of the first arm and the Cartesian space of the second arm have an overlapping part. When the position parameters of the kinematic model of the second arm are included in the overlapping part, the effective space includes the part of the Cartesian space of the first arm that does not include the overlapping part; and / or, when the position parameters of the kinematic model of the second arm are not included in the overlapping part, the effective space includes the complete Cartesian space of the first arm.
39. The method according to claim 23, wherein The method further comprises: Before the collision, when it is determined that a condition is met, the output torque of the driving mechanism corresponding to the first joint assembly in the joint assemblies is adjusted to balance the gravity torque of the load at the distal end of the corresponding first joint assembly.
40. The method according to claim 39, wherein The determining that the condition is satisfied includes obtaining a trigger signal; The surgical robot also includes an input device, and the trigger signal is generated by the input device; and / or, the surgical robot also includes a sensor for detecting whether a device is attached to the distal end of the first arm, and the trigger signal is generated by the sensor detecting that the device is not attached to the distal end of the first arm.
41. The method according to claim 23, wherein The surgical robot further includes a sensor for determining whether a device is attached to the distal end of the first arm. In response to the collision, adjusting the output torque of the drive mechanism corresponding to the first joint assembly in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and restoring the joint position of the first joint assembly or braking the first joint assembly includes: When it is obtained that the device is attached to the distal end of the first arm, in response to the collision, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked.
42. The method according to claim 23, wherein The device includes a surgical instrument, and the surgical robot further includes a sensor for detecting type information of the surgical instrument, and a drive mechanism for driving an end instrument at a distal end of the surgical instrument. In response to the collision, adjusting the output torque of the drive mechanism corresponding to a first joint assembly in the joint assembly to balance the gravity torque of the load at the distal end of the corresponding first joint assembly, and restoring the joint position of the first joint assembly or braking the first joint assembly includes: When it is determined that the type information of the surgical instrument and / or the status information of the end instrument meet the safety conditions, in response to the collision, the output torque of the driving mechanism corresponding to the first joint component in the joint assembly is adjusted to balance the gravitational torque of the load at the distal end of the corresponding first joint component, and the joint position of the first joint component is restored or the first joint component is braked.
43. The method according to claim 23, wherein The first arm includes an arm that is not operated during a collision.
44. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and the computer program is configured to be loaded and executed by a processor to implement the steps of the method according to any one of claims 23 to 43.
45. An anti-collision system for a surgical robot mid-arm, characterized in that: include: memory for storing computer programs; and a processor for loading and executing the computer program; The computer program is configured to be loaded and executed by the processor to implement the steps of the method according to any one of claims 23 to 43.
Citation Information
Patent Citations
System and apparatus for external torque observation and compensation for surgical robotic arm
CN112566583A