Registration method of robot arm, robot arm system
By installing sensors on the robotic arm to detect contact force and external environmental force, and using admittance or variable damping control models, the problem of uncontrollable registration accuracy of traditional robotic arms is solved, and higher registration accuracy is achieved.
Patent Information
- Application Number
- CN202210257078.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-16
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2042-03-16
AI Technical Summary
In traditional robotic arm registration methods, the contact force control between the registration probe and the registration pin depends on the operator's experience, resulting in uncontrollable registration accuracy and a tendency for accuracy to decrease due to rebound forces.
By setting a first sensor on the robotic arm to detect the contact force between the registration probe and the registration pin, and combining it with a second sensor to detect the force of the external environment, the movement of the robotic arm can be precisely controlled using an admittance control model or a variable damping control model to avoid the impact of rebound.
This improved the registration accuracy of the robotic arm, reduced the contact bounce phenomenon between the registration probe and the registration pin, and achieved higher registration accuracy.
Smart Images

Figure CN116803624B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of medical device technology, and in particular to a registration method and system for a robotic arm. Background Technology
[0002] Surgical navigation is a technology that uses positioning technology to track the position of a robotic arm relative to the patient in real time during surgery. The process of registering the patient's actual position with the image space position during surgical navigation is called registration.
[0003] In traditional registration methods, several registration pins are typically placed in the patient's position. The operator then moves a robotic arm so that the registration probe at the end of the arm contacts the registration pins, thereby obtaining the pins' positional information. However, both overly tight and overly loose contact between the registration probe and the registration pin will reduce registration accuracy. Furthermore, in traditional methods, the tightness of the contact between the registration probe and the registration pin is generally controlled based on the operator's personal experience, leading to unpredictable registration accuracy. Summary of the Invention
[0004] Therefore, it is necessary to provide a registration method and system for a robotic arm that can improve registration accuracy in response to the above-mentioned technical problems.
[0005] In a first aspect, this application provides a method for registering a robotic arm, the method comprising:
[0006] Based on the first force detected by the first sensor on the robotic arm, the target control model of the robotic arm is determined. The first force is used to indicate the contact force between the registration probe and the registration pin. The target control model is either an admittance control model or a variable damping control model.
[0007] Based on the second force detected by the second sensor on the robotic arm and the target control model, the motion control quantity of the robotic arm is determined, and the movement of the robotic arm is controlled based on the motion control quantity. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0008] In one embodiment, before determining the target control model of the robotic arm based on a first force detected by a first sensor on the robotic arm, the method further includes:
[0009] Compare the initial force with the preset drag force threshold;
[0010] Accordingly, based on the first force detected by the first sensor on the robotic arm, the target control model of the robotic arm is determined, including:
[0011] If the first force is less than the drag force threshold, the target control model of the robotic arm is determined based on the first force detected by the first sensor on the robotic arm.
[0012] In one embodiment, the method further includes:
[0013] If the first force is greater than or equal to the drag force threshold, the motion control quantity of the robotic arm is determined to be zero, and a pose hold command is sent to the robotic arm's servo system. The pose hold command is used to instruct the robotic arm to stop moving.
[0014] In one embodiment, determining the target control model of the robotic arm based on a first force detected by a first sensor on the robotic arm includes:
[0015] The dragging mode of the robotic arm is determined based on the first force and the preset contact force range.
[0016] The target control model is determined based on the dragging pattern of the robotic arm.
[0017] In one embodiment, the contact force range includes a first threshold and a second threshold, wherein the first threshold is less than the second threshold; the dragging mode of the robotic arm is determined based on the first force and the preset contact force range, including:
[0018] If the first force is less than or equal to the first threshold, then the dragging mode is determined to be the compliant dragging mode;
[0019] If the first force is greater than the first threshold and less than the second threshold, then the dragging mode is determined to be the variable damping dragging mode.
[0020] In one embodiment, determining the target control model based on the dragging pattern of the robotic arm includes:
[0021] If the drag mode is compliant drag mode, then the target control model is the admittance control model;
[0022] If the drag mode is variable damping drag mode, then the target control model is variable damping control model.
[0023] In one embodiment, the target control model is an admittance control model. Based on the second force detected by the second sensor on the robotic arm and the target control model, the motion control quantities of the robotic arm are determined, including:
[0024] By compensating the second force with gravity, a third force is obtained.
[0025] The third force is input into the admittance control model to obtain the motion control quantity output by the admittance control model.
[0026] In one embodiment, the target control model is a variable damping control model. Based on the second force detected by the second sensor on the robotic arm and the target control model, the motion control quantities of the robotic arm are determined, including:
[0027] Determine the variable damping parameters based on the first force;
[0028] By compensating the second force with gravity, a fourth force is obtained.
[0029] The variable damping parameters and the fourth force are input into the variable damping control model to obtain the motion control quantity output by the variable damping control model.
[0030] Secondly, this application also provides a registration device for a robotic arm, the device comprising:
[0031] The model determination module is used to determine the target control model of the robotic arm based on the first force detected by the first sensor on the robotic arm. The first force is used to indicate the contact force between the registration probe and the registration pin. The target control model is either an admittance control model or a variable damping control model.
[0032] The motion control module is used to determine the motion control quantity of the robotic arm based on the second force detected by the second sensor on the robotic arm and the target control model, and to control the movement of the robotic arm based on the motion control quantity. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0033] Thirdly, this application also provides a robotic arm system, including a controller, a robotic arm, a first sensor, and a second sensor; wherein both the first sensor and the second sensor are disposed on the robotic arm;
[0034] A first sensor is used to detect a first force, which indicates the contact force between the registration probe and the registration pin.
[0035] The second sensor is used to detect the second force, which is used to indicate the force exerted on the robotic arm by the external environment in addition to the first force.
[0036] The controller is used to determine the target control model of the robotic arm based on the first force, and to determine the motion control quantity of the robotic arm based on the second force detected by the second sensor and the target control model, and to control the movement of the robotic arm based on the motion control quantity. The target control model is an admittance control model or a variable damping control model.
[0037] In one embodiment, the robotic arm includes a robotic arm body and a gripping portion and a registration portion disposed at the end of the robotic arm body, wherein the axis of the gripping portion is perpendicular to the axis of the registration portion; a first sensor is disposed in the registration portion and a second sensor is disposed in the gripping portion.
[0038] In one embodiment, the registration unit includes a connecting flange and a registration probe, with the connecting flange, the first sensor, and the registration probe arranged sequentially along the extension direction of the end of the robotic arm body.
[0039] In one embodiment, the gripping part includes a handle, which is arranged in a direction perpendicular to the axis of the registration part. A second sensor is arranged between the handle and the end of the robotic arm body. The handle is used for the operator to apply a dragging force to the robotic arm.
[0040] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:
[0041] Based on the first force detected by the first sensor on the robotic arm, the target control model of the robotic arm is determined. The first force is used to indicate the contact force between the registration probe and the registration pin. The target control model is either an admittance control model or a variable damping control model.
[0042] Based on the second force detected by the second sensor on the robotic arm and the target control model, the motion control quantity of the robotic arm is determined, and the movement of the robotic arm is controlled based on the motion control quantity. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0043] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:
[0044] Based on the first force detected by the first sensor on the robotic arm, the target control model of the robotic arm is determined. The first force is used to indicate the contact force between the registration probe and the registration pin. The target control model is either an admittance control model or a variable damping control model.
[0045] Based on the second force detected by the second sensor on the robotic arm and the target control model, the motion control quantity of the robotic arm is determined, and the movement of the robotic arm is controlled based on the motion control quantity. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0046] The aforementioned registration method and system for the robotic arm can improve registration accuracy. This method determines the target control model of the robotic arm based on a first force detected by a first sensor on the robotic arm. The target control model can be an admittance control model or a variable damping control model. Based on a second force detected by a second sensor on the robotic arm and the target control model, it determines the motion control quantity of the robotic arm and controls the movement of the robotic arm based on the motion control quantity. The first force indicates the contact force between the registration probe and the registration pin, and the second force indicates the force exerted on the robotic arm by the external environment. In this embodiment, since the first sensor can only detect the force exerted on the robotic arm by the external environment and cannot detect the first force, the robotic arm can be completely unaffected by the rebound force acting on it when controlling its movement based on the second force detected by the sensor, thereby improving registration accuracy. Attached Figure Description
[0047] Figure 1 This is a schematic diagram of the robotic arm in one embodiment;
[0048] Figure 2 This is a flowchart illustrating the registration method for a robotic arm in one embodiment;
[0049] Figure 3 This is a flowchart illustrating a method for determining a target control model in one embodiment;
[0050] Figure 4 This is a flowchart illustrating a method for determining a target control model in another embodiment;
[0051] Figure 5 This is a flowchart illustrating a method for determining motion control quantities of a robotic arm in one embodiment.
[0052] Figure 6 This is a flowchart illustrating a method for determining motion control quantities of a robotic arm in another embodiment;
[0053] Figure 7 This is a structural block diagram of the registration device for a robotic arm in one embodiment;
[0054] Figure 8 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0055] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0056] Surgical navigation is a technology that uses positioning technology to track the position of a robotic arm relative to the patient in real time during surgery. The process of registering the patient's actual position with the image space position during surgical navigation is called registration.
[0057] Currently, commonly used registration methods include optical navigation-based registration and rigid body contact-based registration. Among them, optical navigation-based registration is greatly affected by light factors and has limited accuracy, usually around 1 mm; rigid body contact-based registration has higher accuracy (around 0.5 mm) and is therefore widely used in high-precision stereotactic surgery.
[0058] Rigid body contact registration methods often rely on force-controlled compliant dragging of robotic arms. When the robotic arm is in force-controlled dragging mode, the rigid operating handle comes into contact with a fixed rigid body during dragging. Due to the interaction of forces and reactions between the rigid bodies, a contact rebound phenomenon will occur, causing the registration probe to vibrate and resulting in a decrease in registration accuracy.
[0059] In existing technologies, to avoid registration probe jitter during registration, the operator typically judges the tightness between the registration probe and the registration pin based on personal experience during contact. When they come close together, the operator manually reduces the movement speed of the registration probe to decrease its control, thereby reducing or even eliminating the magnitude of the rebound force received by the registration probe. However, this method requires a high level of skill from the operator and is unreliable.
[0060] Based on this, the present invention proposes a registration method for a robotic arm. The method obtains a first force based on a first sensor on the robotic arm and a second force based on a second sensor on the robotic arm. The first force is used to indicate the contact force between the registration probe and the registration pin, and the second force is used to indicate the force exerted on the robotic arm by the external environment. Since the second sensor cannot detect the interaction force between the registration probe and the registration pin, the contact bounce phenomenon can be avoided when the registration probe and the registration pin come into contact.
[0061] The robotic arm system provided in the embodiments of this application is described below.
[0062] like Figure 1 As shown, Figure 1 The diagram illustrates an exemplary robotic arm system, which may be, for example, a six-degree-of-freedom robotic arm. The robotic arm system includes a controller (not visible in the diagram), a robotic arm, a first sensor 7, and a second sensor 4; both the first sensor 7 and the second sensor 4 are mounted on the robotic arm.
[0063] The first sensor 7 is used to detect the first force, which indicates the contact force between the registration probe 3 and the registration pin.
[0064] The second sensor 4 is used to detect the second force, which is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0065] The controller is used to determine the target control model of the robotic arm based on the first force, and to determine the motion control quantity of the robotic arm based on the second force detected by the second sensor and the target control model, and to control the movement of the robotic arm based on the motion control quantity. The target control model is an admittance control model or a variable damping control model.
[0066] Optionally, in this embodiment, the robotic arm includes a robotic arm body 1 and a gripping part 11 and a registration part 12 disposed at the end of the robotic arm body 1, wherein the axis of the gripping part 11 is perpendicular to the axis of the registration part 12; wherein the gripping part 11 is used for the operator to apply a dragging force to the robotic arm, and the registration part 12 is used to contact a registration pin on a fixed rigid body. A first sensor is disposed on the registration part 12, and a second sensor is disposed on the gripping part 11.
[0067] Optionally, in this embodiment of the application, the robotic arm system further includes a multi-end conversion fixture 2, wherein the multi-end conversion fixture includes a first port A, a second port B and a third port C, wherein the first port A is connected to the end of the robotic arm body 1, the third port C is connected to the gripping part 11, the second port B is connected to the registration part 12 through the connecting flange 5, and the axis of the second port B is perpendicular to the axis of the third port C.
[0068] Optionally, in this embodiment, the registration unit 12 includes a connecting flange 5, a first sensor 7, and a registration probe 3. The connecting flange 5, the registration probe 3, and the first sensor 7 are all arranged along the extension direction of the end of the robotic arm body 1, as shown by the dotted line in the figure. The connecting flange 5 connects the registration probe 3 to the end of the robotic arm body (which can be the second port B). The first sensor 7 is located on the side of the registration probe facing the connecting flange 5. Specifically, one end of the connecting flange 5 is coaxial with the registration probe 3, and the other end is connected to the second port B. As the registration probe 3 approaches the registration pin, the first sensor 7 detects a first force, and the registration probe 3 contacts the registration pin on the object of action of the robotic arm.
[0069] In this embodiment, optionally, the gripping part 11 includes a handle 6, which is arranged along the axis perpendicular to the registration part. A second sensor 4 is disposed between the handle 6 and the end of the robotic arm body 1. The handle 6 is used for the operator to apply a dragging force to the robotic arm. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force. The second force includes external environmental forces such as gravity and the force exerted by the human hand.
[0070] In this embodiment of the application, the controller of the robotic arm includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method provided in this application.
[0071] It should be noted that, in this embodiment, since the axis of the gripping part is perpendicular to the axis of the registration part, the second sensor cannot detect the first force. In this case, the robotic arm system controls the movement of each joint of the robotic arm according to the second force. During this process, the movement of each joint is not affected by the first force, thus making the rebound effect have no impact on the movement of the robotic arm and improving the registration accuracy.
[0072] In one embodiment, such as Figure 2 As shown, a registration method for a robotic arm is provided, which can be applied to... Figure 1 Taking the robotic arm in the example, the explanation includes the following steps:
[0073] Step 201: Determine the target control model of the robotic arm based on the first force detected by the first sensor on the robotic arm.
[0074] The first force is used to indicate the contact force between the registration probe and the registration pin, and the target control model is either an admittance control model or a variable damping control model.
[0075] Combination Figure 1 As can be seen, the first sensor is connected to the registration probe and can detect the rebound force received by the registration probe, i.e., the first force.
[0076] Optionally, in the embodiments of this application, different magnitudes of the first force correspond to different target control models. For example, if the first force is large, it means that the registration probe and the registration pin are in close contact. In this case, the registration probe is not suitable to continue moving toward the registration pin. If the first force is small, it means that the registration probe and the registration pin are not in close contact. In this case, there is still room for movement between the registration probe and the registration pin. Therefore, the target control model can be selected from the preset control model, and the target control model can be used to control the movement of the robotic arm.
[0077] In another alternative implementation, the magnitude of the first force can be used to represent the tightness between the registration probe and the registration pin at the end of the robotic arm. Different magnitudes of the first force correspond to different degrees of tightness, and different degrees of tightness can correspond to different target control models. A pre-defined table of correspondence between tightness and target control models can be used to determine the target control model by looking up the table.
[0078] Step 202: Based on the second force detected by the second sensor on the robotic arm and the target control model, determine the motion control quantity of the robotic arm, and control the movement of the robotic arm based on the motion control quantity.
[0079] The second force refers to the forces exerted on the robotic arm by the external environment, in addition to the first force. These forces can include gravity and the dragging force from the human hand.
[0080] It should be noted that, according to Figure 1 It can be seen that, due to the installation positions of the first and second sensors, the direction of the first force detected by the first sensor is perpendicular to the direction of the second force detected by the second sensor. Therefore, it can be determined that the second force does not include the contact force between the registration probe and the registration pin.
[0081] Optionally, in this embodiment of the application, the second force can be input into the target control model to obtain the motion control quantity output by the target control model.
[0082] The motion control quantities can be, for example, the speeds and accelerations of the various joints of the robotic arm. The robotic arm's processing components can send these motion control quantities to the underlying servo system, which then controls the robotic arm's movement based on these quantities.
[0083] In this embodiment, a target control model for the robotic arm is determined based on a first force detected by a first sensor on the robotic arm. This target control model can be either an admittance control model or a variable damping control model. Based on a second force detected by a second sensor on the robotic arm and the target control model, a motion control quantity for the robotic arm is determined, and the robotic arm is controlled to move based on this motion control quantity. The first force indicates the contact force between the registration probe and the registration pin, and the second force indicates the force exerted on the robotic arm by the external environment. In this embodiment, since the second sensor can only detect the force exerted on the robotic arm by the external environment and cannot detect the first force, the robotic arm is completely unaffected by the rebound force experienced by the robotic arm when its movement is controlled based on the second force detected by the sensor, thereby improving registration accuracy.
[0084] Based on the above embodiments, such as Figure 3As shown in the embodiments of this application, a method for determining a target control model is also provided, the method comprising:
[0085] Step 301: Compare the first force with the preset drag force threshold.
[0086] In this embodiment of the application, after obtaining the first force, the magnitude relationship between the first force and a preset drag force threshold can be compared.
[0087] The preset drag force threshold refers to the maximum rebound force that the registration probe and registration pin can withstand. If the first force is greater than or equal to the drag force threshold, it may damage the object being acted upon by the robotic arm. Therefore, the robotic arm can only move when the first force is less than the drag force threshold.
[0088] In this embodiment of the application, the preset drag force threshold is greater than or equal to the maximum value in the contact force range.
[0089] Step 302: If the first force is less than the drag force threshold, then the target control model of the robotic arm is determined based on the first force detected by the first sensor on the robotic arm.
[0090] Step 303: If the first force is greater than or equal to the drag force threshold, the motion control quantity of the robotic arm is determined to be zero, and a pose holding command is sent to the servo system of the robotic arm.
[0091] The pose hold command is used to instruct the robotic arm to stop moving.
[0092] In this embodiment of the application, if the first force is greater than or equal to the drag force threshold, it indicates that the connection between the registration probe and the registration pin is too tight, and that being too tight will cause damage to the target. Therefore, in this case, the robotic arm can determine that the motion control quantity of the robotic arm is zero, that is, enter the emergency braking mode. In the emergency braking mode, the processing component of the robotic arm can send a pose holding command to the servo system. The pose holding command carries a motion control quantity of zero, or the pose holding command carries the same joint position as the joint position at the previous moment.
[0093] In this embodiment, the first force represents the contact force between the registration probe and the registration pin. This contact force characterizes the tightness between the registration probe and the registration pin. If the contact force is too large, the robotic arm enters an emergency braking mode to avoid damaging the object being fixed. If the contact force is too small, the robotic arm can move normally. By controlling the movement of the robotic arm through the contact force between the registration probe and the registration pin, registration accuracy can be improved.
[0094] Based on the above embodiments, such as Figure 4As shown, it provides another method for determining the target control model, which includes:
[0095] Step 401: Determine the dragging mode of the robotic arm based on the first force and the preset contact force range.
[0096] The robotic arm's dragging modes include variable damping dragging mode and compliant dragging mode. Variable damping dragging mode is a motion mode with a small unit motion and slow movement; compliant dragging mode is a motion mode with a large unit motion, smooth movement and high speed.
[0097] Optionally, in this embodiment, the contact force range includes multiple levels, with different levels corresponding to different dragging modes. By comparing the first force with the contact force range, the level of the first force can be determined, thereby determining the dragging mode of the robotic arm.
[0098] Optionally, in this embodiment, the contact force range includes a first threshold and a second threshold, where the first threshold is less than the second threshold; wherein the first threshold represents a safety pre-set threshold, and the second threshold represents a danger threshold. The second threshold is less than or equal to a preset drag force threshold.
[0099] If the first force is less than or equal to the first threshold, the dragging mode is determined to be compliant dragging mode; if the first force is greater than the first threshold and less than the second threshold, the dragging mode is determined to be variable damping dragging mode; if the first force is greater than or equal to the second threshold, the motion control quantity of the robotic arm is determined to be zero, and a pose holding command is sent to the servo system of the robotic arm.
[0100] Step 402: Determine the target control model based on the dragging mode of the robotic arm.
[0101] Different drag modes can correspond to different target control models.
[0102] Optionally, in the embodiments of this application, if the dragging mode is a compliant dragging mode, the target control model is an admittance control model; if the dragging mode is a variable damping dragging mode, the target control model is a variable damping control model.
[0103] In the embodiments of this application, the target control model can also be other models that can achieve similar functions, which will not be listed here.
[0104] In this embodiment, the target control model is determined by dragging mode, so that the registration probe and registration pin are in different relative positions and the corresponding target control models are used for motion control, thereby realizing fine control of the robotic arm and improving registration accuracy.
[0105] Based on the above embodiments, such as Figure 5As shown, it illustrates a method for determining the motion control quantities of a robotic arm, in which the target control model is an admittance control model, and includes the following steps:
[0106] Step 501: Perform gravity compensation on the second force to obtain the third force.
[0107] Since the second sensor cannot distinguish between the gravity acting on the sensor and the dragging force applied by the operator when detecting the external force acting on the robotic arm, this solution compensates for the external force detected by the sensor by gravity.
[0108] The gravity compensation model can be represented as handforce = F - F0 - F flange -F tool Where handforce is the third force; F is the second force; F0 is the calibrated initial value of the sensor; F flange For flange gravity; F tool This refers to the gravity of the end-effector. It should be noted that since gravity is ubiquitous, gravity compensation is also performed in real time.
[0109] Step 502: Input the third force into the admittance control model to obtain the motion control quantity output by the admittance control model.
[0110] Optionally, the admittance control model is Where B is the variable damping matrix, M is the inertia matrix, K is the stiffness matrix, and F is the third force. For the velocity matrix, This is the acceleration matrix.
[0111] In this embodiment, the motion control quantities of each joint can be obtained based on the admittance control model, such as the joint velocity, rotation angle, and acceleration. The processing component of the robotic arm can send the motion control quantities of each joint to the underlying servo system for motion control.
[0112] The embodiments of this application determine the third force through gravity compensation, then determine the motion control amount of each joint based on the third force, and finally perform motion control through a servo system, thereby improving the accuracy of motion control.
[0113] Based on the above embodiments, such as Figure 6 As shown, it illustrates a method for determining the motion control quantities of a robotic arm, in which the target control model is a variable damping control model, and includes the following steps:
[0114] Step 601: Determine the variable damping parameters based on the first force.
[0115] The primary force refers to the contact force between the registration probe and the registration pin. A greater contact force indicates a tighter contact between the registration probe and the registration pin, and consequently, a greater resistance should be encountered when the robotic arm's registration probe moves towards the registration pin. Conversely, a smaller contact force indicates a less tight contact between the registration probe and the registration pin, and consequently, a smaller resistance can be encountered when the robotic arm's registration probe moves towards the registration pin.
[0116] The larger the variable damping parameter, the stronger the damping, and vice versa.
[0117] Therefore, it can be seen that in the embodiments of this application, the first force is positively correlated with the variable damping parameter. Optionally, the first force can be used as the variable damping parameter. Alternatively, the variable damping parameter can be obtained by calculating the first force, for example, by multiplying the first force by a preset coefficient.
[0118] Step 602: Perform gravity compensation on the second force to obtain the fourth force.
[0119] The process of gravity compensation for the second force can be referred to in the above embodiment, and will not be repeated here.
[0120] Step 603: Input the variable damping parameters and the fourth force into the variable damping control model to obtain the motion control quantity output by the variable damping control model.
[0121] In this embodiment of the application, the variable damping control model can be expressed as: Where H is the variable damping matrix, M is the inertia matrix, K is the stiffness matrix, and F is the fourth force. For the velocity matrix, Let H be the acceleration matrix. H = B + f(F), where f(F) is the variable damping parameter and B is the damping matrix.
[0122] In this embodiment, the motion control quantities of each joint can be obtained based on the variable damping control model, such as the joint velocity, rotation angle, and acceleration. The processing component of the robotic arm can send the motion control quantities of each joint to the underlying servo system for motion control.
[0123] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0124] Based on the same inventive concept, this application also provides a robotic arm registration device for implementing the above-described robotic arm registration method. The solution provided by this device is similar to the implementation described in the above method; therefore, the specific limitations in one or more robotic arm registration device embodiments provided below can be found in the limitations of the robotic arm registration method described above, and will not be repeated here.
[0125] In one embodiment, such as Figure 7 As shown, a registration device for a robotic arm is provided, comprising: a model determination module 701 and a motion control module 702, wherein:
[0126] The model determination module 701 is used to determine the target control model of the robotic arm based on the first force detected by the first sensor on the robotic arm. The first force is used to indicate the contact force between the registration probe and the registration pin. The target control model is an admittance control model or a variable damping control model.
[0127] The motion control module 702 is used to determine the motion control quantity of the robotic arm based on the second force detected by the second sensor on the robotic arm and the target control model, and to control the movement of the robotic arm based on the motion control quantity. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0128] In one embodiment, before the model determination module 701 determines the target control model of the robotic arm based on the first force detected by the first sensor on the robotic arm, the method further includes:
[0129] Compare the initial force with the preset drag force threshold;
[0130] Accordingly, based on the first force detected by the first sensor on the robotic arm, the target control model of the robotic arm is determined, including:
[0131] If the first force is less than the drag force threshold, the target control model of the robotic arm is determined based on the first force detected by the first sensor at the end of the robotic arm.
[0132] In one embodiment, the model determination module 701 is specifically used to determine that the motion control quantity of the robotic arm is zero if the first force is greater than or equal to the drag force threshold, and to send a pose holding command to the servo system of the robotic arm. The pose holding command is used to instruct the robotic arm to stop moving.
[0133] In one embodiment, the model determination module 701 is specifically used for
[0134] The dragging mode of the robotic arm is determined based on the first force and the preset contact force range.
[0135] The target control model is determined based on the dragging pattern of the robotic arm.
[0136] In one embodiment, the contact force range includes a first threshold and a second threshold, wherein the first threshold is less than the second threshold; the model determination module 701 is specifically used to determine that the dragging mode is a compliant dragging mode if the first force is less than or equal to the first threshold.
[0137] If the first force is greater than the first threshold and less than the second threshold, then the dragging mode is determined to be the variable damping dragging mode.
[0138] In one embodiment, the model determination module 701 is specifically configured to determine the target control model as an admittance control model if the dragging mode is a compliant dragging mode.
[0139] If the drag mode is variable damping drag mode, then the target control model is variable damping control model.
[0140] In one embodiment, the target control model is an admittance control model, and the motion control module 702 is specifically used to perform gravity compensation on the second force to obtain the third force.
[0141] The third force is input into the admittance control model to obtain the motion control quantity output by the admittance control model.
[0142] In one embodiment, the target control model is a variable damping control model, and the motion control module 702 is specifically used to determine the variable damping parameters based on the first force.
[0143] By compensating the second force with gravity, a fourth force is obtained.
[0144] The variable damping parameters and the fourth force are input into the variable damping control model to obtain the motion control quantity output by the variable damping control model.
[0145] The various modules in the registration device for the aforementioned robotic arm can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0146] In one embodiment, a computer device is provided, the computer device being configured as such Figure 1 The internal structure diagram of the computer device in the robotic arm shown can be as follows: Figure 8 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores preset drag force thresholds. The network interface communicates with external terminals via a network connection. When executed by the processor, the computer program implements a registration method for a robotic arm.
[0147] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0148] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0149] Based on the first force detected by the first sensor on the robotic arm, the target control model of the robotic arm is determined. The first force is used to indicate the contact force between the registration probe and the registration pin. The target control model is either an admittance control model or a variable damping control model.
[0150] Based on the second force detected by the second sensor on the robotic arm and the target control model, the motion control quantity of the robotic arm is determined, and the movement of the robotic arm is controlled based on the motion control quantity. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0151] In one embodiment, when the processor executes the computer program, it further implements the following steps: comparing a first force with a preset drag force threshold; accordingly, determining a target control model for the robotic arm based on the first force detected by a first sensor on the robotic arm, including: if the first force is less than the drag force threshold, then determining a target control model for the robotic arm based on the first force detected by the first sensor on the robotic arm.
[0152] In one embodiment, when the processor executes the computer program, it further performs the following steps: if the first force is greater than or equal to the drag force threshold, it determines that the motion control quantity of the robotic arm is zero and sends a pose holding command to the servo system of the robotic arm, the pose holding command being used to instruct the robotic arm to stop moving.
[0153] In one embodiment, when the processor executes the computer program, it further performs the following steps: determining the dragging mode of the robotic arm based on the first force and a preset contact force range; and determining the target control model based on the dragging mode of the robotic arm.
[0154] In one embodiment, the contact force range includes a first threshold and a second threshold, wherein the first threshold is less than the second threshold; when the processor executes the computer program, it further implements the following steps: if the first force is less than or equal to the first threshold, the dragging mode is determined to be a compliant dragging mode; if the first force is greater than the first threshold and less than the second threshold, the dragging mode is determined to be a variable damping dragging mode.
[0155] In one embodiment, when the processor executes the computer program, it further implements the following steps: if the drag mode is a compliant drag mode, then the target control model is an admittance control model; if the drag mode is a variable damping drag mode, then the target control model is a variable damping control model.
[0156] In one embodiment, the target control model is an admittance control model, and when the processor executes the computer program, it also performs the following steps: performing gravity compensation on the second force to obtain a third force; inputting the third force into the admittance control model to obtain the motion control quantity output by the admittance control model.
[0157] In one embodiment, the target control model is a variable damping control model. When the processor executes the computer program, it also performs the following steps: determining the variable damping parameters based on the first force; performing gravity compensation on the second force to obtain the fourth force; and inputting the variable damping parameters and the fourth force into the variable damping control model to obtain the motion control quantity output by the variable damping control model.
[0158] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0159] Based on the first force detected by the first sensor on the robotic arm, the target control model of the robotic arm is determined. The first force is used to indicate the contact force between the registration probe and the registration pin. The target control model is either an admittance control model or a variable damping control model.
[0160] Based on the second force detected by the second sensor on the robotic arm and the target control model, the motion control quantity of the robotic arm is determined, and the movement of the robotic arm is controlled based on the motion control quantity. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0161] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: comparing a first force with a preset drag force threshold; accordingly, determining a target control model for the robotic arm based on the first force detected by a first sensor on the robotic arm, including: if the first force is less than the drag force threshold, then determining a target control model for the robotic arm based on the first force detected by the first sensor on the robotic arm.
[0162] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: if the first force is greater than or equal to the drag force threshold, it determines that the motion control quantity of the robotic arm is zero, and sends a pose holding command to the servo system of the robotic arm, the pose holding command being used to instruct the robotic arm to stop moving.
[0163] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: determining the dragging mode of the robotic arm based on the first force and a preset contact force range; and determining the target control model based on the dragging mode of the robotic arm.
[0164] In one embodiment, the contact force range includes a first threshold and a second threshold, wherein the first threshold is less than the second threshold; when the computer program is executed by the processor, it further implements the following steps: if the first force is less than or equal to the first threshold, the dragging mode is determined to be a compliant dragging mode; if the first force is greater than the first threshold and less than the second threshold, the dragging mode is determined to be a variable damping dragging mode.
[0165] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: if the drag mode is a compliant drag mode, then the target control model is an admittance control model; if the drag mode is a variable damping drag mode, then the target control model is a variable damping control model.
[0166] In one embodiment, the target control model is an admittance control model. When the computer program is executed by the processor, it also performs the following steps: performing gravity compensation on the second force to obtain a third force; inputting the third force into the admittance control model to obtain the motion control quantity output by the admittance control model.
[0167] In one embodiment, the target control model is a variable damping control model. When the computer program is executed by the processor, it also performs the following steps: determining the variable damping parameters based on the first force; performing gravity compensation on the second force to obtain the fourth force; and inputting the variable damping parameters and the fourth force into the variable damping control model to obtain the motion control quantity output by the variable damping control model.
[0168] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0169] Based on the first force detected by the first sensor on the robotic arm, the target control model of the robotic arm is determined. The first force is used to indicate the contact force between the registration probe and the registration pin. The target control model is either an admittance control model or a variable damping control model.
[0170] Based on the second force detected by the second sensor on the robotic arm and the target control model, the motion control quantity of the robotic arm is determined, and the movement of the robotic arm is controlled based on the motion control quantity. The second force is used to indicate the force exerted on the robotic arm by the external environment other than the first force.
[0171] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: comparing a first force with a preset drag force threshold; accordingly, determining a target control model for the robotic arm based on the first force detected by a first sensor on the robotic arm, including: if the first force is less than the drag force threshold, then determining a target control model for the robotic arm based on the first force detected by the first sensor on the robotic arm.
[0172] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: if the first force is greater than or equal to the drag force threshold, it determines that the motion control quantity of the robotic arm is zero, and sends a pose holding command to the servo system of the robotic arm, the pose holding command being used to instruct the robotic arm to stop moving.
[0173] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: determining the dragging mode of the robotic arm based on the first force and a preset contact force range; and determining the target control model based on the dragging mode of the robotic arm.
[0174] In one embodiment, the contact force range includes a first threshold and a second threshold, wherein the first threshold is less than the second threshold; when the computer program is executed by the processor, it further implements the following steps: if the first force is less than or equal to the first threshold, the dragging mode is determined to be a compliant dragging mode; if the first force is greater than the first threshold and less than the second threshold, the dragging mode is determined to be a variable damping dragging mode.
[0175] In one embodiment, when the computer program is executed by the processor, it further implements the following steps: if the drag mode is a compliant drag mode, then the target control model is an admittance control model; if the drag mode is a variable damping drag mode, then the target control model is a variable damping control model.
[0176] In one embodiment, the target control model is an admittance control model. When the computer program is executed by the processor, it also performs the following steps: performing gravity compensation on the second force to obtain a third force; inputting the third force into the admittance control model to obtain the motion control quantity output by the admittance control model.
[0177] In one embodiment, the target control model is a variable damping control model. When the computer program is executed by the processor, it also performs the following steps: determining the variable damping parameters based on the first force; performing gravity compensation on the second force to obtain the fourth force; and inputting the variable damping parameters and the fourth force into the variable damping control model to obtain the motion control quantity output by the variable damping control model.
[0178] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0179] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above 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.
[0180] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for registering a robotic arm, characterized in that, The method includes: The dragging mode of the robotic arm is determined based on the first force detected by the first sensor on the robotic arm and the preset contact force range. The contact force range includes a first threshold and a second threshold, wherein the first threshold is less than the second threshold. The first force is used to indicate the contact force between the registration probe and the registration pin. If the first force is less than or equal to the first threshold, the dragging mode is determined to be a compliant dragging mode; if the first force is greater than the first threshold and less than the second threshold, the dragging mode is determined to be a variable damping dragging mode; if the dragging mode is the compliant dragging mode, the target control model is determined to be an admittance control model; if the dragging mode is the variable damping dragging mode, the target control model is determined to be a variable damping control model. When the target control model is the admittance control model, gravity compensation is applied to the second force to obtain a third force; the third force is input to the admittance control model to obtain the motion control quantity of the robotic arm output by the admittance control model; when the target control model is the variable damping control model, variable damping parameters are determined based on the first force; gravity compensation is applied to the second force to obtain a fourth force; the variable damping parameters and the fourth force are input to the variable damping control model to obtain the motion control quantity of the robotic arm output by the variable damping control model, and the movement of the robotic arm is controlled based on the motion control quantity; the second force is used to indicate the forces exerted on the robotic arm by the external environment other than the first force.
2. The method according to claim 1, characterized in that, Before determining the target control model of the robotic arm based on the first force detected by the first sensor on the robotic arm, the method further includes: Compare the first applied force with a preset drag force threshold; Accordingly, determining the target control model of the robotic arm based on the first force detected by the first sensor on the robotic arm includes: If the first force is less than the drag force threshold, then the target control model of the robotic arm is determined based on the first force detected by the first sensor on the robotic arm.
3. The method according to claim 2, characterized in that, The method further includes: If the first force is greater than or equal to the drag force threshold, the motion control quantity of the robotic arm is determined to be zero, and a pose holding command is sent to the servo system of the robotic arm. The pose holding command is used to instruct the robotic arm to stop moving.
4. The method according to claim 1, characterized in that, The motion control quantities include the speed and acceleration of each joint of the robotic arm.
5. The method according to claim 2, characterized in that, The preset drag force threshold is the maximum rebound force that the registration probe and the registration pin can withstand.
6. The method according to claim 1, characterized in that, The determination of the variable damping parameters based on the first force includes: The first force is determined as the variable damping parameter; or, the variable damping parameter is obtained by performing calculations on the first force.
7. A robotic arm system, characterized in that, It includes a controller, a robotic arm, a first sensor, and a second sensor; wherein both the first sensor and the second sensor are mounted on the robotic arm. The first sensor is used to detect a first force, which indicates the contact force between the registration probe and the registration pin. The second sensor is used to detect a second force, which indicates the force exerted on the robotic arm by the external environment in addition to the first force. The controller is configured to determine the dragging mode of the robotic arm based on the first applied force and a preset contact force range, wherein the contact force range includes a first threshold and a second threshold, and the first threshold is less than the second threshold; if the first applied force is less than or equal to the first threshold, the dragging mode is determined to be a compliant dragging mode; if the first applied force is greater than the first threshold and less than the second threshold, the dragging mode is determined to be a variable damping dragging mode; if the dragging mode is the compliant dragging mode, the target control model is determined to be an admittance control model; if the dragging mode is the variable damping dragging mode, the target control model is determined to be a variable damping control model. When the target control model is the admittance control model, gravity compensation is applied to the second force to obtain a third force; the third force is input to the admittance control model to obtain the motion control quantity of the robotic arm output by the admittance control model; when the target control model is the variable damping control model, variable damping parameters are determined based on the first force; gravity compensation is applied to the second force to obtain a fourth force; the variable damping parameters and the fourth force are input to the variable damping control model to obtain the motion control quantity of the robotic arm output by the variable damping control model, and the robotic arm is controlled to move based on the motion control quantity.
8. The robotic arm system according to claim 7, characterized in that, The robotic arm includes a robotic arm body and a gripping part and a registration part disposed at the end of the robotic arm body, wherein the axis of the gripping part is perpendicular to the axis of the registration part; the first sensor is disposed in the registration part, and the second sensor is disposed in the gripping part.
9. The robotic arm system according to claim 8, characterized in that, The registration unit includes a connecting flange and a registration probe, wherein the connecting flange, the first sensor, and the registration probe are arranged sequentially along the extension direction of the end of the robotic arm body.
10. The robotic arm system according to claim 8, characterized in that, The gripping part includes a handle, which is arranged along the axis perpendicular to the registration part. A second sensor is arranged between the handle and the end of the robotic arm body. The handle is used for the operator to apply a dragging force to the robotic arm.
Citation Information
Patent Citations
Method for the surface treatment of an article
CN110049849A
Cooperative operation of robotic arms
US20200405417A1