Robotic arm dragging method and surgical robot using the same

By determining the external thrust direction and friction compensation value of the robotic arm joint module, the problem of high resistance during the dragging of the robotic arm is solved, and a smoother dragging effect is achieved.

CN119074244BActive Publication Date: 2025-09-12AGIBOT MEDTECH (SUZHOU) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411376229.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-09-12
Estimated Expiration
2044-09-29

AI Technical Summary

Technical Problem

During the dragging process of the robotic arm, the uncertainty of joint friction makes it difficult for users to drag the arm, especially when the robotic arm starts from zero speed. The resistance is large, which affects the smoothness of dragging.

Method used

By determining whether the target joint module on the robotic arm is subjected to external thrust and its direction, the friction compensation value is calculated, and based on this value, the joint motor is controlled to perform friction compensation processing to reduce starting resistance.

Benefits of technology

The smoothness of dragging the robotic arm is improved, the resistance of the user when dragging the robotic arm is reduced, the "forward rush" phenomenon is prevented, and the flexibility of dragging is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119074244B_ABST
    Figure CN119074244B_ABST
Patent Text Reader

Abstract

An embodiment of the present application provides a method for dragging a robotic arm and a surgical robot using the same, the method comprising: determining whether a target joint module on the robotic arm is subjected to an external thrust, and determining the thrust direction of the external thrust; when the target joint module is subjected to an external thrust, determining the current joint speed of the target joint module; if the joint speed is less than a first preset speed threshold, determining a friction compensation value corresponding to the target joint module based at least on the thrust direction; based on the friction compensation value, controlling the joint motor corresponding to the target joint module to perform friction compensation processing on the target joint module; in this way, the resistance encountered by the user at the moment when the robotic arm is started by dragging the robotic arm can be reduced, so that the user does not need to use too much force to drag the robotic arm, and can prevent the "forward rush" phenomenon from occurring from the beginning of dragging the robotic arm to the normal dragging of the robotic arm, thereby improving the smoothness of dragging the robotic arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of medical devices, and in particular to a robotic arm dragging method and a surgical robot using the same. Background Art

[0002] With the continuous development of medical equipment, computer technology and control technology, minimally invasive surgery has been increasingly widely used due to its advantages such as small surgical trauma, short recovery time and less pain for patients. Minimally invasive surgical robots, with their high dexterity, high control accuracy and intuitive surgical images, can avoid operational limitations such as hand tremors during filtering operations. They are widely used in surgical departments such as urology, thoracic surgery, general surgery, and neurosurgery.

[0003] The most widely used minimally invasive surgical robot is the laparoscopic surgical robot, which is used to perform surgeries on the patient's abdominal cavity, pelvic cavity, thoracic cavity and other parts of the body. Laparoscopic surgical robots generally include multiple trolleys, on which are provided multiple robotic arms, each of which includes multiple joints. Taking the vertical lifting joint among the multiple joints of the patient trolley as an example, it includes a motor, a constant force spring, a screw and a load (multiple joints located after the vertical lifting joint). Among them, the motor and the screw work together to drive the vertical lifting joint to move in the vertical direction, thereby adjusting the height of the robotic arm, and the constant force spring is suspended on the vertical lifting joint to share part of the load weight for the motor.

[0004] Before surgery, the robotic arm is often positioned, requiring the user to drag the arm to adjust its position (e.g., adjust its height). However, since all robotic arms have joint friction, which can be any value less than the maximum static friction and can be positive or negative, the friction force is uncertain, making it difficult for the user to drag the robotic arm. Summary of the Invention

[0005] The present application provides a robotic arm dragging method and a surgical robot using the same, which can reduce the resistance encountered by the user when dragging the robotic arm, causing the robotic arm to be encountered at the moment of startup, thereby improving the smoothness of dragging the robotic arm.

[0006] In a first aspect of the present application, a robotic arm dragging method is provided, comprising:

[0007] Determine whether the target joint module on the robotic arm is subjected to an external thrust, and determine the thrust direction of the external thrust; when the target joint module is subjected to the external thrust, determine the current joint speed of the target joint module; if the joint speed is less than a first preset speed threshold, determine the friction compensation value corresponding to the target joint module at least based on the thrust direction; based on the friction compensation value, control the joint motor corresponding to the target joint module to perform friction compensation processing on the target joint module.

[0008] In some embodiments, determining whether the target joint module on the robotic arm is subjected to an external thrust and determining the thrust direction of the external thrust includes:

[0009] Obtain a first difference between a current pulse value of the joint encoder corresponding to the target joint module and a preset static value; if the first difference is greater than a first preset difference threshold, determine that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a first direction; if the first difference is less than a second preset difference threshold, determine that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a second direction; the first direction is opposite to the second direction.

[0010] In some embodiments, determining whether the target joint module on the robotic arm is subjected to an external thrust and determining the thrust direction of the external thrust includes:

[0011] Obtain a second difference between the joint encoder and the motor encoder corresponding to the target joint module; if the second difference is greater than a third preset difference threshold, determine that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a third direction; if the second difference is less than a fourth preset difference threshold, determine that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a fourth direction; the third direction is opposite to the fourth direction.

[0012] In some embodiments, determining the friction compensation value corresponding to the target joint module based at least on the thrust direction includes:

[0013] The positive and negative information of the friction compensation value is determined based on the thrust direction; and the friction compensation value is determined based on the positive and negative information of the friction compensation value.

[0014] In some embodiments, determining the friction compensation value based on the positive and negative information of the friction compensation value includes:

[0015] If the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value, the maximum static friction force corresponding to the target joint module is determined as the friction compensation value; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value, the opposite of the maximum static friction force is determined as the friction compensation value.

[0016] In some embodiments, determining the friction compensation value based on the positive and negative information of the friction compensation value includes:

[0017] Based on the joint speed of the target joint module, determine the joint speed compensation coefficient corresponding to the target joint module; multiply the joint gravity corresponding to the target joint module by a preset first coefficient to obtain a first result; add the first result to a preset second coefficient to obtain a second result; multiply the second result by the speed compensation coefficient to obtain a third result; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value, determine the third result as the friction compensation value; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value, determine the opposite of the third result as the friction compensation value.

[0018] In some embodiments, if the joint speed is greater than or equal to the first preset speed threshold, friction compensation processing is not performed on the target joint module.

[0019] In a second aspect of the present application, a robotic arm dragging device is provided, comprising:

[0020] a processing module, configured to determine whether a target joint module on the robotic arm is subjected to an external thrust, and determine a thrust direction of the external thrust; when the target joint module is subjected to the external thrust, determine a current joint speed of the target joint module; and if the joint speed is less than a first preset speed threshold, determine a friction compensation value corresponding to the target joint module based at least on the thrust direction;

[0021] The friction compensation module is used to control the joint motor corresponding to the target joint module to perform friction compensation processing on the target joint module based on the friction compensation value.

[0022] In a third aspect of the present application, a control device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of any of the above-described embodiments are implemented.

[0023] In a fourth aspect of the present application, a surgical robot is provided, comprising a robotic arm and a control device as described in the third aspect; the robotic arm is coupled to the control device, and the processor in the control device implements the steps of any of the above-mentioned embodiment methods when executing a program.

[0024] In a fifth aspect of the present application, a non-transitory computer-readable storage medium is provided, on which a computer program is stored, characterized in that when the computer program is executed by a processor, the steps of any of the above-mentioned embodiment methods are implemented.

[0025] The present invention provides a method for dragging a robotic arm, including:

[0026] Determine whether the target joint module on the robotic arm is subjected to an external thrust, and determine the thrust direction of the external thrust; in the case that the target joint module is subjected to the external thrust, determine the current joint speed of the target joint module; if the joint speed is less than a first preset speed threshold, determine the friction compensation value corresponding to the target joint module at least based on the thrust direction; based on the friction compensation value, control the joint motor corresponding to the target joint module to perform friction compensation processing on the target joint module; in this way, the resistance encountered by the user when dragging the robotic arm to start the robotic arm can be reduced, so that the user does not need to use too much force to drag the robotic arm, and can prevent the "forward rush" phenomenon from occurring when starting to drag the robotic arm to normally dragging the robotic arm, thereby improving the smoothness of dragging the robotic arm. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0028] Figure 1 A schematic diagram of the structure of a robotic arm provided in an embodiment of the present application;

[0029] Figure 2 A schematic diagram of a process flow of a robotic arm dragging method provided in an embodiment of the present application;

[0030] Figure 3 A schematic flow chart of another robotic arm dragging method provided in an embodiment of the present application;

[0031] Figure 4 A schematic flow chart of another robotic arm dragging method provided in an embodiment of the present application;

[0032] Figure 5AA schematic flow chart of another robotic arm dragging method provided in an embodiment of the present application;

[0033] Figure 5B A schematic flow chart of another robotic arm dragging method provided in an embodiment of the present application;

[0034] Figure 5C A schematic flow chart of another robotic arm dragging method provided in an embodiment of the present application;

[0035] Figure 6 A schematic flow chart of another robotic arm dragging method provided in an embodiment of the present application;

[0036] Figure 7 A schematic structural diagram of a robotic arm dragging device provided in an embodiment of the present application;

[0037] Figure 8 A schematic diagram of the structure of a control device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the drawings in this application.

[0039] In this specification, many specific technical details are described in some places so that those skilled in the art can understand the complete technical solution. However, it should be understood that the embodiments of the present application can be implemented without these specific technical details. Such detailed description of technical details should not be regarded as a limitation of the present application, and the scope of protection of the present application is limited only by the claims. Elsewhere, well-known structures, connection / position relationships, circuits and / or other details may not be shown in detail to avoid misunderstandings by the public about the gist of the invention of the present application.

[0040] Throughout this specification, the accompanying drawings illustrate schematic diagrams of several embodiments of the present application. However, the drawings are for illustrative purposes only, and it should be understood that variations in the mechanical structure, connection / positional relationships, physical components, electrical components, and steps may be made without departing from the spirit and scope of the present application. Such variations may involve substitution or combination of elements from several embodiments of the present application, or substitution or combination of elements from known concepts.

[0041] The terms used herein below are only used to describe specific embodiments and are not intended to limit this application. Spatially relative terms, such as "below", "lower", "above", "upper", "middle", "middle", "inside", "outside", "center", "edge", etc., are used for convenience of description to describe the relationship between one component or feature shown in the figure and another component or feature. It should be understood that spatially relative terms can only be used under the conditions of the positioning orientation of the device in use or operation (except for the positioning orientation specifically defined in the figure), and are not necessarily unique and unchanging. For example, if the device in the figure is flipped 180° up and down along the paper, then the elements described as being "below" other components or features will become "above" other components or features. Therefore, the exemplary term "below" can cover both the above and below directions, depending on how the device is positioned. The device can also be positioned in other orientations (for example, rotated 90° or positioned in other directions), and the spatially relative descriptors used herein should be interpreted accordingly.

[0042] As used herein, "several," "one," and "the" are intended to include plural forms as well, unless the context indicates otherwise. It should be further understood that the terms "include" and / or "comprise" specify the presence of stated features, steps, operations, elements, and / or components but do not preclude the presence of one or more other features, steps, operations, elements, components, and / or groups thereof.

[0043] The term "object" generally refers to a component or a group of components. Throughout the specification and claims, the terms "object," "component," "portion," "part," "module," "assembly," and "element" are used interchangeably.

[0044] The terms "instrument," "surgical instrument," and "surgical instrument" are used herein to describe medical devices configured to be inserted into a patient and used to perform a surgical or diagnostic procedure, generally including an end effector. An end effector can be a surgical tool associated with one or more surgical procedures, such as forceps, needle holders, scissors, bipolar cauterizers, tissue stabilizers or retractors, clip appliers, stapling devices, imaging devices (e.g., endoscopes or ultrasound probes), and the like. Some instruments used in embodiments of the present application further provide an articulated support for the surgical tool (sometimes referred to as a "wrist," "joint," or "seat") that allows the position and / or orientation of the end effector to be flexibly manipulated relative to the instrument axis in one or more mechanical degrees of freedom. Furthermore, many end effectors include functional mechanical degrees of freedom, such as jaws that open or close or a blade that translates along a specific path. Instruments may also contain stored information (e.g., on a PCBA within the instrument) that is either permanent or updateable by the surgical system. Accordingly, the system can provide one-way or two-way communication of information between the instrument and one or more system components.

[0045] The term "mating" (sometimes referred to as "connecting," "coupling," "mounting," or "assembling") can be broadly understood as any situation in which two or more objects are connected in a manner that allows the mated objects to operate in conjunction with each other. It should be noted that mating does not require a direct connection (e.g., a direct physical or electrical connection), but rather many objects or components can be used to mate two or more objects. For example, objects A and B can be mated using object C. Additionally, the terms "removably coupled" or "removably matable" can be interpreted to mean a non-permanent connection or mating situation between two or more objects. This means that the removably coupled objects can be uncoupled and separated so that they no longer operate in conjunction.

[0046] The term "joint position" can be broadly understood as the angle of a joint or its spatial position. The angle of a joint refers to the actual rotation angle of the joint relative to its zero point within its range of rotation, or the incremental rotation angle if there is no zero point. Spatial position refers to the location of the virtual joint center within a specific spatial coordinate system. For example, for a Cartesian coordinate system, spatial position refers to the three-dimensional position in XYZ coordinates.

[0047] Finally, the terms "or" and "and / or" as used herein should be interpreted as inclusive or meaning any one or any combination. Thus, "A, B, or C" or "A, B, and / or C" means any one of the following: A; B; C; A and B; A and C; B and C; A, B, and C. An exception to this definition would only occur if a combination of elements, functions, steps, or actions are inherently mutually exclusive in some way.

[0048] With the continuous development of medical devices, computer technology, and control technology, minimally invasive surgery has become increasingly widely used due to its advantages such as minimal surgical trauma, short recovery time, and less pain for patients. Minimally invasive surgical robots, with their high dexterity, high control precision, and intuitive surgical images, can avoid operational limitations, such as filtering out hand tremors during operations. They are widely used in surgical areas such as the abdominal, pelvic, and thoracic cavities. Among them, the largest category of minimally invasive surgical robots is laparoscopic surgical robots, which include multiple trolleys equipped with multiple surgical arms (also known as robotic arms). The robotic arms simulate the human arm, and the surgical instruments simulate the human hand. Together, they provide surgeons with a series of movements that mimic the human wrist while filtering out hand tremors. Therefore, they are increasingly used in surgery, especially in abdominal, thoracic, and general surgery.

[0049] For example, if the trolley is a doctor's trolley (also known as a doctor's control platform), the surgeon can sit at the doctor's console and watch the two-dimensional or three-dimensional image of the surgical area transmitted by a laparoscope (sometimes called an "endoscope") placed in the patient's body, and control the movement of the robotic arm on the patient's surgical platform, as well as the surgical instruments or laparoscope attached to the robotic arm.

[0050] In some application scenarios, the multiple trolleys include a doctor trolley and a patient trolley (also known as a patient surgical platform). In other application scenarios, the multiple trolleys include a doctor control platform, a patient surgical platform, and an imaging trolley (also known as an imaging platform). The structures of different trolleys can vary. The following will provide exemplary descriptions of the structures of the doctor control platform, patient surgical platform, and imaging platform.

[0051] In some embodiments, the patient surgical platform typically includes a chassis, a column, a plurality of robotic arms connected to the column, and one or more surgical instrument manipulators at the end of the support assembly of each robotic arm. The surgical instrument and / or laparoscope is detachably connected to the surgical instrument manipulator. Each surgical instrument manipulator supports one or more surgical instruments and / or laparoscopes operated at the surgical site in the patient's body. Each surgical instrument manipulator can be allowed to control the relevant surgical instruments in various forms of movement with one or more mechanical degrees of freedom (e.g., all six Cartesian degrees of freedom, five or less Cartesian degrees of freedom, etc.). Typically, each surgical instrument manipulator is limited by mechanical or software constraints to rotate the relevant surgical instrument around a center of motion on a surgical instrument that remains stationary relative to the patient. The center of motion is typically located at the position where the surgical instrument enters the body wall, and the center of motion is generally referred to as a "distal point" or "fixed point."

[0052] For example, Figure 1 Figure 2 shows a schematic diagram of the structure of a robotic arm. Figure 1As shown, the robotic arm includes a first joint 1 (also known as a vertical lifting joint), a second joint 2 (also known as a rotational joint), a third joint 3 (also known as a rotational joint), a fourth joint 4 (also known as a rotational joint), and a fifth joint 5 (also known as a manipulator arm), which are connected in sequence. The first joint 1 is slidably connected to the surgical platform and is vertically arranged so that the first joint 1 can move up and down in the vertical direction. The second joint 2 is rotationally connected to the first joint 1, and the second joint 2 performs horizontal rotational movement around the axis of the first joint 1. The third joint 3 is rotationally connected to the second joint 2, and the third joint 3 performs vertical rotational movement around the axis of the second joint 2, and the rotation axis of the third joint 3 intersects and is perpendicular to the axis of the first joint 1. The fourth joint 4 is rotationally connected to the third joint 3, and the fourth joint 4 performs horizontal rotational movement around the axis of the third joint 3; the rotation axis of the fourth joint 4 is perpendicular to and intersects with the rotation axis of the third joint 3; one end of the fifth joint 5 is connected to the fourth joint 4, and the other end is used to attach surgical instruments and / or laparoscopes.

[0053] In some embodiments, the multiple joints include a vertical lifting joint and multiple rotating joints. The vertical lifting joint includes a motor, a constant force spring and a screw. The motor and the screw work together to drive the vertical lifting joint to move in the vertical direction, thereby adjusting the height of the robotic arm, and the constant force spring is suspended on the vertical lifting joint to share part of the load (the weight of the multiple rotating joints located after the vertical lifting joint) for the motor; the rotating joints each include a rotating shaft and a motor. The rotating shaft corresponding to each joint in the multiple joints is connected to the motor corresponding to the adjacent previous joint, and the motor corresponding to each joint is mounted outside the rotating shaft corresponding to the adjacent next joint. The motor corresponding to each joint can drive the rotating shaft of the adjacent next joint to rotate, so that the adjacent next joint rotates.

[0054] For example, Figure 1 As shown, the motor of the first joint 1 (not shown in the figure) is mounted outside the rotating shaft (not shown in the figure) of the second joint 2. The motor in the first joint 1 can drive the rotating shaft of the second joint 2 to rotate, so that the second joint 2 can perform horizontal rotational movement around the axis of the first joint 1.

[0055] In some embodiments, the imaging platform typically includes a video image capture function (typically an endoscope) and one or more video displays for displaying the surgical instruments in the captured images. In some laparoscopic surgical robots, an optical device is included to transmit images from the patient's body to one or more imaging sensors (e.g., CCD or CMOS sensors) at the distal end of the endoscope. The video images are then transmitted to the imaging platform's host computer through steps such as photoelectric conversion. Subsequently, image processing is performed and the processed images are displayed on a video display for observation by other doctors or assistants.

[0056] In some embodiments, the surgeon's control platform typically includes a chassis, a pedal assembly, a stereoscopic monitor, a master control arm, and a manual controller connected to the end of the master control arm. The surgeon controls the manual controller and the pedal assembly to achieve specific movements and / or energy activation of the surgical instrument. The surgeon's control platform can be located at a single location within a surgical system comprised of a laparoscopic surgical robot, or it can be distributed across two or more locations within the system. Remote master / slave operation can be performed based on a predetermined degree of control. For example, one location serves as the master control for primary surgical operations, while another location serves as the slave control for auxiliary operations. The master control performs the primary surgical operation, while the slave control performs auxiliary operations such as laparoscopic movement or tissue retraction. In some embodiments, the manual controller can be an input device capable of performing one or more manual operations, such as a joystick, an exoskeleton glove, a power and gravity-compensated manipulator, and the like. These input devices capture the surgeon's operational signals, which are processed by the control system to generate control signals for the robotic arm and the surgical instrument manipulator. These signals control the remote-controlled motors on the surgical instrument manipulators, which in turn control the final movement of the surgical instrument.

[0057] Typically, the force generated by the remote motor is transmitted through a transmission system, transferring the force from the remote motor to the end effector of the surgical instrument. In some telesurgery embodiments, the input device controlling the manipulator may be located remotely from the patient, either inside or outside the patient's room, or even in a different city. The input signal from the input device is then transmitted to the control system. Those familiar with telemanipulation, telecontrol, and telepresence surgery will be familiar with such systems and their components and will not be described in detail here.

[0058] In one application scenario, before surgery, it is usually necessary to position the robotic arm, that is, to drag the robotic arm to adjust its position (e.g., adjust the height of the robotic arm). However, during the process of adjusting the position of the robotic arm, there are some problems that affect the flexibility of the robotic arm. For example, when adjusting Figure 1 In the first joint 1 of the robotic arm shown, since all robotic arms have joint friction, and when the robotic arm is stationary, the joint friction corresponding to the joint module on the robotic arm can be any value less than the maximum static friction, and can be positive or negative. This uncertainty in friction makes it difficult for the user to drag the robotic arm, especially when the user drags the robotic arm, causing the robotic arm to start from zero speed, where it encounters a large resistance.

[0059] In order to solve the above technical problems, the present application provides a method for dragging a robotic arm, which can reduce the resistance encountered by the user when the robotic arm is started, so that the user does not need to use too much force to drag the robotic arm, and can prevent the "forward rush" phenomenon from occurring when the robotic arm is started to be dragged normally, thereby improving the smoothness of dragging the robotic arm.

[0060] See also Figure 2 , an embodiment of the present application provides a robotic arm adjustment method, including S201-S204.

[0061] S201: Determine whether the target joint module on the robotic arm is subjected to an external thrust, and determine the thrust direction of the external thrust.

[0062] In some embodiments, the target joint module is any joint that can provide friction compensation and can be dragged, such as a surgical arm of a patient trolley or a main control arm of a doctor trolley. This embodiment of the present application is not limited to this.

[0063] For example, since friction compensation is generally provided by a motor, the target joint module can be a joint on a robotic arm provided with a joint motor. When the user pushes the target joint module on the robotic arm, the positions of multiple joint modules on the robotic arm, each including the target joint module, can be changed. Figure 1 As shown, if the user pushes the end of the robotic arm and expects the first joint 1 to move upward, the target joint module is the first joint 1.

[0064] In some embodiments, the number of target joint modules may be one or more.

[0065] For example, Figure 1 As shown, when the user pushes the end of the robotic arm and expects the first joint 1 to move upward, since the second joint 2 can only rotate around its own axis (the axis of the numerical value that coincides with the axis of the first joint 1), and this rotation will not cause the end of the robotic arm to move up and down, the movement of the second joint 2 will not affect the upward movement of the first joint 1, that is, the driving force can be completely transmitted to the first joint 1 through the second joint 2; and since the axis of the third joint 3 is horizontal, its rotation around its own axis will cause the end of the robotic arm to move up and down. Therefore, when the friction of the third joint 3 is greater than the friction of the first joint 1, the existence of the third joint 3 will cause the driving force to not be completely transmitted to the first joint 1; therefore, to ensure the flexibility of the robotic arm during positioning, the target joint modules can be the first joint 1 and the third joint 3.

[0066] In some embodiments, whether the target joint module is subjected to an external thrust and the thrust direction of the external thrust can be determined based on the torque of the target joint module on the robotic arm; wherein, the torque of the target joint module can be determined by a torque sensor or other force detection device, and the embodiments of the present application are not limited to this. Whether the target joint module is subjected to an external thrust and the thrust direction of the external thrust can also be determined by a joint encoder; wherein, the joint encoder is arranged at the end of the target joint module, for example, the joint encoder can be arranged on the axis of the target joint module on the robotic arm. In the embodiments of the present application, the method for determining whether the target joint module on the robotic arm is subjected to an external thrust and determining the thrust direction of the external thrust is not limited. In the following embodiments, an example is given by using a joint encoder to determine whether the target joint module is subjected to an external thrust and the thrust direction of the external thrust.

[0067] In some embodiments, as Figure 3 As shown, S201 may include S2011a-S2013a.

[0068] S2011a. Obtain a first difference between a current pulse value of a joint encoder corresponding to a target joint module and a preset static value.

[0069] In some embodiments, the static value is the pulse value output by the joint encoder when the target joint module on the robotic arm is in a stationary state. If the user adjusts the position of the robotic arm, the user needs to apply a certain force to the robotic arm to make it move out of the stationary state. At this time, the pulse value output by the joint encoder corresponding to the target joint module will change, that is, the adjustment difference will be generated between the current pulse value of the joint encoder of the target joint module and the static value.

[0070] Exemplarily, the first difference is obtained by subtracting the current pulse value of the joint encoder from the static value.

[0071] In some embodiments, the static value may be a preset value or may be calculated based on the current motion state of the target joint module, wherein the current motion state of the target joint module is used to indicate whether the target joint module is currently in a static state.

[0072] Exemplarily, if the current motion state of the target joint module is a stationary state, the joint speed of the target joint module is less than the second preset speed threshold and is less than the duration of the second preset speed threshold being greater than or equal to the preset time threshold, or, within the preset time threshold, the numerical value (such as, reading, pulse value) output by the joint encoder of the target joint module is unchanged or the variation is less than the preset variation threshold. The embodiment of the present application does not limit the method for determining the current motion state of the target joint module, that is, the current motion state of the target joint module can also be determined by other methods.

[0073] In some embodiments, when it is determined that the current motion state of the target joint module is a stationary state, the pulse value of the joint encoder is determined as a static value.

[0074] For example, assuming that the second preset speed threshold is 0.01° / second and the preset time threshold is 0.2 seconds, when the joint speed of the target joint module is less than 0.01° / second and the duration is greater than or equal to 0.2 seconds, the current motion state of the target joint module is determined to be a stationary state. At this time, the pulse value of the joint encoder is determined to be a static value.

[0075] S2012a: If the first difference is greater than a first preset difference threshold, it is determined that the target joint module is subjected to an external thrust, and the thrust direction of the external thrust is a first direction.

[0076] S2013a: If the first difference is less than the second preset difference threshold, it is determined that the target joint module is subjected to an external thrust, and the thrust direction of the external thrust is a second direction.

[0077] The first direction is opposite to the second direction.

[0078] In some embodiments, the first preset difference threshold and the second preset difference threshold are both preset values ​​and can be adjusted according to actual needs, which is not limited in the present embodiment.

[0079] For example, Figure 1 As shown, assuming that the target joint module is the first joint 1, wherein, when the first joint 1 moves upward, the pulse value output by the joint encoder of the target joint module increases, and conversely, when the first joint 1 moves downward, the pulse value output by the joint encoder of the target joint module decreases; In this way, when the user pushes the first joint 1 upward, at the moment of force application, the current pulse value of the joint encoder of the target joint module will be increased, thereby being greater than the static value. At this time, the first difference obtained by subtracting the static value from the current pulse value of the joint encoder of the target joint module will be a positive value. Assuming the first direction is upward and the second direction is downward, the first preset difference threshold is 100, and the second preset difference threshold is -100. In this way, if the first difference between the current pulse value and the static value of the joint encoder of the target joint module is greater than the first preset difference threshold, then it is determined that the user has a trend of pushing the target joint module at this time, that is, the target joint module is subjected to external thrust, and the thrust direction of the external thrust subjected to the first joint 1 is the first direction. If the first difference between the current pulse value and the static value of the joint encoder of the target joint module is less than the second preset difference threshold, it is determined that the user has a tendency to push the target joint module at this time, that is, the target joint module is subjected to external thrust, and the thrust direction of the external thrust received by the first joint 1 is the second direction.

[0080] In some embodiments, when the user pushes the robotic arm lightly, the reading of the joint encoder will change significantly, while the reading of the motor encoder remains constant or changes slightly. Therefore, it is also possible to determine whether the target joint module is subjected to external thrust and determine the thrust direction of the external thrust based on the difference between the joint encoder and the motor encoder, such as Figure 4 As shown, S201 may include S2011b-S2013b.

[0081] S2011b. Obtain a second difference between the joint encoder and the motor encoder corresponding to the target joint module.

[0082] The motor encoder is installed on the joint motor corresponding to the target joint module. The motor encoder is used to detect the joint motor corresponding to the target joint module on the robotic arm. A reducer can be installed between the motor encoder and the joint motor. The reducer is used to convert the high-speed, low-torque force of the joint motor into low-speed, high-torque force, and change the direction of the joint motor output shaft to transmit power to the motor encoder.

[0083] For example, the motor encoder and the joint encoder can be set on the vertical lifting joint of the robot arm and the joint behind the vertical lifting joint. Figure 1 As shown, the first joint 1, the second joint 2 and the third joint 3 are each provided with a motor encoder (not shown in the figure) and a joint encoder (not shown in the figure), which are respectively used to detect the corresponding joint modules.

[0084] In certain embodiments, the second difference can be the difference between the reading of the joint encoder and the reading of the motor encoder, and can also be the difference between the actual encoder deviation between the joint encoder and the motor encoder and the theoretical encoder deviation between the joint encoder and the motor encoder. The embodiment of the application does not limit this. The actual encoder deviation is the difference between the current joint encoder reading and the motor encoder reading, and the theoretical encoder deviation is when the joint encoder and the motor encoder are stationary, the difference between the joint encoder reading and the motor encoder reading.

[0085] It should be noted that the connection method between the motor encoder and the motor, and the connection method between the joint encoder and the corresponding joint end are both existing technologies and will not be repeated here.

[0086] S2012b: If the second difference is greater than a third preset difference threshold, it is determined that the target joint module is subjected to an external thrust, and the thrust direction of the external thrust is a third direction.

[0087] S2013b: If the second difference is less than the fourth preset difference threshold, it is determined that the target joint module is subjected to an external thrust, and the thrust direction of the external thrust is a fourth direction.

[0088] The third direction is opposite to the fourth direction.

[0089] In certain embodiments, the third preset difference threshold value and the fourth preset difference threshold value are preset values, which can be adjusted according to actual needs. The embodiment of the present application does not limit this. For example, when the second difference is the difference between the reading of the joint encoder and the reading of the motor encoder, if the theoretical encoder deviation is 20, the third preset difference threshold value can be 120, and the fourth preset difference threshold value can be -80. When the second difference is the difference between the actual encoder deviation between the joint encoder and the motor encoder and the theoretical encoder between the joint encoder and the motor encoder, the third preset difference threshold value can be 100, and the fourth preset difference threshold value can be -100.

[0090] For example, Figure 1 As shown, assuming that the target joint module is the first joint 1. When the third preset difference threshold can be 100, the fourth preset difference threshold can be -100, the third direction is downward, and the fourth direction is upward, if the second difference between the joint encoder and the motor encoder corresponding to the first joint 1 is greater than 100, it is determined that the user has a tendency to push the first joint 1 at this time, and the thrust direction of the external thrust received by the first joint 1 is the third direction. If the second difference between the joint encoder and the motor encoder corresponding to the first joint 1 is less than -100, it is determined that the user has a tendency to push the first joint 1 at this time, and the thrust direction of the external thrust received by the first joint 1 is the fourth direction.

[0091] In some embodiments, S2011a-S2013a may be executed when a joint encoder is provided on the robot arm. S2011a-S2013a or S2011b-S2013b may be executed when a joint encoder and a motor encoder are provided on the robot arm.

[0092] It should be noted that, in the embodiments of the present application, the direction of the external thrust can be determined while determining the external thrust applied to the target joint module on the robotic arm; or the external thrust applied to the target joint module on the robotic arm can be determined first, and then the direction of the external thrust can be determined. The embodiments of the present application are not limited to this.

[0093] S202: When the target joint module is subjected to external thrust, determine the current joint velocity of the target joint module.

[0094] Joint speed refers to the speed of each joint module on the robotic arm.

[0095] In some embodiments, the joint velocity of the target joint module can be determined by measuring the change in the joint position corresponding to the target joint module, that is, a joint encoder is used to detect the joint position of the target joint module on the robotic arm. The joint velocity of the target joint module can be equal to the quotient of the change in the joint position corresponding to the target joint module and the time interval.

[0096] For example, the joint position of the target joint module at the previous moment and the joint position of the target joint module at the current moment can be determined by the joint encoder, so as to determine the angle change corresponding to the target joint module. Then, the angle change corresponding to the target joint module is divided by the time interval between the previous moment and the current moment to obtain the quotient of the change in the joint position corresponding to the target joint module and the time interval, thereby obtaining the joint speed of the target joint module.

[0097] S203: If the joint speed is less than the first preset speed threshold, determine a friction compensation value corresponding to the target joint module based at least on the thrust direction of the external thrust received by the target joint module.

[0098] In some embodiments, the first preset speed threshold is a preset value, which can be set according to actual needs. This embodiment of the present application does not limit this.

[0099] Exemplarily, assuming that the first preset speed threshold is 5° / second, when the joint speed of the target joint module is less than 5° / second, the friction compensation value corresponding to the target joint module is determined.

[0100] It can be understood that the friction compensation value corresponding to the target joint module is determined only when the target joint module is subjected to external thrust and the joint speed of the target joint module is less than the first preset speed threshold, thereby avoiding friction compensation of the robotic arm when the user accidentally touches the robotic arm and causes the joint modules of the robotic arm to move, thereby improving the safety of the robotic arm.

[0101] In some embodiments, if the joint speed is greater than or equal to a first preset speed threshold, friction compensation processing is not performed on the target joint module.

[0102] In some embodiments, as Figure 5A As shown, S203 may include S2031-S2032.

[0103] S2031. Determine positive and negative information of the friction force compensation value based on the thrust direction.

[0104] In some embodiments, the sign information of the friction compensation value is used to indicate whether the friction compensation value is positive or negative.

[0105] For example, if the thrust direction of the external thrust received by the target joint module is set to upward, the friction compensation value is a negative value; when the thrust direction of the external thrust received by the target joint module is set to downward, the friction compensation value is a positive value; then, when executing S201 and obtaining the thrust direction is upward, it can be determined that the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value; when executing S201 and obtaining the thrust direction is downward, it can be determined that the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value.

[0106] S2032: Determine the friction compensation value based on the positive and negative information of the friction compensation value.

[0107] In some embodiments, as Figure 5B As shown, S2023 may include S20231a-S20322a.

[0108] S20321a: If the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value, the maximum static friction force corresponding to the target joint module is determined as the friction compensation value.

[0109] S20322a: If the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value, determine the opposite of the maximum static friction force as the friction compensation value.

[0110] In some embodiments, the maximum static friction force corresponding to the target joint module can be a preset value or can be obtained by measurement, such as by measuring the maximum static friction force corresponding to the target joint module using a force sensor and a displacement sensor. The method for measuring the maximum static friction force corresponding to the target joint module is known in the art and will not be further described here.

[0111] For example, the maximum static friction is 5 N. If the positive and negative information of the friction compensation value indicates that the friction compensation value is positive, the friction compensation value is 5. If the positive and negative information of the friction compensation value indicates that the friction compensation value is negative, the friction compensation value is -5.

[0112] In some embodiments, the friction compensation value corresponding to the target joint module may also be determined based on the joint velocity of the target joint module.

[0113] like Figure 5C As shown, S2032 may include S20321b-S20326b.

[0114] S20321b. Based on the joint velocity of the target joint module, determine the joint velocity compensation coefficient corresponding to the target joint module.

[0115] S20322b. Multiply the joint gravity corresponding to the target joint module by a preset first coefficient to obtain a first result.

[0116] S20323b. Add the first result and a preset second coefficient to obtain a second result.

[0117] S20324b. Multiply the second result by the speed compensation coefficient to obtain a third result.

[0118] S20325b: If the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value, determine the third result as the friction compensation value.

[0119] S20326b: If the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value, determine the opposite of the third result as the friction compensation value.

[0120] In some embodiments, the joint velocity compensation coefficient, the first coefficient, and the second coefficient are all adjustable parameters.

[0121] Exemplarily, S20322b-S20324b is equivalent to the following formula: joint speed compensation coefficient×(first coefficient×joint gravity+second coefficient).

[0122] In some embodiments, based on the positive and negative information of the friction compensation value, the third result or the opposite of the third result is determined as the friction compensation value, which is the same as determining the maximum static friction or the opposite of the maximum static friction as the friction compensation value based on the positive and negative information of the friction compensation value in S20321a-S20322a, and will not be repeated here.

[0123] It is understandable that this can introduce compensation coefficients related to joint gravity and joint speed, which can further improve the user's experience of dragging the robotic arm at the moment of startup, making the dragging of the robotic arm smoother at the moment of startup.

[0124] In some embodiments, the viscous friction of the target joint module can also be determined based on the joint speed of the target joint module, and then the friction compensation value is obtained based on the positive and negative information of the friction compensation value and the viscous friction. This embodiment of the present application is not limited to this.

[0125] Exemplarily, the viscous friction of the target joint module can be determined based on the joint velocity of the target joint module, and then the viscous friction and the Coulomb friction are added to obtain the total friction of the target joint module; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value, the total friction is determined as the friction compensation value. If the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value, the opposite of the total friction is determined as the friction compensation value. Among them, the viscous friction is proportional to the joint velocity of the target joint module, and the Coulomb friction is proportional to the normal pressure of the target joint module. The Coulomb friction can be regarded as a fixed value, that is, the Coulomb friction can be a preset value.

[0126] In some embodiments, the viscous friction force of the target joint module can be obtained by the following formula 1-1:

[0127] F v =b·q 1-1

[0128] Among them, F v is the viscous friction force; b is the viscous friction coefficient, which is a preset value; q is the joint velocity of the target joint module.

[0129] In order to further improve the user's experience of dragging the robotic arm at the moment of startup, the dragging of the robotic arm at the moment of startup is made smoother. In some embodiments, the friction compensation values ​​at different stages may be different. For example, in the process of starting the robotic arm, the friction compensation value is proportional to the joint speed of the target joint module, that is, the target joint module is in the startup stage, the faster the joint speed of the target joint module, the greater the friction compensation value; after the joint speed of the target joint module is greater than the target preset threshold (e.g., 5° / s), the maximum static friction of the target joint module is determined as the friction compensation value.

[0130] S204 : Based on the friction compensation value, control the joint motor corresponding to the target joint module to perform friction compensation processing on the target joint module.

[0131] Among them, friction compensation processing is used to compensate for the resistance experienced by the target joint module when the user pushes the robotic arm.

[0132] Exemplarily, when the thrust direction of the external thrust subjected to the target joint module is set to be upward, the friction compensation value is a negative value, and the joint motor will rotate counterclockwise when the friction compensation value based on the negative value is run, and the target joint module will move upward; when the thrust direction of the external thrust subjected to the target joint module is set to be downward, the friction compensation value is a positive value, and the joint motor will rotate clockwise when the friction compensation value based on the positive value is run, and the target joint module will move downward. In this way, when the thrust direction of the external thrust subjected to the target joint module is downward, the friction compensation value obtained by executing S202 will be a positive value. At this time, when the joint motor corresponding to the target joint module is controlled to perform friction compensation processing on the target joint module, the joint motor corresponding to the target joint module will rotate clockwise to offset the friction force subjected to the target joint module in the process of moving downward under the effect of the external thrust applied by the user, thereby realizing friction compensation for the target joint module.

[0133] In some embodiments, the friction compensation value can be converted into a corresponding current value, so as to control the joint motor corresponding to the target joint module to work according to the current value corresponding to the friction compensation value, so as to complete the friction compensation of the target joint module. How to convert the friction compensation value into a corresponding current value, and control the joint motor corresponding to the target joint module to work according to the current value corresponding to the friction compensation value is a prior art, which will not be described in detail here. It should be noted that the target joint module can also be reverse-driven based on the friction compensation value in combination with the gravity compensation value, that is, the target joint module is compensated, and this embodiment of the application does not limit this. Among them, how to determine the gravity compensation value is a prior art, which will not be described in detail here.

[0134] Figure 6 A schematic diagram of another method for adjusting a robotic arm is shown in FIG. Figure 6 As shown, the present application also provides a method for adjusting a robotic arm, comprising:

[0135] S601. Determine the joint velocity of the target joint module through the joint encoder.

[0136] In some embodiments, the joint velocity of the target joint module can be determined in real time via a joint encoder.

[0137] S602, determine whether the target joint module is in a stationary state; if so, execute S603; if not, execute S604.

[0138] If the joint speed is less than a set value (eg, 0.01° / second) and the duration exceeds a preset time threshold (eg, 0.2 seconds), it is determined that the target joint module is currently in a stationary state.

[0139] S603: Determine the pulse value of the joint encoder when the target joint module is in a stationary state as a static value.

[0140] S604: Determine the deviation between the current pulse value and the static value of the joint encoder.

[0141] S605. Determine whether the deviation between the current pulse value and the static value of the joint encoder is greater than a limit value (also called a preset difference threshold); if so, execute S606; if not, end.

[0142] S606: Determine whether the joint speed of the target joint module is less than a set value (also called a first preset speed threshold); if so, execute S607; if not, end.

[0143] S607: Determine the friction force compensation value and send it to the corresponding joint motor for execution.

[0144] Corresponding to the aforementioned embodiment of the robot arm adjustment method, the present application also provides an embodiment of a robot arm adjustment device.

[0145] Reference Figure 7 , an embodiment of the present application provides a robotic arm dragging device, comprising:

[0146] Processing module 701 is configured to determine whether a target joint module on a robotic arm is subjected to an external thrust, and determine a thrust direction of the external thrust; if the target joint module is subjected to the external thrust, determine a current joint speed of the target joint module; if the joint speed is less than a first preset speed threshold, determine a friction compensation value corresponding to the target joint module based at least on the thrust direction;

[0147] The friction compensation module 702 is used to control the joint motor corresponding to the target joint module to perform friction compensation processing on the target joint module based on the friction compensation value.

[0148] In some embodiments, the processing module 701 is also used to obtain a first difference between the current pulse value of the joint encoder corresponding to the target joint module and a preset static value; if the first difference is greater than a first preset difference threshold, it is determined that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a first direction; if the first difference is less than a second preset difference threshold, it is determined that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a second direction; the first direction is opposite to the second direction.

[0149] In some embodiments, the processing module 701 is also used to obtain a second difference between the joint encoder and the motor encoder corresponding to the target joint module; the motor encoder is arranged on the joint motor corresponding to the target joint module; if the second difference is greater than a third preset difference threshold, it is determined that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a third direction; if the second difference is less than a fourth preset difference threshold, it is determined that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a fourth direction; the third direction is opposite to the fourth direction.

[0150] In some embodiments, the processing module 701 is further configured to determine positive and negative information of the friction compensation value based on the thrust direction; and determine the friction compensation value based on the positive and negative information of the friction compensation value.

[0151] In some embodiments, the processing module 701 is also used to determine the maximum static friction corresponding to the target joint module as the friction compensation value if the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value, determine the opposite of the maximum static friction as the friction compensation value.

[0152] In some embodiments, the processing module 701 is also used to determine the joint speed compensation coefficient corresponding to the target joint module based on the joint speed of the target joint module; multiply the joint gravity corresponding to the target joint module by a preset first coefficient to obtain a first result; add the first result to a preset second coefficient to obtain a second result; multiply the second result by the speed compensation coefficient to obtain a third result; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value, then the third result is determined as the friction compensation value; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value, then the opposite of the third result is determined as the friction compensation value.

[0153] In some embodiments, the processing module 701 is further configured to not perform friction compensation processing on the target joint module if the joint speed is greater than or equal to the first preset speed threshold.

[0154] like Figure 8 As shown, a control device provided in an embodiment of the present application may include: a processor 810, a communication interface 820, a memory 830, and a communication bus 840, wherein the processor 810, the communication interface 820, and the memory 830 communicate with each other via the communication bus 840. The processor 810 can call the logic instructions in the memory 830 to execute the above methods.

[0155] In addition, the logic instructions in the above-mentioned memory 830 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the switchgear mechanical condition monitoring method described in each embodiment of the present invention. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, and other media that can store program code.

[0156] On the other hand, the present invention provides a surgical robot, including a robotic arm and Figure 8 The control device shown; the robotic arm is coupled to the control device, and the processor in the control device implements the steps of any of the above-mentioned embodiment methods when executing the program.

[0157] In some embodiments, a joint encoder is provided on the axis of each joint module of the robotic arm, and the joint encoder is coupled to a control device, and the control device can determine parameters such as the joint speed of each joint module through the joint encoder.

[0158] In other embodiments, a joint encoder is provided on the axis of each joint module of the robotic arm, and a motor encoder is provided on the joint motor corresponding to each joint module, and both the joint encoder and the motor encoder are coupled to a control device. The control device can determine parameters such as the joint speed of each joint module through the joint encoder, and determine relevant parameters of the joint motor of each joint module through the motor encoder.

[0159] In another aspect, the present invention further provides a non-transitory computer-readable storage medium having a computer program stored thereon, which is configured to execute the above methods when executed by a processor.

[0160] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.

[0161] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or certain parts of the embodiments.

[0162] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.

Claims

1. A method for dragging a robotic arm, characterized in that: include: Determine whether the target joint module on the robotic arm is subjected to an external thrust, and determine the thrust direction of the external thrust; When the target joint module is subjected to the external thrust, determining a current joint velocity of the target joint module; If the joint speed is less than a first preset speed threshold, determining a friction compensation value corresponding to the target joint module based at least on the thrust direction; Based on the friction compensation value, controlling the joint motor corresponding to the target joint module to perform friction compensation processing on the target joint module; Determining a friction compensation value corresponding to the target joint module based at least on the thrust direction includes: Determining positive and negative information of the friction force compensation value based on the thrust direction; determining the friction compensation value based on the positive and negative information of the friction compensation value; Determining the friction compensation value based on the positive and negative information of the friction compensation value includes: Determining a joint velocity compensation coefficient corresponding to the target joint module based on the joint velocity of the target joint module; Multiplying the joint gravity corresponding to the target joint module by a preset first coefficient to obtain a first result; Adding the first result to a preset second coefficient to obtain a second result; multiplying the second result by the speed compensation coefficient to obtain a third result; If the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value, determining the third result as the friction compensation value; If the sign information of the friction compensation value indicates that the friction compensation value is a negative value, the inverse of the third result is determined as the friction compensation value.

2. The method according to claim 1, characterized in that The determining whether the target joint module on the robotic arm is subjected to an external thrust and determining the thrust direction of the external thrust includes: Obtaining a first difference between a current pulse value of a joint encoder corresponding to the target joint module and a preset static value; If the first difference is greater than a first preset difference threshold, it is determined that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a first direction; If the first difference is less than a second preset difference threshold, it is determined that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a second direction; the first direction is opposite to the second direction.

3. The method according to claim 1, characterized in that The determining whether the target joint module on the robotic arm is subjected to an external thrust and determining the thrust direction of the external thrust includes: Obtaining a second difference between the joint encoder and the motor encoder corresponding to the target joint module; If the second difference is greater than a third preset difference threshold, it is determined that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a third direction; If the second difference is less than a fourth preset difference threshold, it is determined that the target joint module is subjected to the external thrust, and the thrust direction of the external thrust is a fourth direction; the third direction is opposite to the fourth direction.

4. The method according to claim 1, wherein The method further comprises: If the joint speed is greater than or equal to the first preset speed threshold, friction compensation processing is not performed on the target joint module.

5. A robotic arm dragging device, characterized in that: include: a processing module, configured to determine whether a target joint module on the robotic arm is subjected to an external thrust, and to determine a thrust direction of the external thrust; When the target joint module is subjected to the external thrust, determining a current joint velocity of the target joint module; If the joint speed is less than a first preset speed threshold, determining a friction compensation value corresponding to the target joint module based at least on the thrust direction; a friction compensation module, configured to control the joint motor corresponding to the target joint module to perform friction compensation processing on the target joint module based on the friction compensation value; The processing module is further configured to determine positive and negative information of the friction force compensation value based on the thrust direction; determining the friction compensation value based on the positive and negative information of the friction compensation value; The processing module is further configured to determine a joint velocity compensation coefficient corresponding to the target joint module based on the joint velocity of the target joint module; and multiply the joint gravity corresponding to the target joint module by a preset first coefficient to obtain a first result; Add the first result to a preset second coefficient to obtain a second result; multiply the second result by the speed compensation coefficient to obtain a third result; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a positive value, then determine the third result as the friction compensation value; if the positive and negative information of the friction compensation value indicates that the friction compensation value is a negative value, then determine the opposite of the third result as the friction compensation value.

6. A control device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps of the method according to any one of claims 1 to 4 are implemented.

7. A surgical robot, characterized in that: It comprises a robotic arm and a control device as claimed in claim 6; the robotic arm is coupled to the control device, and the processor in the control device is used to implement the steps of the method as claimed in any one of claims 1 to 4 when executed.

Citation Information

Patent Citations

  • Robot controller and robot system for moving robot in response to force

    CN104972463A

  • Robot joint friction force compensation method

    CN112677156A