Robot exception handling method, device, equipment and medium

Through the computer robot's human-controlled position and dynamic matrix, the target joint angle is calculated and the adjustment measures are judged, which solves the problem of abnormalities in the joint replacement surgery robot during force-controlled grinding, and realizes the stable operation of the robot under abnormal conditions and shortens the surgical time.

CN118559700BActive Publication Date: 2025-03-04BEIJING NATONG MEDICAL ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410616665.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-17
Publication Date
2025-03-04
Estimated Expiration
2044-05-17

AI Technical Summary

Technical Problem

When the joint replacement surgery robot performs force-controlled grinding, the robot experiences abnormalities related to the joint position, resulting in errors and power failures. The grinding tool may get stuck in the bones, causing danger, and will return to normal use for a long time, prolong the operation time, and increase the risk of injury of patients.

Method used

Through the computer robot's human-controlled position and dynamic matrix, the target joint angle is calculated, and multiple target conditions are combined to determine adjustment measures. Finally, the robot is adjusted according to the adjustment measures to trigger measures to deal with abnormalities and ensure the normal operation of the robot.

Benefits of technology

It effectively avoids the robot's errors and power outage due to abnormalities, reduces the operation time, reduces the risk of injury in patients, and ensures the normal operation of the operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118559700B_ABST
    Figure CN118559700B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a robot exception handling method, device, equipment and medium. Among them, the robot exception handling method includes: calculating the robot force control posture and determining the dynamic matrix; calculating the target joint angle according to the force control posture and the dynamic matrix; determining the corresponding adjustment measures through combined judgment of multiple target conditions, the target conditions include judging whether each of the target joint angles will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle is sent in the previous cycle; adjusting the mode of the robot according to the adjustment measures. According to the embodiment of the present disclosure, corresponding countermeasures can be triggered when an abnormality occurs in the robot to ensure the normal operation of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of surgical robot motion control, and in particular to a robot abnormality processing method, device, equipment and medium. Background Art

[0002] When grinding leg bones, the joint replacement surgical robot works in the force-controlled grinding mode. Since the patient's legs are not fixed, the force-controlled coordinate system must move with the movement of the legs. The robot needs to keep up with the movement of the force-controlled coordinate system to ensure accurate bone grinding. When the grinding tool is grinding bones in a dynamic force-controlled coordinate system (contacting bones), if an abnormality related to the joint position (hereinafter referred to as "abnormality") occurs, the robot will report an error and power off. At the same time, the grinding tool may get stuck in the bone, causing danger, or even unable to resume normal use. Even if an abnormality occurs at a position where the grinding tool does not contact the bone, it will take a lot of time to restore normal operation, which will prolong the operation time and cause unnecessary damage to the patient's body. If the robot has multiple abnormalities during the force-controlled grinding process, the operation will not be able to proceed normally.

[0003] Related technologies include adding mechanical limit blocks to robot joints to limit the range of motion of robot joints; pasting warning signs on the robot to remind the operator not to move the robot joint angle to a certain range, which would cause strangeness; using the robot's own safety monitoring function to monitor joint angles, angular velocities, etc. However, the above methods also have the risks of complex processing design, high learning costs, errors, and power outages. Summary of the invention

[0004] In order to solve the above technical problems, the present disclosure provides a robot exception handling method, device, equipment and medium.

[0005] In a first aspect, the present disclosure provides a robot exception handling method, comprising:

[0006] Calculate the robot's force-controlled position and determine the dynamic matrix;

[0007] Calculating a target joint angle according to the force-controlled posture and the dynamic matrix;

[0008] Determine corresponding adjustment measures by combining and judging multiple target conditions, wherein the target conditions include judging whether each target joint angle will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle was sent in the previous cycle;

[0009] The mode of the robot is adjusted according to the adjustment measures.

[0010] In a second aspect, the present disclosure provides a robot exception handling device, comprising:

[0011] The first calculation module is used to calculate the robot's force control posture and determine the dynamic matrix;

[0012] A second calculation module, used for calculating a target joint angle according to the force-controlled posture and the dynamic matrix;

[0013] A measure determination module is used to determine corresponding adjustment measures by combining and judging multiple target conditions, wherein the target conditions include judging whether each target joint angle will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle was sent in the previous cycle;

[0014] A mode adjustment module is used to adjust the mode of the robot according to the adjustment measures.

[0015] In a third aspect, the present disclosure provides a robot exception handling device, comprising:

[0016] processor;

[0017] A memory for storing executable instructions;

[0018] The processor is used to read executable instructions from the memory and execute the executable instructions to implement the robot exception handling method of the first aspect.

[0019] In a fourth aspect, the present disclosure provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor implements the robot exception handling method of the first aspect.

[0020] Compared with the prior art, the technical solution provided by the embodiments of the present disclosure has the following advantages:

[0021] The robot exception handling method, device, equipment and medium of the embodiments of the present disclosure can calculate the robot's force-controlled posture and determine the dynamic matrix, then calculate the target joint angle according to the force-controlled posture and the dynamic matrix, and then determine the corresponding adjustment measures through combined judgment through multiple target conditions. The target conditions include judging whether each of the target joint angles will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle is sent in the previous cycle. Finally, the robot is adjusted in mode according to the adjustment measures. Thus, the target joint angle of the robot can be calculated, the corresponding adjustment measures can be determined through the target conditions, and then the robot is adjusted in mode according to the adjustment measures, so as to trigger corresponding countermeasures when an abnormality occurs in the robot to ensure the normal operation of the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.

[0023] Figure 1 A flowchart of a robot exception handling method provided by an embodiment of the present disclosure;

[0024] Figure 2 A flowchart of another robot exception handling method provided by an embodiment of the present disclosure;

[0025] Figure 3 A schematic diagram of the structure of a robot exception handling device provided in an embodiment of the present disclosure;

[0026] Figure 4 A schematic diagram of the structure of a robot exception handling device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0027] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0028] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0029] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0030] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0031] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0032] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0033] When grinding leg bones, the joint replacement surgical robot works in the force-controlled grinding mode. Since the patient's legs are not fixed, the force-controlled coordinate system must move with the movement of the legs. The robot needs to keep up with the movement of the force-controlled coordinate system to ensure accurate bone grinding. When the grinding tool is grinding bones in a dynamic force-controlled coordinate system (contacting bones), if an abnormality related to the joint position (hereinafter referred to as "abnormality") occurs, the robot will report an error and power off. At the same time, the grinding tool may get stuck in the bone, causing danger, or even unable to resume normal use. Even if an abnormality occurs at a position where the grinding tool does not contact the bone, it will take a lot of time to restore normal operation, which will prolong the operation time and cause unnecessary damage to the patient's body. If the robot has multiple abnormalities during the force-controlled grinding process, the operation will not be able to proceed normally.

[0034] During the operation, the patient's leg bones will inevitably have a certain degree of displacement and spatial rotation. Therefore, the force-controlled coordinate system must remain relatively stationary with the patient's leg bones, that is, it must move with the movement of the leg bones. During the operation of the robot, the movement of the force-controlled coordinate system must also be used as an input for control to ensure correct bone grinding.

[0035] Abnormalities related to joint angles generally include joint position out of limit, singularity, and joint overspeed. The joint position is obviously related to the joint angle; surgical robots are prone to two kinds of singularities, one corresponding to 0° at the elbow joint and the other corresponding to 0° at the wrist joint, both of which are related to the joint angle; the joint speed can be obtained by the difference of the joint angles of two cycles, which is also related to the joint angle.

[0036] When using a medical surgical robot for force-controlled grinding, the robot is required to have abnormal protection measures to ensure that the joints do not exceed the prescribed movement limits and can complete the operation with fewer errors and without power outages.

[0037] At present, domestic orthopedic surgical robots usually use the following methods to implement exception handling:

[0038] 1) Add mechanical limit blocks to the robot joints to limit the range of motion of the robot joints;

[0039] 2) Stick a reminder sign on the robot to remind the operator not to move the robot joint angle to a certain range, which will cause singularity;

[0040] 3) Use the robot’s built-in safety monitoring function to monitor joint angles and angular velocities.

[0041] Method 1): The limit block is not an original part of the robot, and the processing and design are relatively complicated. It cannot be adjusted according to the actual situation. Different limit blocks must be designed for different robots, and they cannot be universal. Method 2): It can only serve as a reminder and prevent the occurrence of abnormalities to a certain extent. There is still a risk of error reporting and power outages. Method 3): The robot's built-in safety monitoring function often chooses to cut off the power when the robot has an abnormality, and manual operation of the teach pendant is required to restore it. Medical personnel often do not have the skills to operate the robot and need training, which will greatly increase the learning cost.

[0042] In order to solve the above problems, the present disclosure provides a robot exception handling method, device, equipment and medium. Figure 1-Figure 2 The robot exception handling method provided in the embodiment of the present disclosure is described in detail.

[0043] Figure 1 A schematic flow chart of a robot exception handling method provided by an embodiment of the present disclosure is shown.

[0044] In the disclosed embodiment, the robot exception handling method may be executed by an electronic device, wherein the electronic device may include but is not limited to devices such as computer devices, cloud servers or cloud server clusters.

[0045] like Figure 1 As shown, the robot exception handling method may include the following steps.

[0046] S110, calculating the robot's force control posture and determining the dynamic matrix.

[0047] In the disclosed embodiment, the electronic device may calculate the force-controlled posture of the robot and determine the dynamic matrix.

[0048] Optionally, the force-controlled posture may be a posture corresponding to the robot in the current cycle.

[0049] Alternatively, the dynamic matrix is ​​an important typical representative algorithm of predictive control, which has basic characteristics such as prediction model, online rolling optimization and error feedback correction.

[0050] Specifically, the electronic device can calculate the force-controlled position X of the robot in the current cycle and determine the dynamic matrix.

[0051] S120, calculating a target joint angle according to the force-controlled posture and the dynamic matrix.

[0052] In the embodiment of the present disclosure, the electronic device can calculate the target joint angle according to the force-controlled posture and the dynamic matrix.

[0053] Optionally, the target joint angle may be the angle of each corresponding joint of the robot.

[0054] Specifically, after acquiring the force-controlled posture and the dynamic matrix, the electronic device can calculate the target joint angle according to the target posture and the dynamic matrix.

[0055] S130, determining corresponding adjustment measures through combined judgment of multiple target conditions, wherein the target conditions include judging whether each target joint angle will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle was sent in the previous cycle.

[0056] In the embodiment of the present disclosure, the electronic device can make a combined judgment based on multiple target conditions to determine corresponding adjustment measures.

[0057] Optionally, the target condition may be used to determine the working state of the robot. The target condition may include determining whether each target joint angle will cause an abnormality, determining whether the target posture of the previous cycle is within the grinding area, and determining whether the target posture of the previous cycle was sent in the previous cycle.

[0058] Optionally, the adjustment measure may be a measure for adjusting the robot differently.

[0059] Specifically, the electronic device can make a combined judgment through multiple target conditions, such as judging whether each target joint angle will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle was sent in the previous cycle, so as to determine the corresponding adjustment measures.

[0060] S140: Adjust the mode of the robot according to the adjustment measure.

[0061] In the disclosed embodiment, the electronic device may adjust the mode of the robot according to the adjustment measures.

[0062] Specifically, after determining the adjustment measure, the electronic device can adjust the mode of the robot according to the adjustment measure.

[0063] Therefore, in the embodiment of the present disclosure, the force-controlled posture of the robot can be calculated and the dynamic matrix can be determined. Then, the target joint angle is calculated according to the force-controlled posture and the dynamic matrix. Then, a combination of multiple target conditions is used to determine the corresponding adjustment measures. The target conditions include determining whether each of the target joint angles will cause an abnormality, determining whether the target posture of the previous cycle is within the grinding area, and determining whether the target posture of the previous cycle is sent in the previous cycle. Finally, the robot is adjusted in mode according to the adjustment measures. Thus, the target joint angle of the robot can be calculated, the corresponding adjustment measures can be determined through the target conditions, and then the robot is adjusted in mode according to the adjustment measures, thereby triggering corresponding countermeasures when an abnormality occurs in the robot to ensure the normal operation of the robot.

[0064] Optionally, S110 may specifically include: calculating the force control posture of the robot in the force control coordinate system; determining whether the target posture of the previous cycle is sent in the previous cycle; if the target posture of the previous cycle is sent in the previous cycle, not updating the dynamic matrix; if the target posture of the previous cycle is not sent in the previous cycle, updating the dynamic matrix.

[0065] In the embodiment of the present disclosure, the electronic device can calculate the force-controlled posture of the robot in the force-controlled coordinate system.

[0066] Optionally, the force-controlled pose X is an impedance-controlled output.

[0067] Optionally, the force control coordinate system can be selected at any position, and the relevant variables in the impedance control are all described in the force control coordinate system.

[0068] Specifically, the electronic device can calculate the force-controlled posture X (6-dimensional array in Cartesian space) of the robot in the current cycle under the force-controlled coordinate system F. It can be understood that the force-controlled posture X in the current cycle is the posture corresponding to the displacement of the external force in the current cycle.

[0069] Furthermore, the electronic device may determine whether the target posture of the previous cycle was sent in the previous cycle.

[0070] Specifically, the electronic device can determine whether the previous cycle sends the previous cycle target posture Xf_last (that is, the target posture Xf of the previous cycle).

[0071] In some embodiments, if the target posture of the previous period is sent in the previous period, the electronic device does not update the dynamic matrix.

[0072] Specifically, after the electronic device makes a judgment on the previous cycle, if the previous cycle sent the previous cycle target posture Xf_last, the electronic device may not update the dynamic matrix F2D, that is, still use the dynamic matrix F2D of the previous cycle.

[0073] In other embodiments, if the target posture of the previous cycle is not sent in the previous cycle, the electronic device updates the dynamic matrix.

[0074] Specifically, after the electronic device makes a judgment on the previous cycle, if the previous cycle target posture Xf_last is not sent in the previous cycle, it means that no abnormality occurs in the previous cycle, and the dynamic matrix F2D is updated.

[0075] Among them, the dynamic matrix F2D reflects the relationship between the force control coordinate system F and the dynamic coordinate system D. The dynamic coordinate system D is fixed on the leg bones. Obviously, the coordinate system D and the robot base coordinate system can have relative motion. The dynamic matrix F2D is calculated by the host computer every cycle.

[0076] Optionally, S120 may specifically include: calculating the dynamic posture of the force-controlled posture in the dynamic coordinate system according to the dynamic matrix; performing degree of freedom constraint processing on the dynamic posture, and calculating the target posture of the processed dynamic posture in the force-controlled coordinate system for this period; and performing an inverse solution according to the target posture of this period to obtain the target joint angle.

[0077] In the embodiment of the present disclosure, the electronic device can calculate the dynamic posture of the force-controlled posture in the dynamic coordinate system according to the dynamic matrix.

[0078] Optionally, the dynamic posture may be a description of the force-controlled posture in a dynamic coordinate system.

[0079] Specifically, the electronic device can calculate the dynamic posture Xd of the force-controlled posture X in the dynamic coordinate system D according to the dynamic matrix F2D, such as Xd=inv(F2D)*X.

[0080] Furthermore, the electronic device may perform degree of freedom constraint processing on the dynamic posture, and calculate the target posture of the processed dynamic posture in the current period in the force control coordinate system.

[0081] Specifically, the dynamic coordinate system D changes with the leg bone posture in almost every cycle. The freedom constraints of impedance control are described in the dynamic coordinate system, so the dynamic posture Xd needs to be processed with freedom constraints, that is, the direction where the freedom constraint is 0, the calculated target position or posture value is cleared to obtain the processed dynamic posture Xd′, and the target posture Xf of the processed dynamic posture Xd′ in the force control coordinate system is calculated, such as Xf=F2D*Xd′.

[0082] Furthermore, the electronic device may perform an inverse solution based on the target posture of the current cycle to obtain the target joint angle.

[0083] Specifically, the electronic device can perform an inverse solution based on the target posture Xf of this cycle to obtain the target joint angle J (7-dimensional array in the joint space).

[0084] Optionally, S130 may specifically include: separately determining whether each of the target joint angles will cause an abnormality; if each of the target joint angles will cause an abnormality, determining whether the target posture of the previous cycle is within the grinding area; if the target posture of the previous cycle is within the grinding area, determining that the corresponding adjustment measure is to update the target posture of this cycle to the target posture of the previous cycle, and issuing the target posture of this cycle; if the target posture of the previous cycle is not within the grinding area, determining that the corresponding adjustment measure is to control the robot to enter the holding mode and end.

[0085] In the disclosed embodiment, the electronic device may determine respectively whether each of the target joint angles will cause an abnormality.

[0086] Specifically, after obtaining the target joint angles, the electronic device can determine whether each of the target joint angles will cause an abnormality.

[0087] Furthermore, if each of the target joint angles will cause an abnormality, it is determined whether the target posture of the previous cycle is within the grinding area.

[0088] Optionally, the grinding area may be a pre-set area for grinding.

[0089] Specifically, after the electronic device determines whether each of the target joint angles will cause an abnormality, if each of the target joint angles will cause an abnormality, it continues to determine whether the target posture of the previous cycle is within the grinding area.

[0090] In some embodiments, if the target posture of the previous cycle is within the grinding area, the corresponding adjustment measure is determined to be updating the target posture of the current cycle to the target posture of the previous cycle, and issuing the target posture of the current cycle.

[0091] Specifically, after the electronic device determines whether the target posture of the previous cycle is within the grinding area, if the target posture of the previous cycle is within the grinding area, it determines that the corresponding adjustment measure is to update the target posture of the current cycle to the target posture of the previous cycle, and send the target posture of the current cycle, for example, update Xf_last = Xf for use in the next cycle, and send the target posture Xf to end the calculation of this cycle. At the end of the Cartesian space robot, it manifests as: the robot movement tends to produce abnormalities, and the robot no longer moves. After the robot becomes abnormal, if there are still legal target postures that can be sent, then the dynamic matrix will not be updated before the robot joints tend to move away from the limit, which is equivalent to not updating the state of the robot.

[0092] In other embodiments, if the target posture of the previous cycle is not within the grinding area, the corresponding adjustment measure is determined to be controlling the robot to enter a holding mode and end.

[0093] Specifically, after the electronic device determines whether the target posture of the previous cycle is within the grinding area, if the target posture of the previous cycle is not within the grinding area, it determines that the corresponding adjustment measure is to control the robot to enter the holding mode and end. At this time, it means that the dynamic coordinate system moves, resulting in the target posture that was legal in the previous cycle is no longer legal. The robot exits the impedance mode, enters the holding mode (maintains the current position), and ends the calculation of this cycle. This ensures that when the state is locked, even if the patient's leg movement is large and the target posture issued is illegal, it can still be detected to ensure that no abnormality occurs.

[0094] As a result, even if an abnormality occurs in the robot, it will not switch to the hold mode 100%, but will find a legal target position and send it down, allowing the robot to maintain a fixed position and wait for a trend away from the abnormality to appear.

[0095] After an exception occurs, Xf can no longer be sent as the target pose, and a legal target pose needs to be found for sending. Xf_last is the legal target pose of the previous cycle, and when the robot position control is good, Xf_last is equal to the current actual pose. Selecting Xf_last as the legal target pose in the event of an exception can make the robot wait (stand still).

[0096] Optionally, after separately judging whether each of the target joint angles will cause an abnormality, the robot abnormality handling method may further include: if each of the target joint angles will not cause an abnormality, judging whether the target posture of the previous cycle is sent in the previous cycle; if the target posture of the previous cycle is sent in the previous cycle, judging whether the target posture of the previous cycle is within the grinding area; if the target posture of the previous cycle is not within the grinding area, determining that the corresponding adjustment measure is to control the robot to enter the holding mode and end.

[0097] In the embodiment of the present disclosure, if each of the target joint angles does not cause an abnormality, the electronic device can determine whether the target posture of the previous cycle was sent in the previous cycle.

[0098] Specifically, after determining that the target joint angle will not cause an abnormality, the electronic device continues to determine whether the target posture Xf_last of the previous cycle was sent in the previous cycle.

[0099] Further, if the target posture of the previous cycle is sent in the previous cycle, the electronic device can determine whether the target posture of the previous cycle is within the grinding area.

[0100] Specifically, if the target posture of the previous cycle is sent in the previous cycle, the electronic device may continue to determine whether the target posture of the previous cycle is within the grinding area.

[0101] Further, if the target posture of the previous cycle is not within the grinding area, the corresponding adjustment measure is determined to control the robot to enter a holding mode and end.

[0102] Specifically, if the target posture of the previous cycle is not within the grinding area, the corresponding adjustment measure is determined to control the robot to enter the holding mode and end, that is, the robot exits the impedance mode, enters the holding mode (maintains the current position), and ends the calculation of this cycle. The reason for judging this situation is that if the previous cycle sent the Xf_last of the previous cycle, it means that an abnormality occurred in the previous cycle, and no abnormality occurred in this cycle.

[0103] Optionally, after determining whether the target posture of the previous cycle is within the grinding area, the robot exception handling method may further include: if the target posture of the previous cycle is within the grinding area, determining that the corresponding adjustment measure is to update the dynamic matrix, updating the target posture of this cycle to the target posture of the previous cycle, and issuing the target posture of this cycle.

[0104] Specifically, after the electronic device determines whether the target posture of the previous cycle is within the grinding area, if the target posture of the previous cycle is within the grinding area, the electronic device can determine that the corresponding adjustment measure is to update the dynamic matrix, update the target posture of this cycle to the target posture of the previous cycle, and issue the target posture of this cycle, for example, update the dynamic matrix F2D_last=F2D for use in the next cycle, update Xf_last=Xf for use in the next cycle, and issue Xf to end the calculation of this cycle; this situation releases the state lock and restores the normal state.

[0105] Optionally, after determining whether the target posture of the previous cycle was sent in the previous cycle, the robot exception handling method may further include: if the target posture of the previous cycle was not sent in the previous cycle, determining that the corresponding adjustment measure is to update the dynamic matrix, updating the target posture of this cycle to the target posture of the previous cycle, and sending the target posture of this cycle.

[0106] Specifically, after the electronic device determines whether the target posture of the previous cycle was sent in the previous cycle, if the target posture of the previous cycle was not sent in the previous cycle, it determines that the corresponding adjustment measure is to update the dynamic matrix, update the target posture of the current cycle to the target posture of the previous cycle, and send down the target posture of the current cycle, for example, update the dynamic matrix F2D_last=F2D for use in the next cycle, update Xf_last=Xf for use in the next cycle, and send down Xf to end the calculation of this cycle.

[0107] Therefore, when an abnormality occurs in the robot, corresponding countermeasures are triggered, generating resistance, preventing the robot from moving in the direction of the abnormality, and the robot can be quickly pulled back to a normal state to ensure that the operation can continue.

[0108] In addition, the robot joint position will not exceed the limit; the robot joint will not overspeed; the robot will not produce singularities; the robot will not exceed the grinding area and grind bones that should not be ground, thereby ensuring the grinding accuracy; when the robot joint reaches the specified angle, if it is continuously subjected to a force that causes the robot to have an abnormal trend, it will stop moving; when the robot joint reaches the specified angle, if it is subjected to a force that causes the robot to move away from the abnormal direction, it will return to the normal range of motion; if an abnormality related to the joint angle has occurred when entering the force-controlled grinding mode, the robot will still return to the normal range of motion if force is applied in the direction away from the abnormality; the robot will only stop moving due to an error caused by excessive leg movement, and will not report an error due to an abnormality.

[0109] Figure 2 A flow chart of another robot exception handling method provided by an embodiment of the present disclosure is shown.

[0110] like Figure 2 As shown, the electronic device can select a force control coordinate system, and then calculate the force control posture X of the robot in the force control coordinate system, determine whether the target posture of the previous cycle is sent in the previous cycle, if the dynamic matrix is ​​not updated, the dynamic matrix of the previous cycle is still used, if not, the dynamic matrix F2D is updated, and then the dynamic posture of the force control posture in the dynamic coordinate system is calculated, that is, Xd=inv(F2D)*X, the dynamic posture Xd is subjected to degree of freedom constraint processing, and the target posture of the processed dynamic posture Xd′ in the force control coordinate system is calculated, that is, Xf=F2D*Xd′, and the inverse solution is obtained according to the target posture of the current cycle to obtain the target joint angle J. Next, according to the robot state, five cases are processed:

[0111] Check each target joint angle to see if it will cause anomalies. If so, determine whether the target posture of the previous cycle is within the grinding area. If so, Xf = Xf_last, that is, the target posture of the previous cycle is the target posture of this cycle. Update Xf_last = Xf for use in the next cycle, and send the target posture Xf of this cycle to end the calculation of this cycle. At the end of the Cartesian space robot, it manifests as: the robot movement tends to produce abnormalities, and the robot no longer moves; after the robot has an abnormality, if there are still legal target postures that can be sent, then the dynamic matrix will not be updated before the robot joints tend to move away from the limit, which is equivalent to not updating the robot state.

[0112] Check each target joint angle to see if it will cause anomalies. If so, determine whether the target posture of the previous cycle is within the grinding area. If not, it means that the dynamic coordinate system has moved, causing the target posture that was legal in the previous cycle to no longer be legal. At this time, the robot exits the impedance mode, enters the holding mode (maintains the current position), and ends the calculation of this cycle. This ensures that when the state is locked, even if the patient's leg movement is large and the target posture issued is illegal, it can still be detected to ensure that no abnormality occurs.

[0113] Check each target joint angle to see if it will cause an abnormality. If not, determine whether the Xf_last of the previous cycle was sent in the previous cycle. If so, determine whether Xf is within the grinding area. If not, the robot exits the impedance mode, enters the hold mode (maintains the current position), and ends the calculation of this cycle. The reason for this judgment is that if the Xf_last of the previous cycle was sent in the previous cycle, it means that an abnormality occurred in the previous cycle, and no abnormality occurred in this cycle, which means that it returned to the first normal target point after the abnormality occurred.

[0114] Check each target joint angle separately to see if it will cause an abnormality. If not, determine whether Xf_last of the previous cycle was sent in the previous cycle. If yes, determine whether Xf is in the grinding area. If yes, update the dynamic matrix F2D_last = F2D for the next cycle, update Xf_last = Xf for the next cycle, and send Xf to end the calculation of this cycle. In this case, the state lock is released and the normal state is restored.

[0115] Check each target joint angle to see if it will cause anomalies. If not, determine whether Xf_last of the previous cycle was sent in the previous cycle. If not, update the dynamic matrix F2D_last = F2D for use in the next cycle, update Xf_last = Xf for use in the next cycle, and send Xf to end the calculation of this cycle.

[0116] Figure 3 A schematic structural diagram of a robot exception handling device provided in an embodiment of the present disclosure is shown.

[0117] In some embodiments of the present disclosure, Figure 3 The robot exception handling device shown can be arranged in an electronic device. Specifically, the electronic device can include but is not limited to devices such as computer equipment, cloud servers or cloud server clusters.

[0118] like Figure 3 As shown, the robot exception handling device 300 may include a first calculation module 310 , a second calculation module 320 , a measure determination module 330 and a mode adjustment module 340 .

[0119] The first calculation module 310 can be used to calculate the force-controlled posture of the robot and determine the dynamic matrix.

[0120] The second calculation module 320 can be used to calculate the target joint angle according to the force control posture and the dynamic matrix.

[0121] The measure determination module 330 can be used to determine the corresponding adjustment measures through combined judgment through multiple target conditions, and the target conditions include judging whether each target joint angle will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle was sent in the previous cycle.

[0122] The mode adjustment module 340 can be used to adjust the mode of the robot according to the adjustment measures.

[0123] Therefore, in the embodiment of the present disclosure, the force-controlled posture of the robot can be calculated and the dynamic matrix can be determined. Then, the target joint angle is calculated according to the force-controlled posture and the dynamic matrix. Then, a combination of multiple target conditions is used to determine the corresponding adjustment measures. The target conditions include determining whether each of the target joint angles will cause an abnormality, determining whether the target posture of the previous cycle is within the grinding area, and determining whether the target posture of the previous cycle is sent in the previous cycle. Finally, the robot is adjusted in mode according to the adjustment measures. Thus, the target joint angle of the robot can be calculated, the corresponding adjustment measures can be determined through the target conditions, and then the robot is adjusted in mode according to the adjustment measures, thereby triggering corresponding countermeasures when an abnormality occurs in the robot to ensure the normal operation of the robot.

[0124] In some embodiments of the present disclosure, the first calculation module 310 may specifically include a first calculation unit, a first judgment unit, a first updating unit and a second updating unit.

[0125] The first calculation unit can be used to calculate the force-controlled posture of the robot in a force-controlled coordinate system.

[0126] The first judgment unit can be used to judge whether the target posture of the previous period is sent in the previous period.

[0127] The first updating unit may be configured to not update the dynamic matrix if the target posture of the previous period is sent in the previous period.

[0128] The second updating unit can be used to update the dynamic matrix if the target posture of the previous period was not sent in the previous period.

[0129] In some embodiments of the present disclosure, the second computing module 320 may specifically include a second computing unit, a third computing unit, and a fourth computing unit.

[0130] The second calculation unit can be used to calculate the dynamic posture of the force-controlled posture in a dynamic coordinate system according to the dynamic matrix.

[0131] The third calculation unit can be used to perform degree of freedom constraint processing on the dynamic posture, and calculate the target posture of the processed dynamic posture in the current cycle in the force control coordinate system.

[0132] The fourth calculation unit can be used to perform an inverse solution according to the target posture of the current cycle to obtain the target joint angle.

[0133] In some embodiments of the present disclosure, the measure determination module 330 may specifically include a second judgment unit, a third judgment unit, a first determination unit and a second determination unit.

[0134] The second judgment unit can be used to respectively judge whether each of the target joint angles will cause an abnormality.

[0135] The third judgment unit can be used to judge whether the target posture of the previous cycle is within the grinding area if each of the target joint angles will cause an abnormality.

[0136] The first determination unit may be configured to determine, if the previous cycle target posture is within the grinding area, that the corresponding adjustment measure is to update the current cycle target posture to the previous cycle target posture, and to issue the current cycle target posture.

[0137] The second determination unit may be used to determine, if the previous cycle target posture is not within the grinding area, that the corresponding adjustment measure is to control the robot to enter a holding mode and end.

[0138] In some embodiments of the present disclosure, the measure determination module 330 may further specifically include a fourth judgment unit, a fifth judgment unit and a third determination unit.

[0139] The fourth judgment unit may be used to judge whether the target posture of the previous cycle is sent in the previous cycle after respectively judging whether each target joint angle will cause an abnormality, if each target joint angle will not cause an abnormality.

[0140] The fifth judgment unit may be configured to judge whether the target posture of the previous cycle is within the grinding area if the target posture of the previous cycle is sent in the previous cycle.

[0141] The third determination unit can be used to determine that the corresponding adjustment measure is to control the robot to enter the holding mode and end if the target posture of the previous cycle is not in the grinding area.

[0142] In some embodiments of the present disclosure, the measure determination module 330 may further specifically include a fourth determination unit.

[0143] The fourth determination unit can be used to, after determining whether the target posture of the previous cycle is within the grinding area, if the target posture of the previous cycle is within the grinding area, determine that the corresponding adjustment measure is to update the dynamic matrix, update the target posture of the current cycle to the target posture of the previous cycle, and issue the target posture of the current cycle.

[0144] In some embodiments of the present disclosure, the measure determination module 330 may further specifically include a fifth determination unit.

[0145] The fifth determination unit can be used to, after determining whether the target posture of the previous cycle was sent in the previous cycle, if the target posture of the previous cycle was not sent in the previous cycle, determine that the corresponding adjustment measure is to update the dynamic matrix, update the target posture of the current cycle to the target posture of the previous cycle, and send the target posture of the current cycle.

[0146] Figure 4 A schematic structural diagram of a robot exception handling device provided in an embodiment of the present disclosure is shown.

[0147] In some embodiments of the present disclosure, Figure 4 The robot exception handling device shown may be an electronic device. Specifically, the electronic device may include but is not limited to devices such as computer devices, cloud servers or cloud server clusters.

[0148] like Figure 4 As shown, the robot exception handling device may include a processor 401 and a memory 402 storing computer program instructions.

[0149] Specifically, the processor 401 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0150] The memory 402 may include a large capacity memory for information or instructions. By way of example and not limitation, the memory 402 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a tape, or a universal serial bus (USB) drive or a combination of two or more of these. Where appropriate, the memory 402 may include a removable or non-removable (or fixed) medium. Where appropriate, the memory 402 may be inside or outside the integrated gateway device. In a particular embodiment, the memory 402 is a non-volatile solid-state memory. In a particular embodiment, the memory 402 includes a read-only memory (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (Electrically Erasable Programmable ROM, EEPROM), an electrically rewritable ROM (EAROM) or a flash memory, or a combination of two or more of these.

[0151] The processor 401 reads and executes the computer program instructions stored in the memory 402 to perform the steps of the robot exception handling method provided in the embodiment of the present disclosure.

[0152] In one example, the robot exception handling device may further include a transceiver 403 and a bus 404. Figure 4 As shown, the processor 401, the memory 402 and the transceiver 403 are connected via a bus 404 and communicate with each other.

[0153] The bus 404 includes hardware, software, or both. For example, but not limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industrial Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a Memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VLB) bus, or other suitable buses or a combination of two or more of these. Where appropriate, the bus 404 may include one or more buses. Although embodiments of the present application describe and illustrate a particular bus, the present application contemplates any suitable bus or interconnect.

[0154] The embodiments of the present disclosure also provide a computer-readable storage medium, which may store a computer program. When the computer program is executed by a processor, the processor implements the robot exception handling method provided by the embodiments of the present disclosure.

[0155] The storage medium may include, for example, a memory 402 of computer program instructions, and the instructions may be executed by a processor 401 of the robot exception handling device to complete the robot exception handling method provided by the embodiment of the present disclosure. Optionally, the storage medium may be a non-temporary computer-readable storage medium, for example, a non-temporary computer-readable storage medium may be a ROM, a random access memory (Random Access Memory, RAM), a compact disc read-only memory (CompactDisc ROM, CD-ROM), a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0156] It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the term "comprising" is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.

[0157] The above description is only a specific embodiment of the present disclosure, so that those skilled in the art can understand or implement the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to the embodiments described herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A robot exception handling method, characterized in that: include: Calculate the robot's force-controlled position and determine the dynamic matrix; Calculating a target joint angle according to the force-controlled posture and the dynamic matrix; Determine corresponding adjustment measures by combining and judging multiple target conditions, wherein the target conditions include judging whether each target joint angle will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle was sent in the previous cycle; The mode of the robot is adjusted according to the adjustment measures.

2. The method according to claim 1, characterized in that The calculating the robot force control posture and determining the dynamic matrix includes: Calculating the force-controlled posture of the robot in a force-controlled coordinate system; Determine whether the target posture of the previous period is sent in the previous period; If the target posture of the previous period is sent in the previous period, the dynamic matrix is ​​not updated; If the target posture of the previous period is not sent in the previous period, the dynamic matrix is ​​updated.

3. The method according to claim 1, characterized in that The calculating the target joint angle according to the force-controlled posture and the dynamic matrix includes: Calculating the dynamic posture of the force-controlled posture in a dynamic coordinate system according to the dynamic matrix; Performing degree of freedom constraint processing on the dynamic posture, and calculating the target posture of the processed dynamic posture in the current cycle in the force control coordinate system; An inverse solution is performed based on the target posture of the current cycle to obtain the target joint angle.

4. The method according to claim 3, characterized in that The combined judgment of multiple target conditions to determine corresponding adjustment measures includes: respectively determining whether each of the target joint angles will cause an abnormality; If each of the target joint angles causes an abnormality, determining whether the target posture of the previous cycle is within the grinding area; If the target posture of the previous cycle is within the grinding area, determining that the corresponding adjustment measure is to update the target posture of the current cycle to the target posture of the previous cycle, and issuing the target posture of the current cycle; If the target posture of the previous cycle is not within the grinding area, the corresponding adjustment measure is determined to control the robot to enter a holding mode and end.

5. The method according to claim 4, characterized in that After determining whether each target joint angle will cause an abnormality, the method further includes: If the target joint angles do not cause abnormalities, determining whether the target posture of the previous cycle is sent in the previous cycle; If the target posture of the previous cycle is sent in the previous cycle, determining whether the target posture of the previous cycle is within the grinding area; If the target posture of the previous cycle is not within the grinding area, the corresponding adjustment measure is determined to control the robot to enter a holding mode and end.

6. The method according to claim 5, characterized in that After determining whether the target posture of the previous cycle is within the grinding area, the method further includes: If the target posture of the previous cycle is within the grinding area, the corresponding adjustment measure is determined to be updating the dynamic matrix, updating the target posture of the current cycle to the target posture of the previous cycle, and issuing the target posture of the current cycle.

7. The method according to claim 5, characterized in that After determining whether the target posture of the previous cycle is sent in the previous cycle, the method further includes: If the target posture of the previous cycle was not sent in the previous cycle, the corresponding adjustment measure is determined to be updating the dynamic matrix, updating the target posture of the current cycle to the target posture of the previous cycle, and sending the target posture of the current cycle.

8. A robot abnormality handling device, characterized in that: include: The first calculation module is used to calculate the robot's force control posture and determine the dynamic matrix; A second calculation module, used for calculating a target joint angle according to the force-controlled posture and the dynamic matrix; A measure determination module is used to determine corresponding adjustment measures by combining and judging multiple target conditions, wherein the target conditions include judging whether each target joint angle will cause an abnormality, judging whether the target posture of the previous cycle is within the grinding area, and judging whether the target posture of the previous cycle was sent in the previous cycle; A mode adjustment module is used to adjust the mode of the robot according to the adjustment measures.

9. A robot exception handling device, characterized in that: include: processor; A memory for storing executable instructions; The processor is used to read the executable instructions from the memory and execute the executable instructions to implement the robot exception handling method described in any one of claims 1 to 7.

10. A non-volatile computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by the processor, the processor implements the robot exception handling method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Mechanical arm control method and device, equipment, storage medium and program product

    CN117162080A

  • Stress state processing method, device and equipment and readable storage medium

    CN117921649A