An alarm handling method, device, and electronic device for a surgical robot.

By identifying and processing alarms related to the motor position and attitude angle of the surgical robot, a reliable alarm and prompting mechanism is provided, which solves the safety problem of existing surgical robots when the motor cannot reach the target position or the attitude angle exceeds the limit, thus ensuring the safe operation of the surgical robot.

CN119445782BActive Publication Date: 2025-11-11GUANGZHOU WEIMOU MEDICAL INSTR CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411556111.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-04
Publication Date
2025-11-11
Estimated Expiration
2044-11-04

AI Technical Summary

Technical Problem

Existing surgical robots lack effective alarm and limit protection mechanisms when the motor fails to reach the target position or the attitude angle exceeds the limit, which may lead to interruption of surgical operation or reduced motor life. In addition, the limited space in the surgical environment may cause collisions of the surgical arm.

Method used

By acquiring alarm information from the surgical robot, it can identify when the motor has not reached the target position and when the attitude angle exceeds the limit, providing a reliable alarm and prompt mechanism, including prompts for restarting the motor, increasing speed, and when the attitude angle exceeds the limit, to ensure safe operation.

Benefits of technology

It effectively identifies abnormal situations where the motor fails to reach the target position within a set time, and provides reliable alarms and prompts when encountering motor blockage or excessive attitude angle, ensuring the safe operation of the surgical robot and avoiding surgical interruption and motor damage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119445782B_ABST
    Figure CN119445782B_ABST
Patent Text Reader

Abstract

This disclosure provides an alarm handling method, device, and electronic device for a surgical robot. For position alarm information, it acquires the current motor code value and the previous motor code value from the previous task cycle, and determines the absolute value of the difference between the current and previous motor code values. If the absolute value of the difference is less than a preset motor speed, it determines that the motor is blocked and records the number of blocking incidents. When the number of blocking incidents exceeds a preset blocking incident threshold, it restarts the motor and increases its speed. For pose alarm information, when the surgical arm pose angle of the surgical robot exceeds a preset target pose angle, it alerts the user that the target surgical arm angle has exceeded the limit. When the motor position of the surgical robot exceeds a preset target limit, it alerts the user that the motor has exceeded the limit. This effectively identifies abnormal situations where the motor fails to reach the target position within a set time and provides a reliable alarm and alert mechanism when the motor is blocked or the pose angle exceeds the limit, ensuring the safe operation of the surgical robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of robot control, and more specifically, to an alarm handling method, apparatus, and electronic device for a surgical robot. Background Technology

[0002] In modern surgery, the development of minimally invasive surgical robotics has greatly improved the precision and safety of procedures. These surgical robots are typically driven by multiple motors, enabling precise control of the position and trajectory of surgical instruments to perform complex surgical operations. However, motors often encounter situations where they fail to reach the target position. This can be due to factors such as an excessively low motor speed setting, insufficient voltage, or obstruction by external objects. In these cases, existing control methods often employ simple strategies, such as directly stopping the motor or increasing its speed. However, directly stopping the motor may interrupt the surgical procedure, while simply increasing the speed and voltage may result in the motor being under high voltage for an extended period, especially if the motor is obstructed, negatively impacting its lifespan and reliability.

[0003] Secondly, existing surgical robots lack effective protection mechanisms for limiting the posture angle and motor position. Due to the limited space in the surgical environment, if the posture angle or motor position exceeds the preset limit range, the surgical arm may collide with the device casing or other sensitive areas, thus adversely affecting the surgical procedure. Summary of the Invention

[0004] This disclosure provides at least one alarm processing method, device, and electronic device for a surgical robot, which can effectively identify abnormal situations where the motor fails to reach the target position within a set time, and provide a reliable alarm and prompt mechanism when encountering motor blockage or attitude angle exceeding the limit, so as to ensure the safe operation of the surgical robot.

[0005] This disclosure provides an alarm handling method for a surgical robot, including:

[0006] Acquire alarm information and corresponding alarm types generated by the surgical robot. The alarm types include position alarm information for not reaching the designated position and position alarm information for exceeding the pose limit.

[0007] For the location alarm information, obtain the current motor code value and the previous motor code value in the previous task loop, and determine the absolute value of the difference between the current motor code value and the previous motor code value;

[0008] If the absolute value of the difference is less than the preset motor speed, the motor is determined to be blocked and the number of blocking times is recorded. When the number of blocking times is greater than the preset blocking time threshold, the motor is restarted and the motor speed is increased.

[0009] Regarding the posture alarm information, when the surgical arm posture angle of the surgical robot exceeds the preset target posture angle, the user is prompted that the target surgical arm angle exceeds the limit; when the motor position of the surgical robot exceeds the preset target limit, the user is prompted that the motor exceeds the limit.

[0010] In one optional implementation, for the location alarm information, the current motor code value and the previous motor code value in the previous task loop are obtained, and the absolute value of the difference between the current motor code value and the previous motor code value is determined, specifically including:

[0011] After entering the motor displacement control task, the motor motion parameters are set, including the target position of the motor, the preset motor speed, and the position tolerance.

[0012] Start the motor displacement control task loop and obtain the current motor code value;

[0013] When the absolute value of the difference between the current motor code value and the target motor position is not less than the position tolerance, the absolute value of the difference is determined.

[0014] When the absolute value of the difference between the current motor code value and the target motor position is less than the position tolerance, it is determined that the motor has reached the target motor position.

[0015] In an optional implementation, after determining that the motor has reached the target position, the method further includes:

[0016] Switch the service status corresponding to the motor displacement control task to the idle state;

[0017] The information that the motor has reached the target position is sent to the preset human-machine interface through the process pipeline, and the motor displacement control task is ended.

[0018] In one optional implementation, after determining that the motor is blocked and recording the number of blocking times if the absolute value of the difference is less than a preset motor speed, and restarting the motor and increasing the motor speed when the number of blocking times exceeds a preset blocking time threshold, the method further includes:

[0019] Record the number of times the motor restarts;

[0020] If the number of restarts exceeds a preset restart threshold, it is determined that the motor is malfunctioning.

[0021] Click error information is sent to the preset human-computer interaction interface through the process pipeline.

[0022] In one optional implementation, the method further includes:

[0023] When the absolute value of the difference between the current motor code value and the previous motor code value is not less than the preset motor speed, the motor is controlled to go into sleep mode for a preset sleep time, and then the step of obtaining the current motor code value is executed again.

[0024] When the number of blocking attempts is not greater than the preset number of blocking attempts threshold, the motor is controlled to go into sleep mode for the preset sleep duration, and then the step of obtaining the current motor code value is re-executed.

[0025] When the number of restarts is not greater than the preset restart number threshold, the motor is controlled to go into sleep for the preset sleep duration, and then the step of obtaining the current motor code value is re-executed.

[0026] In one optional implementation, when the position of the surgical robot's motor exceeds a preset target limit, a notification is sent to the user indicating that the motor has exceeded the limit. Specifically, this includes:

[0027] When the surgical arm posture angle does not exceed the preset target posture angle, the position of the motor is determined by inverse kinematics to determine whether it exceeds the preset target limit.

[0028] If so, the motor position out-of-range information is sent to the preset human-machine interface via the process pipeline;

[0029] If not, send a motor control command to control the motor to continue performing the movement task.

[0030] This disclosure also provides an alarm processing device for a surgical robot, comprising:

[0031] The alarm acquisition module is used to acquire alarm information and corresponding alarm types generated by the surgical robot. The alarm types include position alarm information for not reaching the specified position and position alarm information for exceeding the pose limit.

[0032] The location alarm processing module is used to obtain the current motor code value and the previous motor code value in the previous task loop for the location alarm information, and determine the absolute value of the difference between the current motor code value and the previous motor code value.

[0033] The blocking processing module is used to determine that the motor is blocked and record the number of blocking times if the absolute value of the difference is less than the preset motor speed, and to restart the motor and increase the motor speed when the number of blocking times is greater than the preset blocking time threshold.

[0034] The pose alarm processing module is used to alert the user when the surgical arm pose angle of the surgical robot exceeds the preset target pose angle, and to alert the user when the motor position of the surgical robot exceeds the preset target limit.

[0035] In one optional implementation, the location alarm processing module is specifically used for:

[0036] After entering the motor displacement control task, the motor motion parameters are set, including the target position of the motor, the preset motor speed, and the position tolerance.

[0037] Start the motor displacement control task loop and obtain the current motor code value;

[0038] When the absolute value of the difference between the current motor code value and the target motor position is not less than the position tolerance, the absolute value of the difference is determined.

[0039] When the absolute value of the difference between the current motor code value and the target motor position is less than the position tolerance, it is determined that the motor has reached the target motor position.

[0040] This disclosure also provides an electronic device, including: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, the steps of the above-described alarm handling method for surgical robots, or any possible implementation of the above-described alarm handling method for surgical robots, are performed.

[0041] This disclosure also provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the above-described alarm handling method for a surgical robot, or any possible implementation of the above-described alarm handling method for a surgical robot.

[0042] This disclosure also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implements the alarm handling method of the surgical robot described above, or the steps in any possible implementation of the alarm handling method of the surgical robot described above.

[0043] This disclosure provides an alarm processing method, device, and electronic device for a surgical robot. By acquiring alarm information generated by the surgical robot and corresponding alarm types, including position alarms indicating failure to reach a designated position and pose alarms indicating exceeding pose limits, the following steps are taken: For the position alarm information, the current motor code value and the previous motor code value from the previous task loop are acquired, and the absolute value of the difference between the current and previous motor code values ​​is determined. If the absolute value of the difference is less than a preset motor speed, motor blockage is identified, and the number of blockages is recorded. When the number of blockages exceeds a preset blockage threshold, the motor is restarted, and the motor speed is increased. For the pose alarm information, when the surgical arm posture angle of the surgical robot exceeds a preset target posture angle, the user is notified that the target surgical arm angle has exceeded the limit. When the motor position of the surgical robot exceeds a preset target limit, the user is notified that the motor has exceeded the limit. This effectively identifies abnormal situations where the motor fails to reach the target position within a set time and provides a reliable alarm and notification mechanism when encountering motor blockage or posture angle exceeding limits, ensuring the safe operation of the surgical robot.

[0044] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0045] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the embodiments will be briefly described below. These drawings are incorporated in and constitute a part of this specification. They illustrate embodiments conforming to this disclosure and, together with the specification, serve to explain the technical solutions of this disclosure. It should be understood that the following drawings only show some embodiments of this disclosure and should not be considered as limiting the scope. Those skilled in the art can obtain other related drawings based on these drawings without creative effort.

[0046] Figure 1 A flowchart illustrating an alarm handling method for a surgical robot provided in an embodiment of this disclosure is shown;

[0047] Figure 2 A flowchart of another alarm handling method for a surgical robot provided in this disclosure embodiment is shown;

[0048] Figure 3 A schematic diagram of an alarm processing device for a surgical robot provided in an embodiment of this disclosure is shown;

[0049] Figure 4 A schematic diagram of an electronic device provided in the embodiments of this disclosure is shown. Detailed Implementation

[0050] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. The components of the embodiments of this disclosure described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this disclosure provided in the accompanying drawings is not intended to limit the scope of the claimed disclosure, but merely represents selected embodiments of this disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure.

[0051] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0052] In this document, the term "and / or" merely describes a relationship, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" in this document means any combination of at least two of any one or more elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.

[0053] Research has revealed that motors frequently fail to reach target positions during operation. This can be due to factors such as excessively low motor speed settings, insufficient voltage, or obstruction by external objects. In these situations, existing control methods typically employ simple strategies, such as directly stopping the motor or increasing its speed. However, directly stopping the motor may interrupt the surgical procedure, while simply increasing speed and voltage, especially if the motor is obstructed, can lead to prolonged high-voltage operation, negatively impacting its lifespan and reliability. Secondly, existing surgical robots lack effective protection mechanisms for limiting posture angles and motor positions. Due to the limited space in the surgical environment, if the posture angle or motor position exceeds preset limits, the surgical arm may collide with the device casing or other sensitive areas, adversely affecting the surgical procedure.

[0054] Based on the above research, this disclosure provides an alarm processing method, device, and electronic device for a surgical robot. It acquires alarm information generated by the surgical robot and corresponding alarm types, including position alarms indicating failure to reach a designated position and pose alarms indicating exceeding pose limits. For the position alarm information, it acquires the current motor code value and the previous motor code value from the previous task loop, and determines the absolute value of the difference between the current and previous motor code values. If the absolute value of the difference is less than a preset motor speed, it determines that the motor is blocked and records the number of blocking events. When the number of blocking events exceeds a preset blocking event threshold, it restarts the motor and increases its speed. For the pose alarm information, it alerts the user when the surgical arm posture angle exceeds a preset target posture angle and when the motor position exceeds a preset target limit. This effectively identifies abnormal situations where the motor fails to reach the target position within a set time and provides a reliable alarm and alert mechanism when encountering motor blockage or posture angle exceeding limits, ensuring the safe operation of the surgical robot.

[0055] To facilitate understanding of this embodiment, a detailed description of the alarm handling method for a surgical robot disclosed in this disclosure is provided first. The execution entity of the alarm handling method for a surgical robot provided in this disclosure is generally a computer device with a certain computing capability. This computer device may include, for example, a terminal device, a server, or other processing devices. The terminal device may be a user equipment (UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (PDA), handheld device, computing device, vehicle-mounted device, wearable device, etc. In some possible implementations, the alarm handling method for the surgical robot can be implemented by a processor calling computer-readable instructions stored in memory.

[0056] See Figure 1 The diagram shows a flowchart of an alarm handling method for a robot provided in an embodiment of this disclosure, the method including steps S101 to S104:

[0057] S101. Obtain alarm information and corresponding alarm types generated by the surgical robot. The alarm types include position alarm information for not reaching the designated position and position alarm information for exceeding the pose limit.

[0058] In specific implementation, the alarm processing method for surgical robots provided in this application handles alarm types including position alarm information where the motor of the surgical robot has not reached the designated position within a specified time, and pose alarm information where the motor control exceeds the limit position or the surgical arm posture angle exceeds the limit.

[0059] S102 For the location alarm information, obtain the current motor code value and the previous motor code value in the previous task loop, and determine the absolute value of the difference between the current motor code value and the previous motor code value.

[0060] In practice, for the position alarm information of the surgical robot's motor not reaching the designated position within a specified time, the processing method is to determine whether the motor is blocked based on the current code value clicked in the current motor displacement control task cycle and the motor code value in the previous motor displacement control task cycle.

[0061] For details, see Figure 2 The flowchart below shows another alarm handling method for a robot provided in this embodiment of the present disclosure, the method including steps S1021-S1024:

[0062] S1021. After entering the motor displacement control task, set the motor motion parameters, which include the motor target position, the preset motor speed, and the position tolerance.

[0063] S1022. Start the motor displacement control task loop and obtain the current motor code value.

[0064] S1023. When the absolute value of the difference between the current motor code value and the target position of the motor is not less than the position tolerance, the absolute value of the difference is determined.

[0065] S1024. When the absolute value of the difference between the current motor code value and the target motor position is less than the position tolerance, it is determined that the motor has reached the target motor position.

[0066] In practice, the motor position control task is initiated to move the motor to the target position. Based on the control requirements, the motor's motion parameters are preset, including the target position, preset motor speed, and position tolerance. These parameters guide the motor's motion behavior.

[0067] Here, after setting the parameters, a control command is sent to the motor to start its movement. The motor then begins to execute the position control task cycle, during which the position encoding value of the motor is continuously monitored, and adjustments are made based on the feedback from the encoding value.

[0068] During this process, the system obtains real-time encoded values ​​from the motor to determine whether the motor has reached the target position. The process also checks whether the absolute value of the difference between the current encoded value and the target position is within the set tolerance range.

[0069] If the absolute value of the difference between the current encoded value and the target position is less than the tolerance range (i.e., the motor has reached the target position), then the following steps are executed. If the absolute value of the difference between the current encoded value and the target position is greater than the tolerance range (i.e., the motor has not reached the target position), then the following steps are executed.

[0070] It's important to note that the motor encoding value is a key parameter in the motor position feedback system, typically generated by the encoder on the motor. An encoder is a sensing device mounted on the motor shaft that measures the motor shaft's position, speed, and direction in real time, converting this information into digital signals that are fed back to the control system. The encoded value represents the motor's current position. In position control tasks, the encoded value is used to monitor in real time whether the motor has reached the target position. The control system dynamically adjusts based on the difference between the encoded value and the set target position to ensure the motor accurately reaches the target position.

[0071] As one possible implementation, after determining that the motor has reached the target position, the business status corresponding to the motor displacement control task is switched to the idle state; the information that the motor has reached the target position is sent to the preset human-machine interface through the process pipeline, and the motor displacement control task is terminated.

[0072] S103 If the absolute value of the difference is less than the preset motor speed, determine that the motor is blocked and record the number of blocking times. When the number of blocking times is greater than the preset blocking time threshold, restart the motor and increase the motor speed.

[0073] In practice, by comparing the current encoded value with the encoded value of the previous cycle, if the absolute value of the difference is less than the set speed value, the system assumes that the motor may not have moved and records the number of blockages. If the number of blockages exceeds the preset blockage threshold, the system will immediately restart the motor and increase its speed and voltage to overcome possible resistance or obstacles and retry to reach the target position.

[0074] It should be noted that the preset threshold for the number of blocking attempts can be determined according to actual needs, and no specific restrictions are imposed here.

[0075] Then, record the number of times the motor restarts; if the number of restarts exceeds the preset restart threshold, it is determined that the motor is abnormal; send the click abnormality information to the preset human-machine interface through the process pipeline.

[0076] Here, the system also records the number of restarts and determines whether the number of restarts exceeds a preset restart threshold. If the number of motor restarts exceeds the preset threshold, the system considers the motor to be in an abnormal situation, terminates the current task, and reports the abnormal motor status to the UI, prompting that manual inspection and handling are required. If the number of motor restarts does not exceed the preset restart threshold, the system will continue to restart the motor and attempt to reach the target location again.

[0077] It should be noted that the preset restart threshold can be determined according to actual needs, and no specific restrictions are imposed here. The preferred threshold is 2 times.

[0078] As one possible implementation, when the absolute value of the difference between the current motor code value and the previous motor code value is not less than the preset motor speed, the motor is controlled to go into sleep mode for a preset sleep time, and then the step of obtaining the current motor code value is executed again; when the number of blocking times is not greater than the preset blocking time threshold, the motor is controlled to go into sleep mode for a preset sleep time, and then the step of obtaining the current motor code value is executed again; when the number of restarts is not greater than the preset restart time threshold, the motor is controlled to go into sleep mode for a preset sleep time, and then the step of obtaining the current motor code value is executed again.

[0079] It should be noted that the preset sleep duration can be determined according to actual needs, and no specific limit is set here. A preferred duration is 100 milliseconds. This ensures that the motor has enough time to adjust before re-entering the position determination and blockage detection process, until the motor successfully reaches the target position or the number of restarts exceeds the limit.

[0080] S104, in response to the posture alarm information, prompts the user that the target surgical arm angle exceeds the preset target posture angle when the surgical robot's surgical arm posture angle exceeds the preset target posture angle; and prompts the user that the motor position exceeds the preset target limit when the surgical robot's motor position exceeds the limit.

[0081] In practice, surgical robots for eye surgeries operate in two modes: extraocular and intraocular. After entering the extraocular or intraocular control cycle, they enter a control loop to gradually adjust the posture of the surgical arm and motors.

[0082] Here, in each control loop, the system sets the target attitude angles of the surgical arm according to the surgical operation requirements. These target attitude angles determine the positioning and orientation of the surgical arm in space, ensuring the accuracy of the operation.

[0083] Specifically, when the surgical arm posture angle does not exceed the preset target posture angle, the inverse kinematics is used to determine whether the motor position exceeds the preset target limit; if so, the motor position over-limit information is sent to the preset human-machine interface through the process pipeline; if not, a motor control command is sent to control the motor to continue performing the movement task.

[0084] Here, after obtaining the target attitude angle, the system calculates the target values ​​that each motor needs to achieve using inverse kinematics algorithms. Inverse kinematics analysis can convert the target values ​​of the attitude angle into specific position parameters for each motor, guiding the motor to achieve precise movement.

[0085] If the target attitude angle or motor position does not exceed the set limits, the system will continue to send motor control commands to execute the next operation. If the set limits are exceeded, the system will send an alarm notification to the UI interface through a process pipeline.

[0086] Furthermore, when the system detects that the attitude angle or motor position exceeds the limit, it will immediately send a notification to the UI and display the information on the interface. The UI will display the specific item that exceeded the limit, such as the attitude angle exceeding the limit or a certain motor position exceeding the limit, so that the operator can quickly identify the problem.

[0087] Here, after the over-limit alarm is processed, if the motor over-limit problem is resolved, the system will continue to perform the next control cycle to ensure that the surgical arm and motor continue to move according to the set path.

[0088] This disclosure provides an alarm handling method for a surgical robot. The method acquires alarm information generated by the surgical robot and its corresponding alarm type. The alarm types include position alarms indicating failure to reach a designated position and pose alarms indicating exceeding pose limits. For the position alarm, the method acquires the current motor code value and the previous motor code value from the previous task loop, and determines the absolute value of the difference between the two values. If the absolute value of the difference is less than a preset motor speed, the method determines that the motor is blocked and records the number of blocking events. When the number of blocking events exceeds a preset blocking event threshold, the method restarts the motor and increases its speed. For the pose alarm, when the surgical arm posture angle of the surgical robot exceeds a preset target posture angle, the method alerts the user that the target surgical arm angle has exceeded the limit. When the motor position of the surgical robot exceeds a preset target limit, the method alerts the user that the motor has exceeded the limit. This method effectively identifies abnormal situations where the motor fails to reach the target position within a set time and provides a reliable alarm and alert mechanism when encountering motor blockage or posture angle exceeding limits, ensuring the safe operation of the surgical robot.

[0089] Those skilled in the art will understand that, in the above-described method of the specific implementation, the order in which each step is written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.

[0090] Based on the same inventive concept, this disclosure also provides an alarm processing device for a surgical robot corresponding to the alarm processing method of the surgical robot. Since the principle of the device in this disclosure for solving the problem is similar to the alarm processing method of the surgical robot described above, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0091] Please see Figure 3 , Figure 3 This is a schematic diagram of an alarm processing device for a surgical robot provided in an embodiment of this disclosure. Figure 3 As shown in the illustration, the alarm processing device 300 for a surgical robot provided in this embodiment includes:

[0092] The alarm acquisition module 310 is used to acquire alarm information and corresponding alarm types generated by the surgical robot. The alarm types include position alarm information for not reaching the designated position and position alarm information for exceeding the pose limit.

[0093] The location alarm processing module 320 is used to obtain the current motor code value and the previous motor code value in the previous task loop for the location alarm information, and determine the absolute value of the difference between the current motor code value and the previous motor code value.

[0094] The blocking processing module 330 is used to determine that the motor is blocked and record the number of blocking if the absolute value of the difference is less than the preset motor speed, and restart the motor and increase the motor speed when the number of blocking is greater than the preset number of blocking threshold.

[0095] The pose alarm processing module 340 is used to, in response to the pose alarm information, prompt the user that the target surgical arm angle of the surgical robot exceeds the preset target pose angle, and prompt the user that the motor position of the surgical robot exceeds the preset target limit.

[0096] The processing flow of each module in the device and the interaction flow between each module can be referred to the relevant descriptions in the above method embodiments, and will not be detailed here.

[0097] This disclosure provides an alarm processing device for a surgical robot. It acquires alarm information generated by the surgical robot and corresponding alarm types, including position alarms indicating failure to reach a designated position and pose alarms indicating exceeding pose limits. For the position alarm information, it acquires the current motor code value and the previous motor code value from the previous task loop, and determines the absolute value of the difference between the current and previous motor code values. If the absolute value of the difference is less than a preset motor speed, it determines that the motor is blocked and records the number of blocking events. When the number of blocking events exceeds a preset blocking event threshold, it restarts the motor and increases its speed. For the pose alarm information, it alerts the user when the surgical arm posture angle exceeds a preset target posture angle and when the motor position exceeds a preset target limit. This device effectively identifies abnormal situations where the motor fails to reach the target position within a set time and provides a reliable alarm and alert mechanism when encountering motor blockage or posture angle exceeding limits, ensuring the safe operation of the surgical robot.

[0098] Corresponding to Figure 1 In addition to the alarm handling method for surgical robots, this disclosure also provides an electronic device 40, such as... Figure 4 The diagram shown is a structural schematic of an electronic device 400 provided in an embodiment of this disclosure, including:

[0099] Processor 41, memory 42, and bus 43; memory 42 is used to store execution instructions, including main memory 421 and external memory 422; the main memory 421, also called internal memory, is used to temporarily store the computational data in processor 41, as well as the data exchanged with external memory 422 such as hard disk. Processor 41 exchanges data with external memory 422 through main memory 421. When the electronic device 400 is running, processor 41 and memory 42 communicate through bus 43, enabling processor 41 to execute... Figure 1 The steps of the alarm handling method for surgical robots.

[0100] This disclosure also provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the alarm handling method for the surgical robot described in the above method embodiments. The storage medium can be a volatile or non-volatile computer-readable storage medium.

[0101] This disclosure also provides a computer program product, which includes computer instructions. When the computer instructions are executed by a processor, they can perform the steps of the alarm handling method for the surgical robot described in the above method embodiments. For details, please refer to the above method embodiments, which will not be repeated here.

[0102] The aforementioned computer program product can be implemented through hardware, software, or a combination thereof. In one optional embodiment, the computer program product is specifically embodied in a computer storage medium; in another optional embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.

[0103] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the device described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this disclosure, it should be understood that the disclosed device and method can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.

[0104] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0105] In addition, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0106] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0107] Finally, it should be noted that the above-described embodiments are merely specific implementations of this disclosure, used to illustrate the technical solutions of this disclosure, and not to limit it. The protection scope of this disclosure is not limited thereto. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this disclosure. Such modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be covered within the protection scope of this disclosure. Therefore, the protection scope of this disclosure should be determined by the protection scope of the claims.

Claims

1. An alarm handling method for a surgical robot, characterized in that, include: Acquire alarm information and corresponding alarm types generated by the surgical robot. The alarm types include position alarm information for not reaching the designated position and position alarm information for exceeding the pose limit. For the location alarm information, obtain the current motor code value and the previous motor code value in the previous task loop, and determine the absolute value of the difference between the current motor code value and the previous motor code value; If the absolute value of the difference is less than the preset motor speed, the motor is determined to be blocked and the number of blocking times is recorded. When the number of blocking times is greater than the preset blocking time threshold, the motor is restarted and the motor speed is increased. Record the number of times the motor restarts; if the number of restarts exceeds a preset restart threshold, determine that the motor is malfunctioning. The motor abnormality information is sent to the preset human-machine interface through the process pipeline; When the absolute value of the difference between the current motor code value and the previous motor code value is not less than the preset motor speed, the motor is controlled to go into sleep mode for a preset sleep time, and then the step of obtaining the current motor code value is executed again. When the number of blocking attempts is not greater than the preset number of blocking attempts threshold, the motor is controlled to go into sleep mode for the preset sleep duration, and then the step of obtaining the current motor code value is re-executed. When the number of restarts is not greater than the preset restart number threshold, the motor is controlled to go into sleep mode for the preset sleep duration, and then the step of obtaining the current motor code value is re-executed. Regarding the posture alarm information, when the surgical arm posture angle of the surgical robot exceeds the preset target posture angle, the user is prompted that the target surgical arm angle has exceeded the limit. When the position of the surgical robot's motor exceeds the preset target limit, the user will be prompted that the motor has exceeded the limit.

2. The method according to claim 1, characterized in that, For the location alarm information, the current motor code value and the previous motor code value in the previous task loop are obtained, and the absolute value of the difference between the current motor code value and the previous motor code value is determined, specifically including: After entering the motor displacement control task, the motor motion parameters are set, including the target position of the motor, the preset motor speed, and the position tolerance. Start the motor displacement control task loop and obtain the current motor code value; When the absolute value of the difference between the current motor code value and the target motor position is not less than the position tolerance, the absolute value of the difference is determined. When the absolute value of the difference between the current motor code value and the target motor position is less than the position tolerance, it is determined that the motor has reached the target motor position.

3. The method according to claim 2, characterized in that, After determining that the motor has reached the target position, the method further includes: Switch the service status corresponding to the motor displacement control task to the idle state; The information that the motor has reached the target position is sent to the preset human-machine interface through the process pipeline, and the motor displacement control task is ended.

4. The method according to claim 1, characterized in that, When the motor position of the surgical robot exceeds the preset target limit, the user will be notified that the motor has exceeded the limit. Specifically, this includes: When the surgical arm posture angle does not exceed the preset target posture angle, the position of the motor is determined by inverse kinematics to determine whether it exceeds the preset target limit. If so, the motor position out-of-range information is sent to the preset human-machine interface via the process pipeline; If not, send a motor control command to control the motor to continue performing the movement task.

5. An alarm processing device for a surgical robot, characterized in that, include: The alarm acquisition module is used to acquire alarm information and corresponding alarm types generated by the surgical robot. The alarm types include position alarm information for not reaching the specified position and position alarm information for exceeding the pose limit. The location alarm processing module is used to obtain the current motor code value and the previous motor code value in the previous task loop for the location alarm information, and determine the absolute value of the difference between the current motor code value and the previous motor code value. The blocking processing module is used to determine that the motor is blocked and record the number of blocking times if the absolute value of the difference is less than the preset motor speed, and to restart the motor and increase the motor speed when the number of blocking times is greater than the preset blocking time threshold. The pose alarm processing module is used to, in response to the pose alarm information, notify the user of the target surgical arm angle exceeding the preset target pose angle when the surgical robot's surgical arm pose angle exceeds the preset target pose angle; and notify the user of the motor exceeding the preset target limit when the surgical robot's motor position exceeds the preset target limit. The device is also used to record the number of times the motor restarts; If the number of restarts exceeds a preset restart threshold, it is determined that the motor is malfunctioning; the motor malfunction information is sent to a preset human-machine interface via a process pipeline. When the absolute value of the difference between the current motor code value and the previous motor code value is not less than the preset motor speed, the motor is controlled to go into sleep mode for a preset sleep time, and then the step of obtaining the current motor code value is executed again. When the number of blocking attempts is not greater than the preset number of blocking attempts threshold, the motor is controlled to go into sleep mode for the preset sleep duration, and then the step of obtaining the current motor code value is re-executed. When the number of restarts is not greater than the preset restart number threshold, the motor is controlled to go into sleep for the preset sleep duration, and then the step of obtaining the current motor code value is re-executed.

6. The apparatus according to claim 5, characterized in that, The location alarm processing module is specifically used for: After entering the motor displacement control task, the motor motion parameters are set, including the target position of the motor, the preset motor speed, and the position tolerance. Start the motor displacement control task loop and obtain the current motor code value; When the absolute value of the difference between the current motor code value and the target motor position is not less than the position tolerance, the absolute value of the difference is determined. When the absolute value of the difference between the current motor code value and the target motor position is less than the position tolerance, it is determined that the motor has reached the target motor position.

7. An electronic device, characterized in that, include: The device includes a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, they perform the steps of the alarm handling method for the surgical robot as described in any one of claims 1 to 4.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the alarm handling method for the surgical robot as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Stepping motor load judgment method and stepping motor closed-loop control system

    CN114649982A

  • Surgical robot state monitoring system, method and equipment and storage medium

    CN116849727A