Control method of a robot arm, medical system, computer device

CN117297791BActive Publication Date: 2026-09-22SHANGHAI MICROPORT MEDBOT (GRP) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210703008.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-21
Publication Date
2026-09-22
Estimated Expiration
2042-06-21

AI Technical Summary

Technical Problem

[0003]基于上述方法,在实际操作过程中,机械臂自然落下时很容易发生碰撞,进而对机械臂造成损伤;此外,后续用户如果要再次使用该医疗设备,常常需要自行将机械臂拖回到合适的位置处才能启动使用,进而对用户的后续再次使用造成了不便

Benefits of technology

[0010]基于本说明书提供的机械臂的控制方法、医疗系统、计算机设备,通过先判断目标系统是否进入安全模式或目标系统是否出现故障异常等来检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,再通过根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。这样,一方面,在确定进入安全模式或发生故障异常等满足预设的触发条件的情况下,目标系统可以自动、及时地控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117297791B_ABST
    Figure CN117297791B_ABST
Patent Text Reader

Abstract

The present specification provides a control method of a mechanical arm, a medical system and a computer device. Based on the method, it can be detected whether a preset triggering condition is met; in a case where it is determined that the preset triggering condition is met, a target mechanical arm is controlled to be maintained at a corresponding position in a matched manner according to a preset control rule; wherein the preset control rule comprises at least one of the following: a preset return control rule, a preset suspension control rule, and a preset maintenance control rule. In this way, on the one hand, in a case where it is determined that a safety mode is entered or a fault anomaly occurs and the preset triggering condition is met, the target mechanical arm can be automatically controlled to be maintained at a suitable position in a suitable manner, so as to facilitate subsequent use by a user; on the other hand, damage caused by collision to the mechanical arm during operation can be effectively reduced, and the mechanical arm can be better protected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This manual belongs to the field of medical robot technology, and in particular relates to control methods for robotic arms, medical systems, and computer equipment. Background Technology

[0002] Typically, when a medical device (such as a medical robot) enters a safe mode or malfunctions, it will immediately stop applying force to the robotic arm. At this point, the robotic arm will fall naturally.

[0003] Based on the above method, in actual operation, the robotic arm is prone to collision when it falls naturally, which can damage the robotic arm. In addition, if the user wants to use the medical device again, they often need to drag the robotic arm back to the appropriate position before they can start using it, which causes inconvenience to the user in subsequent use.

[0004] There is currently no effective solution to the above problems. Summary of the Invention

[0005] This manual provides a control method for the robotic arm, a medical system, and computer equipment. On the one hand, it can automatically control the target robotic arm of the target system to maintain it in a suitable position in an appropriate manner when preset triggering conditions such as entering a safe mode or encountering a malfunction or abnormality are met, so as to facilitate subsequent use by doctors. On the other hand, it can also effectively reduce the damage to the robotic arm caused by collisions during operation and better protect the robotic arm.

[0006] This specification provides a method for controlling a robotic arm, comprising: detecting whether a preset triggering condition is met; and, if the preset triggering condition is met, controlling the target robotic arm to maintain itself at a corresponding position in a matching manner according to preset control rules; wherein the preset control rules include at least one of the following: a preset return control rule, a preset suspension control rule, and a preset maintenance control rule.

[0007] This specification also provides a medical system comprising at least a robotic arm and a control device, wherein the control device is used to control the robotic arm to maintain it in a corresponding position in a matching manner using the control method of the robotic arm.

[0008] This specification also provides a computer device, including a processor and a memory for storing processor-executable instructions, wherein the processor executes the instructions to implement the relevant steps of the control method for the robotic arm.

[0009] This specification also provides a computer-readable storage medium storing computer instructions that, when executed, implement the relevant steps of the control method for the robotic arm.

[0010] Based on the robotic arm control method, medical system, and computer equipment provided in this manual, the system first determines whether the target system has entered a safe mode or experienced a malfunction to detect whether preset triggering conditions are met. If the preset triggering conditions are met, the target robotic arm is then controlled to maintain itself in the appropriate position according to preset control rules. These preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules. In this way, on the one hand, when the preset triggering conditions are met (e.g., entering a safe mode or experiencing a malfunction), the target system can automatically and promptly control the target robotic arm to maintain itself in the appropriate position for convenient subsequent use by the user. On the other hand, it can effectively reduce damage to the robotic arm caused by collisions during operation, thus better protecting the robotic arm.

[0011] Furthermore, by determining whether the current joint position of the target robotic arm falls within a preset operating range and whether the distance between the current joint position and the target position is greater than a preset distance threshold, the system intelligently and automatically selects the matching control rule from preset return control rules, preset suspension control rules, and preset maintenance control rules to accurately control the target robotic arm, thereby providing users with a relatively better interactive experience.

[0012] Furthermore, during the movement of the target robotic arm to the target position according to the target return path, the system also detects whether the target robotic arm collides during the movement. If a collision is detected, the system promptly performs pre-set emergency procedures, thereby further reducing the damage to the robotic arm caused by collisions during operation and better protecting the robotic arm.

[0013] Furthermore, during the movement of the target robotic arm to the target position according to the target return path, a pre-defined external force observation algorithm is introduced and utilized to detect the external forces acting on the target robotic arm. This eliminates the need for additional sensors such as stress sensors or acceleration sensors, and also avoids modifications to the existing structure of the robotic arm. Using only the existing sensors of the robotic arm, the external forces acting on the target robotic arm during movement can be detected efficiently and accurately at a low cost. Attached Figure Description

[0014] To more clearly illustrate the embodiments of this specification, the accompanying drawings used in the embodiments will be briefly introduced below. The drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0015] Figure 1 This is a flowchart illustrating a control method for a robotic arm provided in one embodiment of this specification.

[0016] Figure 2 This is a schematic diagram of an embodiment of the structure of a doctor's console that uses the robotic arm control method provided in the embodiments of this specification.

[0017] Figure 3 This is a schematic diagram of the target position and preset operating range of the target robotic arm determined when applying the robotic arm control method provided in the embodiments of this specification in a scenario example;

[0018] Figure 4 This is a scenario example, showing the relationship between the acceleration of the target robotic arm and time when performing trajectory planning using the control method of the robotic arm provided in the embodiments of this specification.

[0019] Figure 5 This is a scenario example, showing the relationship between the position and time of the target robotic arm obtained when performing trajectory planning using the robotic arm control method provided in the embodiments of this specification;

[0020] Figure 6 This is a scenario example, showing the relationship between the speed and time of the target robotic arm obtained when performing trajectory planning using the robotic arm control method provided in the embodiments of this specification;

[0021] Figure 7 This is a schematic diagram of an embodiment in which the control method of the robotic arm provided in the embodiments of this specification is applied to detect whether a collision occurs during the movement of the target robotic arm in a scenario example.

[0022] Figure 8 This is a schematic diagram of an embodiment of a preset external force observation algorithm used when applying the control method of the robotic arm provided in the embodiments of this specification in a scenario example;

[0023] Figure 9 This is a schematic diagram of an embodiment in which the control method of the robotic arm provided in the embodiments of this specification is applied to control the target robotic arm according to preset suspension control rules in a scenario example;

[0024] Figure 10This is a schematic diagram of the joint position response curve obtained by applying the control method of the robotic arm provided in the embodiments of this specification in a scenario example under the determined condition that there is no divergent motion trend;

[0025] Figure 11 This is a schematic diagram of the structural composition of a computer device provided in one embodiment of this specification;

[0026] Figure 12 This is a schematic diagram of the structural composition of the control device for a robotic arm provided in one embodiment of this specification;

[0027] Figure 13 This is a schematic diagram of the structural composition of a medical device provided in one embodiment of this specification. Detailed Implementation

[0028] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.

[0029] See Figure 1 As shown in the embodiments of this specification, a control method for a robotic arm is provided. In specific implementation, the method may include the following:

[0030] S101: Check whether the preset trigger conditions are met;

[0031] S102: When the preset triggering conditions are met, the target robotic arm is controlled to maintain itself at the corresponding position in a matching manner according to the preset control rules; wherein, the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.

[0032] In some embodiments, the control method for the robotic arm described above can be specifically applied to a target system on which the robotic arm is mounted. This target system can specifically be a medical system, such as a surgical robot, a doctor's console (or doctor's cart), a patient surgical platform, etc. It should be noted that the target systems listed above are merely illustrative. In specific implementations, depending on the specific application scenario and processing requirements, the control method for the robotic arm provided in this specification can also be applied to other systems, such as assembly systems used for automated assembly in factories. The target robotic arm described above can be specifically understood as the robotic arm to be controlled mounted on the target system.

[0033] The following explanation primarily uses a doctor's console as the target system. For applications in other systems, please refer to the implementation examples for doctor's consoles. These will not be elaborated upon further in this specification.

[0034] For details, please refer to Figure 2 As shown. Accordingly, the target robotic arm may specifically include the main robotic arm (or master end robotic arm) of the doctor's console. The aforementioned main robotic arm may further include a right main robotic arm and a left main robotic arm. The joints of the aforementioned main robotic arm may be made of flexible materials and have compliant characteristics.

[0035] In addition to the target robotic arm, the aforementioned doctor's console may further include: handrails (or doctor's handrails), slave robotic arms (or slave end robotic arms), stereo monitors, and other components.

[0036] In addition, the aforementioned doctor's console can also be equipped with sensors and controllers. Specifically, the sensors may include torque sensors, joint velocity sensors, joint position sensors, etc. The controllers may include variable stiffness controllers (or compliant controllers), critical damping brake controllers, PD joint controllers, zero-force controllers, etc. The aforementioned doctor's console may also be equipped with a processor.

[0037] The aforementioned doctor's console can also be connected to other systems. For example, it can be connected to patient surgical platforms, imaging platforms, and other systems.

[0038] In practice, when the processor of the doctor's console determines that the doctor's console has entered safe mode or has encountered a malfunction or abnormality, it determines that the preset triggering conditions are met.

[0039] At this point, the processor can collect relevant data through sensors, such as the current joint position of the target robotic arm through a joint position sensor; and determine the matching preset control rules based on the aforementioned relevant data from preset return control rules, preset suspension control rules, and preset maintenance control rules.

[0040] Furthermore, the processor can control the main robotic arm to stop moving through the corresponding controller according to the matching preset control rules; and control the main robotic arm to maintain in the corresponding position in a matching manner so that the user can use it again later; at the same time, it can also reduce the damage caused by the main robotic arm to collision due to natural falling.

[0041] In some embodiments, the aforementioned fulfillment of the preset triggering conditions can be specifically understood as the target system entering a safe mode, or the target system experiencing a malfunction or abnormality, or other systems connected to the target system experiencing a malfunction or abnormality.

[0042] In some embodiments, the detection of whether a preset triggering condition is met may specifically include: detecting whether the target system has entered a safe mode; and if it is determined that the target system has entered a safe mode, determining that the preset triggering condition is met.

[0043] In practice, whether the target system has entered safe mode can be detected by querying and based on the data value of the target system's current safe mode identifier. The data value of the aforementioned safe mode identifier (e.g., SafeFlag) can be stored in the target system's memory or in the target system's relevant log files.

[0044] Specifically, if the data value of the current security mode identifier is determined to be the first data value (e.g., "True" or "1"), it can be determined that the target system has entered security mode; if the data value of the current security mode identifier is determined to be the second data value (e.g., "False" or "0"), it can be determined that the target system has not entered security mode.

[0045] After confirming that the target system has entered safe mode, a security prompt can be issued to inform the user that the target system has entered safe mode. This security prompt can be an audio prompt, an image prompt, a text prompt, etc.

[0046] In some embodiments, the target system may perform anomaly detection in real time or periodically (e.g., every minute) and update the data value of the security mode identifier based on the anomaly detection results.

[0047] Specifically, the above-mentioned anomaly detection may include at least one of the following: anomaly detection of the target robotic arm in the target system; anomaly detection of other components in the target system besides the target robotic arm; and anomaly detection of other systems connected to the target system.

[0048] Specifically, when performing anomaly detection on the target robotic arm in the target system, a fault or anomaly is determined to exist if: the deviation between the position value calculated by the joint encoder and the joint position value calculated by the motor encoder of the target robotic arm is greater than or equal to a preset deviation threshold; or, a jump is detected in the data feedback from the joint encoder or motor encoder of the target robotic arm; or, the joint position of the target robotic arm exceeds a preset safe position range; or, the joint speed of the target robotic arm is greater than a preset speed threshold; or, the joint output torque of the target robotic arm is greater than a preset torque threshold. Then, the data value of the safety mode identifier can be updated from the second data value to the first data value.

[0049] Specifically, when detecting anomalies in components other than the target robotic arm within the target system, a fault or anomaly is determined to exist if an anomaly indication is detected regarding the slave robotic arm in the target system, or if an error message is detected from the stereo monitor in the target system. Subsequently, the data value of the safety mode identifier can be updated from the second data value to the first data value.

[0050] Specifically, when detecting anomalies in other systems connected to the target system, a fault or anomaly is determined to exist if an error message is detected regarding the endoscope image processor of the image platform; and / or, an abnormal indication message is detected regarding the tool arm of the patient surgical platform; and / or, a safety warning message is detected from other systems. The data value of the safety mode identifier can then be updated from the second data value to the first data value.

[0051] In some embodiments, when specifically detecting whether a preset trigger condition is met, the preset trigger condition may also be determined when an abnormal indication or error message from the target system or other systems connected to the target system is detected; or, the preset trigger condition may be determined when a pause command from the user is detected.

[0052] In some embodiments, the aforementioned preset control rules can be understood as control rules for the movement position and movement mode of the robotic arm. Specifically, the aforementioned preset control rules may include at least one of the following: a preset return control rule, a preset suspension control rule, and a preset maintenance control rule.

[0053] Based on preset return control rules, the robotic arm can be automatically controlled to first move back to the target position and then maintain itself at the target position to facilitate subsequent use by the user.

[0054] Based on preset suspension control rules, the robotic arm can be kept stationary at the current joint position; and a certain torque can be provided to the robotic arm so that the user can easily and conveniently drag the robotic arm to the desired position later.

[0055] Based on preset maintenance control rules, the robotic arm can be controlled to stop at the current joint position and locked at the current joint position to prevent the robotic arm from moving on its own and causing collisions that could lead to damage.

[0056] Through the above embodiments, when it is determined that the target system meets the preset triggering conditions, a matching preset control rule can be determined from multiple preset control rules according to the specific situation and operational requirements; then, according to the matching preset control rule, the target robotic arm can be controlled to maintain itself at the corresponding position in a matching manner to meet diverse scenario requirements.

[0057] In some embodiments, the above-mentioned control of the target robotic arm to maintain in a corresponding position in a matching manner according to preset control rules may include the following:

[0058] S1: Detect whether the current joint position of the target robotic arm belongs to the preset operation range;

[0059] S2: If the current joint position of the target robotic arm is determined to be outside the preset operating range, the target robotic arm is controlled to move and maintain at the target position in a matching manner according to the preset return control rules.

[0060] Among them, see Figure 3 As shown, the aforementioned preset operating range can be understood as the optimal remote control range (or optimal operating range) for the target robotic arm suitable for user operation. The specific range of the aforementioned preset operating range can be flexibly determined based on the structural properties of the target robotic arm and / or the user's personal usage habits.

[0061] The aforementioned target position (also known as the zero position or zero point position) can specifically include: the initial position or a custom position. The initial position can be the default position where the target robotic arm stops after its power-on self-test. The custom position can be a position set by the user. For example, if a user finds position A in the preset operating range more convenient than the initial position based on their usage habits, they can initiate a corresponding setting operation to set position A as the target position. The current joint position can be understood as the position of the target robotic arm's joints when the preset trigger conditions are met.

[0062] In practice, the current joint position of the target robotic arm can be collected by a joint position sensor; then, it can be detected whether the current joint position of the target robotic arm is within the preset operating range.

[0063] Specifically, we can first identify the joints from the target robotic arm that will not leave the preset operating range during operation (e.g., the joint connecting the left main robotic arm to the doctor's control console), and the joints that have a probability of leaving the preset operating range during operation (e.g., the outermost joint of the left main robotic arm). The joints that have a probability of leaving the preset operating range during operation are then recorded as target joints. Correspondingly, during actual detection, joint position sensors can be used to collect only the current joint position of the target robotic arm's target joints; then, it can be detected whether the current joint position of the target joint falls within the preset operating range.

[0064] If the current joint position of the target robotic arm is detected to be outside the preset operating range, it can be predicted that when the user uses the target robotic arm again, the user will need to manually restore the target robotic arm to the preset operating range before it can be used. To simplify user operation, the target robotic arm can be automatically controlled to move and maintain at the target position in a matching manner according to preset return control rules, making it convenient for the user to use it again in the future; at the same time, it can also reduce the probability of the target robotic arm colliding.

[0065] In some embodiments, after detecting whether the current joint position of the target robotic arm belongs to a preset operating range, the method may further include the following:

[0066] S1: If it is determined that the current joint position of the target robotic arm is within the preset operation range, detect whether the distance between the current joint position of the target robotic arm and the target position is greater than the preset distance threshold.

[0067] S2: If the distance between the current joint position of the target robotic arm and the target position is greater than a preset distance threshold, the target robotic arm is controlled to move and maintain at the target position in a matching manner according to the preset return control rules; if the distance between the current joint position of the target robotic arm and the target position is less than or equal to the preset distance threshold, the target robotic arm is controlled to maintain at the current joint position in a matching manner according to the preset suspension control rules or the preset maintenance control rules.

[0068] In practice, after acquiring the current joint position of the target robotic arm, the Cartesian position of the target robotic arm can be calculated first using forward kinematics, denoted as CartPos1 (CartP1 for short). Then, the distance between the Cartesian position of the target robotic arm and the target position is calculated, and this distance, denoted as D1, is used as the distance between the current joint position and the target position. Finally, D1 is compared with a preset distance threshold (e.g., D0). The preset distance threshold can be flexibly set according to the structural properties of the target robotic arm and the user's usage habits.

[0069] If D1 is greater than D0, it can be predicted that the user will find it inconvenient to use the target robotic arm again, and will likely need to return the target robotic arm to its target position before it can be used again. To simplify user operation, the target robotic arm can be automatically controlled to move and maintain at the target position in a matching manner according to preset return control rules, making it convenient for the user to use it again in the future; at the same time, it can also reduce the probability of the target robotic arm colliding.

[0070] Conversely, if D1 is determined to be less than or equal to D0, it can be predicted that the user can directly use the target robotic arm at the current joint position without needing to perform additional dragging and recovery. In this case, the target robotic arm can be selected and controlled according to preset suspension control rules or preset maintenance control rules to maintain it at the current joint position in a matching manner, thereby reducing the probability of the target robotic arm colliding.

[0071] In some embodiments, when implementing a specific method, if the preset triggering conditions are met, a control rule selection request can be sent to the user first; then, the user's feedback on the control rule selection request can be received and the preset control rule selected by the user can be determined; then, the target robotic arm can be controlled to maintain itself at the corresponding position in a matching manner according to the preset control rule selected by the user, so as to meet the user's personalized usage needs.

[0072] In some embodiments, the above-mentioned control of the target robotic arm to move and maintain at the target position in a matching manner according to a preset return control rule may include the following:

[0073] S1: Obtain the current joint position and target position of the target robotic arm;

[0074] S2: Based on the current joint position and target position of the target robotic arm, generate the target return path through trajectory planning; wherein, the starting point of the target return path is the current joint position of the target robotic arm, and the ending point is the target position;

[0075] S2: Based on the target return path, control the target robotic arm to move to the target position; and maintain the target robotic arm at the target position.

[0076] In the specific trajectory planning process, the current joint positions of each joint in the target robotic arm can be collected first. Based on the current joint positions and the target position, trajectory planning is performed in Cartesian space to obtain the planned trajectory. Then, the planned trajectory is calculated to each joint of the target robotic arm through inverse kinematics to obtain the return path (or zero-return path) of each joint, which serves as the target return path of the target robotic arm. Specifically, the aforementioned return path can be understood as a path trajectory that starts from the current joint position and ends at the target position.

[0077] In some embodiments, when performing trajectory planning, a target return path can be generated according to a preset trajectory planning algorithm. The preset trajectory planning algorithm may specifically include at least one of the following: a T-shaped trajectory planning algorithm, a polynomial method trajectory planning algorithm, or a B-spline trajectory planning algorithm.

[0078] Taking the T-shaped trajectory planning algorithm as an example, in specific implementation, trajectory planning can first be performed in Cartesian space based on the T-shaped trajectory planning algorithm to obtain the relationship between the target robotic arm's acceleration and time, the relationship between the target robotic arm's velocity and time, and the relationship between the target robotic arm's position and time. For details, please refer to [reference needed]. Figure 4 , Figure 5 , Figure 6 Based on the above relationships, the following formula for calculating the target return path is obtained:

[0079]

[0080]

[0081]

[0082] Where q(t) is the joint position motion path of the target robotic arm, and qi is the starting point of the path. The joint acceleration of the target robotic arm, Let qc be the joint velocity of the target robotic arm, qc be the joint position of the target robotic arm, qf be the end point of the path, tc be the joint acceleration time of the target robotic arm, tf be the motion time of the target robotic arm, and tj be the joint deceleration time of the target robotic arm.

[0083] Furthermore, based on the aforementioned target return path, the acceleration and speed of the target machine can be controlled by a corresponding controller to precisely move the target robotic arm to the target position.

[0084] Specifically, for example, a variable stiffness controller can be used to move the target robotic arm to the target position in a relatively smooth manner based on the aforementioned target return path; and the variable stiffness controller can also be used to maintain the target robotic arm at the target position. This can effectively reduce collisions during the movement process and the damage caused to the robotic arm by collisions.

[0085] In some embodiments, after generating the target return path, the method may further include the following: sampling trajectory points on the target return path to obtain multiple sampling points; performing collision detection on the multiple sampling points; and adjusting the target return path if it is determined that at least one of the multiple sampling points has a collision.

[0086] When performing collision detection on sampling points, the current positions of other components in the target system can be obtained first; then the positions of multiple sampling points can be compared with the current positions of other components to obtain the corresponding comparison results; based on the comparison results, if it is determined that at least one of the multiple sampling points has a collision when the distance between the position of at least one sampling point and the current position of at least one other component is less than the reference distance.

[0087] At this point, the target return path can be adjusted to avoid the sampling points where collisions occur, resulting in an adjusted target return path. Furthermore, collision detection can be performed again on the adjusted target return path until a target return path without any collision sampling points is obtained. In this way, a target return path with a low probability of collision can be obtained, allowing the target robotic arm to be moved to the target position relatively safely based on this target return path.

[0088] In some embodiments, during the process of controlling the target robotic arm to move to the target position according to the target return path, the method may further include the following:

[0089] S1: Detect whether the target robotic arm collides during its movement;

[0090] S2: If it is determined that the target robotic arm has collided during its movement, a preset emergency response is performed; wherein the preset emergency response includes at least one of the following: reducing the moving speed of the target robotic arm, executing a compliant control mode, and regenerating the target return path.

[0091] Through the above embodiments, during the process of moving the target robotic arm according to the target return path, existing sensors can be used to detect whether the target robotic arm collides during the movement. When a collision is detected, preset emergency measures can be taken in a timely manner to effectively avoid subsequent collisions or reduce the damage to the robotic arm, thereby better protecting the robotic arm.

[0092] In practice, it can be determined whether the target robotic arm collides during its movement by monitoring changes in data collected by sensors such as joint position sensors, joint speed sensors, and torque sensors. Alternatively, based on the data collected by these sensors, a preset external force observation algorithm can be used to determine the external forces acting on the target robotic arm. Then, based on these external forces, it can be determined whether the target robotic arm collides during its movement. Specifically, the preset external force observation algorithm can be understood as an algorithm that calculates the external forces acting on an object based on non-mechanical parameters such as the object's velocity and momentum.

[0093] In some embodiments, if a collision is determined to occur during the movement of the target robotic arm, a collision alert can be generated and initiated to promptly notify the user of the collision. This allows the user to perform manual intervention if necessary, or manually select the most appropriate preset emergency response method to further reduce damage to the target robotic arm. Specifically, the collision alert can be an alarm, an image alert, or an SMS alert, etc.

[0094] In some embodiments, see Figure 7 As shown, the above-mentioned detection of whether the target robotic arm collides during its movement can, in specific implementation, include the following:

[0095] S1: Perform kinematic detection on the target robotic arm and obtain the kinematic detection results;

[0096] S2: Based on the kinematic detection results, determine whether the target robotic arm has collided;

[0097] S3: If the kinematic detection results indicate that the target robotic arm has not collided, determine whether the target robotic arm has collided during its movement based on the preset external force observation algorithm.

[0098] When performing kinematic detection on a target robotic arm, the minimum envelope of the target robotic arm can be determined first based on its CAD 3D model. This minimum envelope can be a cuboid, cylinder, or other suitable geometric shape. Simultaneously, the minimum envelopes of all other components in the target system besides the target robotic arm are determined as obstacle envelopes. Then, during each control cycle of the target robotic arm, interference between the target envelope and the obstacle envelope is monitored to obtain the corresponding kinematic detection results. Based on the kinematic detection results, if interference between the target envelope and the obstacle envelope is detected, a collision can be determined during the target robotic arm's movement.

[0099] If the target robotic arm does not collide based solely on kinematic detection results, a pre-set external force observation algorithm can be used to predict and determine more accurately whether the target robotic arm has collided during its movement by considering the external forces acting on it.

[0100] In some embodiments, see Figure 7 As shown, the above method, based on a preset external force observation algorithm, determines whether the target robotic arm collides during its movement. In practice, this can include the following:

[0101] S1: Determine the external forces acting on the target robotic arm in each control cycle based on the preset external force observation algorithm;

[0102] S2: Detect whether the target robotic arm experiences an external force greater than a preset external force threshold for a consecutive preset number of control cycles;

[0103] S3: If it is determined that the target robotic arm experiences an external force greater than a preset external force threshold for a consecutive preset number of control cycles, then it is determined that the target robotic arm collides during its movement.

[0104] For specific implementation, please refer to Figure 8 As shown, the external force (which can be denoted as TorExt) acting on the target robotic arm can be calculated based solely on the relevant data collected by existing sensors (e.g., the joint position, joint velocity, joint torque, etc. of the target robotic arm) using a preset external force observation algorithm (e.g., the algorithm of the external force observer FunTor).

[0105] Specifically, the external forces acting on the target robotic arm in the current control cycle can be obtained in the following way, based on a preset external force observation algorithm: First, by acquiring relevant data collected by sensors, the joint position, joint velocity, and joint torque (or driving torque) of the target robotic arm in the current control cycle are obtained and utilized. Based on the dynamic model, the deviation between the theoretical momentum and the actual momentum of the target robotic arm in the current control cycle is calculated. Then, based on the deviation between the theoretical momentum and the actual momentum of the target robotic arm in the current control cycle, the external forces acting on the target robotic arm in the current control cycle are calculated.

[0106] Specifically, the external forces experienced may include the dragging force of the target robotic arm and the contact force formed when the target robotic arm comes into contact with other components.

[0107] Specifically, based on the preset external force observation algorithm, the external force experienced by the target robotic arm in the current control cycle can be calculated using the following formula:

[0108]

[0109] Where r is the observed value of the external force on the target robotic arm in the current control cycle, K1 and K2 are the first gain coefficient and the second gain coefficient, respectively, and e is the deviation between the theoretical momentum and the actual momentum of the target robotic arm in the current control cycle.

[0110] When using the above formula to solve for the external force experienced by the target robotic arm in the current control cycle, the estimated value of the external force can be obtained first as the initial value; then the initial value can be substituted into the above formula and iterated multiple times until convergence occurs, at which point the iteration stops; then the external force value in the formula at the point of stopping the iteration is taken as the external force experienced by the target robotic arm in the current control cycle.

[0111] When calculating the external force, the accuracy of the determined external force can be adjusted by adjusting the specific values ​​of the first gain coefficient and the second gain coefficient according to the specific circumstances.

[0112] Through the above embodiments, the external force on the target robotic arm can be accurately determined using data collected by existing sensors without the need for additional sensors or joint acceleration, effectively reducing processing costs.

[0113] Further reading Figure 7 As shown, the external force TorExt received in each control cycle can be compared with a preset external force threshold (which can be denoted as TorExtMax). Whenever the external force received in a consecutive control cycle is detected to be greater than the preset external force threshold, the count n of consecutive control cycles where the external force is greater than the preset external force threshold is incremented by 1, resulting in an updated count n+1. If a preset number (e.g., n_max) of consecutive control cycles where the external force is greater than the preset external force threshold is detected, it is determined that the target robotic arm has collided during its movement; otherwise, it is determined that the target robotic arm has not collided during its movement. This allows for accurate identification of whether the target robotic arm has collided during its movement.

[0114] In some embodiments, when it is determined that a collision has occurred during the movement of the target robotic arm, a compliant control mode is executed. Specifically, this may include the following:

[0115] S1: Collect the current joint position (e.g., q), current joint velocity (e.g., v), and current joint torque (e.g., TorCur) of the target robotic arm;

[0116] S2: Based on the preset external force observation algorithm, calculate the current external force (e.g., TorExt) on the target robotic arm using the current joint position, current joint velocity and current joint torque of the target robotic arm;

[0117] S1: Determine the current external force acting on the target robotic arm based on the preset external force observation algorithm;

[0118] S2: Limit the current external force to obtain the limited external force;

[0119] S3: Calculate the compliant position based on the current external force after the amplitude is limited;

[0120] S4: Based on the compliant position, correct the target position to obtain the corrected target position;

[0121] S5: Control the target robotic arm to move to the corrected target position.

[0122] Specifically, determining the current external force on the target robotic arm based on the preset external force observation algorithm may include: obtaining the current joint position (e.g., q), current joint velocity (e.g., v), and current joint torque (e.g., TorCur) of the target robotic arm; and calculating the current external force (e.g., TorExt) of the target robotic arm using the current joint position, current joint velocity, and current joint torque based on the preset external force observation algorithm.

[0123] Specifically, the calculated compliant position can be denoted as CmpPos, and the target position as JointAim. The compliant position can be added to the target position to obtain the corrected target position: JointPos = JointAim + CmpPos.

[0124] Furthermore, the target robotic arm can be moved to the corrected target position by a joint controller (e.g., a variable stiffness controller) to reduce collisions that occur during the movement.

[0125] In compliant control mode, when the target robotic arm is moved by the variable stiffness controller, the contact force of the target robotic arm can be determined by calculating the external force when the target robotic arm comes into contact with other components or obstacles. Then, the target position of the joints of the target robotic arm is corrected by compliant control in the above manner to effectively avoid collisions between the target robotic arm and other components or obstacles during the movement.

[0126] Furthermore, the joints of the aforementioned target robotic arm can be made of flexible materials, possessing flexible characteristics and capable of deformation to a certain extent. Therefore, when the target robotic arm is moved by a variable stiffness controller, if a collision between the target robotic arm and an obstacle is detected, the flexible characteristics of the joints of the target robotic arm can be utilized to slide along the surface of the obstacle in contact with the target robotic arm, thereby further reducing the impact of the collision on the target robotic arm and minimizing the damage caused by the collision, thus better protecting the target robotic arm.

[0127] In some embodiments, if a collision is determined to occur during the movement of the target robotic arm, the moving speed of the target robotic arm can be reduced according to a preset deceleration rule to minimize damage to the target robotic arm from the collision. Specifically, the preset deceleration rule can be determined in advance by organizing and learning from the historical movement records of a large number of sample robotic arms.

[0128] In some embodiments, if a collision is determined to occur during the movement of the target robotic arm, the location of the collision can also be determined. Based on the location of the collision, trajectory planning is re-performed to regenerate a target return path that can better reduce collisions. Subsequently, the target robotic arm can be controlled to continue moving to the target position based on the regenerated target return path.

[0129] In some embodiments, see Figure 9 As shown, the above-mentioned control of the target robotic arm to maintain its current joint position in a matching manner according to the preset suspension control rules can include the following in specific implementation:

[0130] S1: Obtain the current joint position and current joint velocity of the target robotic arm;

[0131] S2: Determine the target joint torque for the target robotic arm in the current state based on the current joint position and current joint speed of the target robotic arm;

[0132] S3: Based on the target joint torque of the target robotic arm, control the target robotic arm to stop moving and maintain it in a suspended state at the current joint position.

[0133] In some embodiments, determining the target joint torque for the target robotic arm in the current state based on the current joint position and current joint velocity of the target robotic arm may specifically include: determining the joint gravity of the target robotic arm in the current state based on the dynamic model and the current joint position; calculating the damping force for stopping the movement of the target robotic arm in the current state based on the current joint velocity; and determining the target joint torque for the target robotic arm in the current state based on the joint gravity and the damping force.

[0134] In practice, the gravitational force GraTor of each joint of the target robotic arm in its current state can be calculated based on a dynamic model. Simultaneously, based on the current joint velocity, the damping force DampTor that enables the target robotic arm to quickly stop moving from its current motion mode can be determined. Then, the target joint torque for the target robotic arm in its current state can be determined using the following formula: JointTor = GraTor + DampTor.

[0135] Next, the target joint torque can be output through the zero-force controller so that the target robotic arm can stop moving quickly under the action of damping force; at the same time, the shutdown of the target robotic arm will not be locked, but the target robotic arm will be kept in a suspended state at the current joint position.

[0136] In the aforementioned suspended state, users can easily move the target robotic arm to any position by manually dragging it, while ensuring that the joints of the target robotic arm always match the posture of the slave robotic arm.

[0137] In some embodiments, the above-mentioned control of the target robotic arm to maintain at the current joint position in a matching manner according to the preset maintenance control rules may include the following:

[0138] S1: Collect the current joint position of the target robotic arm and control the target robotic arm to maintain the current joint position;

[0139] S2: Based on the preset motion trend detection algorithm, monitor whether the target robotic arm has a divergent motion trend;

[0140] S3: If divergent motion is detected in the target robotic arm, lock the joint position of the target robotic arm.

[0141] In practice, the current joint position of the target robotic arm can be acquired and denoted as HoldJoint. The joint controller then maintains the target robotic arm at this current joint position. Simultaneously, a preset motion trend detection algorithm monitors for any divergent motion trends in the target robotic arm. If a divergent motion trend is detected, a critical damping brake controller locks the joint position of the target robotic arm, performing a brake operation to prevent further movement and effectively avoid collisions caused by the robotic arm's motion. The critical damping brake controller uses a moderate braking force when locking the joint position of the target robotic arm, ensuring that the target robotic arm is in a critical damping state.

[0142] When the target robotic arm is brought to a standstill by the critical damping brake controller, the controller can stop the brake operation. This allows for continued monitoring of whether the target robotic arm exhibits any divergent motion trends.

[0143] Based on preset maintenance control rules, the target robotic arm can be controlled to maintain its current joint position in Hold mode. In Hold mode, the power switch of the target robotic arm is locked, and correspondingly, the target robotic arm will not move under the action of external forces, thereby effectively avoiding damage caused by collisions when the target robotic arm moves.

[0144] In some embodiments, the above-mentioned monitoring of whether the target robotic arm has a divergent motion trend based on a preset motion trend detection algorithm may include the following:

[0145] S1: Obtain the peak value of the joint position response of the target robotic arm at the first time point; and detect whether the peak value of the joint position response at the first time point is greater than the preset peak value threshold;

[0146] S2: If the peak value of the joint position response at the first time point is determined to be greater than the preset peak value threshold, obtain the peak value of the joint position response at the second time point; and detect whether the peak value of the joint position response at the second time point is greater than the preset peak value threshold.

[0147] S3: If the peak value of the joint position response at the second time point is determined to be greater than the preset peak value threshold, detect whether the peak value of the joint position response at the second time point is greater than the peak value of the joint position response at the first time point.

[0148] S4: If the peak value of the joint position response at the second time point is greater than the peak value of the joint position response at the first time point, it is determined that the target robotic arm has a divergent motion trend.

[0149] Through the above embodiments, a preset motion trend detection algorithm can be used to accurately determine whether the target robotic arm has a divergent motion trend.

[0150] In the absence of divergent motion tendencies, joint position response curves can usually be referenced. Figure 10 As shown in the figure. HJ_P1, HJ_P2, HJ_P3, and HJ_P4 represent the peak values ​​of the joint position response at different time points.

[0151] According to the preset motion trend detection algorithm, when specifically monitoring whether the target robotic arm has a divergent motion trend, the first joint position response peak detected at the current time point can be recorded as ErrPosMax (obtain the joint position response peak at the first time point); then ErrPosMax is compared with HJEPS (preset peak threshold).

[0152] Based on the comparison results, if ErrPosMax is less than or equal to HJEPS, it is determined that there is no divergent motion trend at present. Therefore, the joint position response peak value at the next time point can be collected to continue monitoring for the existence of a divergent motion trend. If ErrPosMax is greater than HJEPS, the joint position response peak value at the next time point is collected and denoted as ErrPosi (obtaining the joint position response peak value at the second time point); then, ErrPosi is compared with HJEPS (a preset peak threshold).

[0153] Based on the comparison results, if ErrPosi is less than or equal to HJEPS, the presence of a divergent movement trend is monitored. If ErrPosi is greater than HJEPS, ErrPosi is further compared with ErrPosMax.

[0154] Based on the comparison results, if ErrPosMax is less than ErrPosi, it can be determined that the target robotic arm has a divergent motion trend. Conversely, if ErrPosMax is greater than or equal to ErrPosi, it can be determined that there is currently no divergent motion trend. In this case, the joint position response peak value at the next time point can be collected to continue monitoring for the existence of a divergent motion trend.

[0155] When it is determined that the target robotic arm has a divergent motion trend, the data value of the divergent motion trend indicator can be updated from "false" to "true".

[0156] Correspondingly, the target system can determine whether the target robotic arm has a divergent motion trend by detecting the data value of the divergent motion trend indicator.

[0157] As can be seen from the above, the control method for the robotic arm provided in the embodiments of this specification first detects whether preset triggering conditions are met; if the preset triggering conditions are met, the target robotic arm is controlled to maintain itself in a corresponding position in a matching manner according to preset control rules; wherein, the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules. In this way, on the one hand, when it is determined that the preset triggering conditions such as entering a safe mode or a malfunction are met, the target robotic arm can be automatically controlled to maintain itself in a suitable position in an appropriate manner, so as to facilitate the user's subsequent use; on the other hand, it can also effectively reduce the damage to the robotic arm caused by collisions during operation, and better protect the robotic arm.

[0158] Furthermore, based on the current joint position of the target robotic arm, it can determine whether the current joint position of the target robotic arm belongs to a preset operating range, and whether the distance between the current joint position of the target robotic arm and the target position is greater than a preset distance threshold. It can then intelligently select a matching control rule from preset return control rules, preset suspension control rules, and preset maintenance control rules to accurately control the target robotic arm, thereby providing users with a better interactive experience.

[0159] Furthermore, during the movement of the target robotic arm to the target position according to the target return path, the system also detects whether the target robotic arm collides during the movement. If a collision is detected, the system promptly performs pre-set emergency procedures to further reduce the damage to the robotic arm caused by collisions during operation and better protect the robotic arm.

[0160] Furthermore, during the movement of the target robotic arm to the target position according to the target return path, a pre-defined external force observation algorithm is introduced and utilized to detect the external forces acting on the target robotic arm. This eliminates the need for additional sensors or modifications to the original structure of the robotic arm; existing sensors on the robotic arm can efficiently and accurately detect the external forces acting on the target robotic arm during movement at a low cost.

[0161] This specification also provides a computer device, including a processor and a memory for storing processor-executable instructions. In a specific implementation, the processor can perform the following steps according to the instructions: detecting whether a preset trigger condition is met; if the preset trigger condition is met, controlling the target robotic arm to maintain it at a corresponding position in a matching manner according to preset control rules; wherein, the preset control rules include at least one of the following: a preset return control rule, a preset suspension control rule, and a preset maintenance control rule.

[0162] To execute the above instructions more accurately, please refer to... Figure 11 As shown in the embodiments of this specification, another specific computer device is also provided, wherein the computer device includes a network communication port 1101, a processor 1102 and a memory 1103, and the above structures are connected by internal cables so that the various structures can perform specific data interaction.

[0163] Specifically, the network communication port 1101 can be used to obtain the data value of the security mode identifier.

[0164] The processor 1102 can be specifically used to detect whether a preset trigger condition is met based on the data value of the safety mode identifier; if the preset trigger condition is met, the processor controls the target robotic arm to maintain itself at the corresponding position in a matching manner according to the preset control rules; wherein the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.

[0165] The memory 1103 can be used to store the corresponding instruction program.

[0166] In this embodiment, the network communication port 1101 can be a virtual port bound to different communication protocols, thereby enabling the sending or receiving of different data. For example, the network communication port can be a port responsible for web data communication, a port responsible for FTP data communication, or a port responsible for email data communication. Furthermore, the network communication port can also be a physical communication interface or communication chip. For example, it can be a wireless mobile network communication chip, such as GSM or CDMA; it can also be a Wi-Fi chip; or it can be a Bluetooth chip.

[0167] In this embodiment, the processor 1102 can be implemented in any suitable manner. For example, the processor can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers, etc. This specification is not limiting.

[0168] In this embodiment, the memory 1103 may include multiple layers. In a digital system, anything that can store binary data can be a memory. In an integrated circuit, a circuit with storage function but no physical form is also called a memory, such as RAM, FIFO, etc. In a system, a storage device with a physical form is also called a memory, such as a memory stick, TF card, etc.

[0169] This specification also provides a computer-readable storage medium based on the above-described control method for a robotic arm. The computer-readable storage medium stores computer program instructions that, when executed, perform the following: detecting whether a preset trigger condition is met; and, if the preset trigger condition is met, controlling the target robotic arm to maintain itself at a corresponding position in a matching manner according to preset control rules. The preset control rules include at least one of the following: a preset return control rule, a preset suspension control rule, and a preset maintenance control rule.

[0170] In this embodiment, the storage medium includes, but is not limited to, Random Access Memory (RAM), Read-Only Memory (ROM), cache, hard disk drive (HDD), or memory card. The memory can be used to store computer program instructions. The network communication unit can be an interface configured according to standards specified in the communication protocol for network connection communication.

[0171] In this embodiment, the specific functions and effects implemented by the program instructions stored in the computer-readable storage medium can be explained in comparison with other embodiments, and will not be repeated here.

[0172] See Figure 12 As shown, at the software level, this embodiment of the specification also provides a control device for a robotic arm, which may specifically include the following structural modules:

[0173] The detection module 1201 can be used to detect whether the preset triggering conditions are met.

[0174] The control module 1202 can be used to control the target robotic arm to maintain it at a corresponding position in a matching manner according to the preset control rules when the preset triggering conditions are met; wherein the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.

[0175] In some embodiments, when the detection module 1201 is specifically implemented, it can detect whether the preset triggering conditions are met in the following manner: detect whether the target system has entered the safe mode; if it is determined that the target system has entered the safe mode, determine that the preset triggering conditions are met.

[0176] In some embodiments, the target system may specifically include a doctor's console, etc.; correspondingly, the target robotic arm may specifically include the main robotic arm of the doctor's console, etc.

[0177] In some embodiments, when the control module 1202 is specifically implemented, it can control the target robotic arm to maintain at the corresponding position in a matching manner according to the preset control rules in the following manner: detect whether the current joint position of the target robotic arm belongs to the preset operation range; if it is determined that the current joint position of the target robotic arm does not belong to the preset operation range, control the target robotic arm to move and maintain at the target position in a matching manner according to the preset return control rules.

[0178] In some embodiments, when the control module 1202 is specifically implemented, after detecting whether the current joint position of the target robotic arm belongs to a preset operating range, it can also be used to detect whether the distance between the current joint position of the target robotic arm and the target position is greater than a preset distance threshold when it is determined that the current joint position of the target robotic arm belongs to the preset operating range; when it is determined that the distance between the current joint position of the target robotic arm and the target position is greater than the preset distance threshold, it controls the target robotic arm to move and maintain at the target position in a matching manner according to a preset return control rule; when it is determined that the distance between the current joint position of the target robotic arm and the target position is less than or equal to the preset distance threshold, it controls the target robotic arm to maintain at the current joint position in a matching manner according to a preset suspension control rule or a preset maintenance control rule.

[0179] In some embodiments, the target location may specifically include an initial location or a custom location.

[0180] In some embodiments, when the control module 1202 is specifically implemented, it can control the target robotic arm to move and maintain at the target position in a matching manner according to the preset return control rules in the following manner: obtain the current joint position and target position of the target robotic arm; generate a target return path through trajectory planning based on the current joint position and target position of the target robotic arm; wherein the starting point of the target return path is the current joint position of the target robotic arm and the ending point is the target position; control the target robotic arm to move to the target position according to the target return path; and maintain the target robotic arm at the target position.

[0181] In some embodiments, when the control module 1202 is specifically implemented, after generating the target return path, it can also be used to sample trajectory points on the target return path to obtain multiple sampling points; perform collision detection on the multiple sampling points; and adjust the target return path if it is determined that at least one of the multiple sampling points has a collision.

[0182] In some embodiments, when the control module 1202 is specifically implemented, during the process of controlling the target robotic arm to move to the target position according to the target return path, it can also be used to detect whether the target robotic arm collides during the movement; if it is determined that the target robotic arm collides during the movement, a preset emergency handling is performed; wherein, the preset emergency handling includes at least one of the following: reducing the moving speed of the target robotic arm, executing a compliant control mode, and regenerating the target return path.

[0183] In some embodiments, when the control module 1202 is specifically implemented, it can detect whether the target robotic arm collides during its movement in the following manner: perform kinematic detection on the target robotic arm to obtain kinematic detection results; determine whether the target robotic arm collides based on the kinematic detection results; if it is determined that the target robotic arm has not colliding based on the kinematic detection results, determine whether the target robotic arm collides during its movement based on a preset external force observation algorithm.

[0184] In some embodiments, when the control module 1202 is specifically implemented, it can determine whether the target robotic arm collides during its movement according to a preset external force observation algorithm in the following manner: determining the external force received by the target robotic arm in each control cycle according to the preset external force observation algorithm; detecting whether the target robotic arm receives an external force greater than a preset external force threshold for a consecutive preset number of control cycles; and determining that the target robotic arm collides during its movement if it is determined that the target robotic arm receives an external force greater than the preset external force threshold for a consecutive preset number of control cycles.

[0185] In some embodiments, when the control module 1202 is specifically implemented, if it is determined that the target robotic arm collides during its movement, a preset emergency handling can be performed by executing a compliant control mode in the following manner: determining the current external force on the target robotic arm according to a preset external force observation algorithm; limiting the current external force to obtain the limited current external force; calculating the compliant position based on the limited current external force; correcting the target position based on the compliant position to obtain the corrected target position; and controlling the target robotic arm to move to the corrected target position.

[0186] In some embodiments, when the control module 1202 is specifically implemented, it can be used to obtain the current joint position, current joint speed and current joint torque of the target robotic arm; and calculate the current external force on the target robotic arm using the current joint position, current joint speed and current joint torque of the target robotic arm according to the preset external force observation algorithm.

[0187] In some embodiments, when the control module 1202 is specifically implemented, it can control the target robotic arm to maintain at the current joint position in a matching manner according to the preset suspension control rules in the following way: obtain the current joint position and current joint speed of the target robotic arm; determine the target joint torque of the target robotic arm in the current state according to the current joint position and current joint speed of the target robotic arm; control the target robotic arm to stop moving according to the target joint torque of the target robotic arm, and maintain it at the current joint position in a suspended state.

[0188] In some embodiments, when the control module 1202 is specifically implemented, it can also be used to determine the joint gravity of the target robotic arm in the current state based on the dynamic model and the current joint position; calculate the damping force for stopping the movement of the target robotic arm in the current state based on the current joint speed; and determine the target joint torque for the target robotic arm in the current state based on the joint gravity and the damping force.

[0189] In some embodiments, when the control module 1202 is specifically implemented, it can control the target robotic arm to maintain at the current joint position in a matching manner according to the preset maintenance control rules in the following way: collect the current joint position of the target robotic arm and control the target robotic arm to maintain at the current joint position; monitor whether the target robotic arm has a divergent motion trend according to the preset motion trend detection algorithm; and lock the joint position of the target robotic arm when a divergent motion trend is detected.

[0190] In some embodiments, when the control module 1202 is specifically implemented, it can monitor whether the target robotic arm has a divergent motion trend according to a preset motion trend detection algorithm in the following manner: obtaining the joint position response peak value of the target robotic arm at a first time point; and detecting whether the joint position response peak value at the first time point is greater than a preset peak threshold; if it is determined that the joint position response peak value at the first time point is greater than the preset peak threshold, obtaining the joint position response peak value at a second time point; and detecting whether the joint position response peak value at the second time point is greater than the preset peak threshold; if it is determined that the joint position response peak value at the second time point is greater than the preset peak threshold, detecting whether the joint position response peak value at the second time point is greater than the joint position response peak value at the first time point; if it is determined that the joint position response peak value at the second time point is greater than the joint position response peak value at the first time point, determining that the target robotic arm has a divergent motion trend.

[0191] It should be noted that the units, devices, or modules described in the above embodiments can be implemented by computer chips or physical entities, or by products with certain functions. For ease of description, the above devices are described by dividing them into various modules according to their functions. Of course, in implementing this specification, the functions of each module can be implemented in one or more software and / or hardware, or the module that implements the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection between the devices or units shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.

[0192] As can be seen from the above, the control device for the robotic arm provided in the embodiments of this specification can, on the one hand, automatically control the target robotic arm to maintain it in a suitable position in a suitable manner when the preset triggering conditions such as entering a safe mode or a malfunction are met, so as to facilitate the user's subsequent use; on the other hand, it can also effectively reduce the damage to the robotic arm caused by collisions during operation and better protect the robotic arm.

[0193] See Figure 13 As shown in the embodiments of this specification, a medical system is also provided, which may include at least a robotic arm 1301 and a control device 1302. The robotic arm 1301 and the control device 1302 are connected; the control device 1302 is used to control the robotic arm 1301 to perform corresponding operations.

[0194] In specific implementation, when the control device 1302 detects that a preset trigger condition is met, for example, when it determines that the medical system has entered a safe mode, it can control the robotic arm 1301 to maintain in the corresponding position in a matching manner according to the preset control rules; wherein, the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.

[0195] While this specification provides the steps of operation for the methods described in the embodiments or flowcharts, more or fewer steps may be included based on conventional or non-inventive means. The order of steps listed in the embodiments is merely one possible order of execution among many steps and does not represent the only possible order. In actual device or client product execution, the methods shown in the embodiments or drawings may be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even a distributed data processing environment). The terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitations, the presence of other identical or equivalent elements in a process, method, product, or apparatus that includes said elements is not excluded. The terms "first," "second," etc., are used to denote names and do not indicate any particular order.

[0196] Those skilled in the art will also know that, besides implementing the controller using purely computer-readable program code, the same functions can be achieved by logically programming the method steps, making the controller function as logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers (PLCs), and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the devices within it used to implement various functions can also be considered structures within that hardware component. Alternatively, the devices used to implement various functions can be considered as both software modules implementing the method and structures within a hardware component.

[0197] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, classes, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer-readable storage media, including storage devices.

[0198] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that this specification can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions of this specification can essentially be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, mobile terminal, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments of this specification.

[0199] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. This specification can be used in numerous general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable electronic devices, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices, etc.

[0200] Although this specification has been described by way of examples, those skilled in the art will recognize that many variations and modifications are possible without departing from the spirit of this specification, and it is intended that the appended claims cover such variations and modifications without departing from the spirit of this specification.

Claims

1. A control method for a robotic arm, characterized in that, include: Check whether the preset trigger conditions are met; When the preset triggering conditions are met, the target robotic arm is controlled to maintain itself at the corresponding position in a matching manner according to the preset control rules; wherein, the preset control rules include: preset return control rules, and preset suspension control rules or preset maintenance control rules; Specifically, according to preset control rules, the target robotic arm is controlled to maintain at the corresponding position in a matching manner, including: based on the current joint position of the target robotic arm, detecting whether the current joint position of the target robotic arm belongs to a preset operation range, and whether the distance between the current joint position of the target robotic arm and the target position is greater than a preset distance threshold; selecting and using a matching control rule from the preset control rules to control the target robotic arm to maintain at the corresponding position in a matching manner.

2. The control method for the robotic arm according to claim 1, characterized in that, Check whether the preset trigger conditions are met, including: Detect whether the target system has entered safe mode; Once it is determined that the target system has entered safe mode, the preset triggering conditions are met.

3. The control method for the robotic arm according to claim 2, characterized in that, The target system includes a doctor's console; correspondingly, the target robotic arm includes the master robotic arm of the doctor's console.

4. The control method for the robotic arm according to claim 1, characterized in that, According to preset control rules, the target robotic arm is controlled to maintain itself at the corresponding position in a matching manner, including: Detect whether the current joint position of the target robotic arm belongs to the preset operating range; If the current joint position of the target robotic arm is determined to be outside the preset operating range, the target robotic arm is controlled to move and maintain at the target position in a matching manner according to the preset return control rules.

5. The control method for the robotic arm according to claim 4, characterized in that, After detecting whether the current joint position of the target robotic arm belongs to a preset operating range, the method further includes: If the current joint position of the target robotic arm is determined to be within the preset operating range, the distance between the current joint position of the target robotic arm and the target position is detected to be greater than a preset distance threshold. If the distance between the current joint position of the target robotic arm and the target position is determined to be greater than a preset distance threshold, the target robotic arm is controlled to move and maintain at the target position in a matching manner according to the preset return control rules. If the distance between the current joint position of the target robotic arm and the target position is less than or equal to a preset distance threshold, the target robotic arm is controlled to maintain at the current joint position in a matching manner according to the preset suspension control rules or preset maintenance control rules.

6. The method according to claim 5, characterized in that, The target location includes an initial location or a custom location.

7. The method according to claim 4 or 5, characterized in that, According to the preset return control rules, the target robotic arm is controlled to move and maintain at the target position in a matching manner, including: Obtain the current joint position and target position of the target robotic arm; Based on the current joint position and target position of the target robotic arm, a target return path is generated through trajectory planning; the starting point of the target return path is the current joint position of the target robotic arm, and the ending point is the target position. Based on the target return path, control the target robotic arm to move to the target position; and maintain the target robotic arm at the target position.

8. The control method for the robotic arm according to claim 7, characterized in that, After generating the target return path, the method further includes: Trajectory points are sampled along the target return path to obtain multiple sampling points; Collision detection is performed on the multiple sampling points; If at least one of the multiple sampling points is found to be in a collision, adjust the target return path.

9. The control method for the robotic arm according to claim 4 or 5, characterized in that, During the movement of the target robotic arm to the target position according to the target return path, the method further includes: Detect whether the target robotic arm collides during its movement; If a collision is detected during the movement of the target robotic arm, a pre-set emergency response is initiated. The pre-set emergency response includes at least one of the following: reducing the moving speed of the target robotic arm, executing a compliant control mode, or regenerating the target return path.

10. The control method for the robotic arm according to claim 9, characterized in that, Detect whether the target robotic arm collides during its movement, including: Perform kinematic testing on the target robotic arm and obtain the kinematic test results; Based on the kinematic test results, determine whether the target robotic arm has collided; If the kinematic detection results indicate that the target robotic arm has not collided, a preset external force observation algorithm is used to determine whether the target robotic arm has collided during its movement.

11. The control method for the robotic arm according to claim 10, characterized in that, Based on a pre-defined external force observation algorithm, determine whether the target robotic arm collides during its movement, including: Based on the preset external force observation algorithm, the external force experienced by the target robotic arm in each control cycle is determined; Detect whether the target robotic arm experiences an external force greater than a preset external force threshold for a consecutive preset number of control cycles; If it is determined that the target robotic arm experiences an external force greater than a preset external force threshold for a consecutive preset number of control cycles, then it is determined that the target robotic arm collides during its movement.

12. The control method for the robotic arm according to claim 9, characterized in that, If a collision is determined to occur during the movement of the target robotic arm, a compliant control mode is executed, including: Based on the preset external force observation algorithm, determine the current external force acting on the target robotic arm; The current external force is limited to obtain the limited external force. Calculate the compliant position based on the current external force after the amplitude is limited; Based on the compliant position, the target position is corrected to obtain the corrected target position; Control the target robotic arm to move to the corrected target position.

13. The control method for the robotic arm according to claim 12, characterized in that, Based on a pre-defined external force observation algorithm, the current external force acting on the target robotic arm is determined, including: Obtain the current joint position, current joint velocity, and current joint torque of the target robotic arm; Based on the preset external force observation algorithm, the current external force on the target robotic arm is calculated using the current joint position, current joint velocity, and current joint torque of the target robotic arm.

14. The control method for the robotic arm according to claim 5, characterized in that, According to preset suspension control rules, the target robotic arm is controlled to maintain its current joint position in a matching manner, including: Obtain the current joint position and current joint velocity of the target robotic arm; Based on the current joint position and current joint speed of the target robotic arm, determine the target joint torque for the target robotic arm in the current state; Based on the target joint torque of the target robotic arm, control the target robotic arm to stop moving and maintain it in a suspended state at the current joint position.

15. The control method for the robotic arm according to claim 14, characterized in that, Based on the current joint position and current joint velocity of the target robotic arm, determine the target joint torque for the target robotic arm in the current state, including: Based on the dynamic model, the joint gravity of the target robotic arm in its current state is determined using the current joint position; and the damping force used to stop the movement of the target robotic arm in its current state is calculated based on the current joint velocity. Based on the joint gravity and damping force, determine the target joint torque for the target robotic arm in the current state.

16. The control method for the robotic arm according to claim 5, characterized in that, According to preset maintenance control rules, the target robotic arm is controlled to maintain its current joint position in a matching manner, including: Collect the current joint position of the target robotic arm and control the target robotic arm to maintain the current joint position; Based on a preset motion trend detection algorithm, monitor whether the target robotic arm exhibits a divergent motion trend; If the target robotic arm is detected to have a tendency to diverge in motion, the joint position of the target robotic arm is locked.

17. The control method for the robotic arm according to claim 16, characterized in that, Based on a preset motion trend detection algorithm, the system monitors whether the target robotic arm exhibits divergent motion trends, including: Obtain the peak value of the joint position response of the target robotic arm at the first time point; and detect whether the peak value of the joint position response at the first time point is greater than the preset peak value threshold. If the peak value of the joint position response at the first time point is determined to be greater than the preset peak value threshold, the peak value of the joint position response at the second time point is obtained; and it is detected whether the peak value of the joint position response at the second time point is greater than the preset peak value threshold. If the peak value of the joint position response at the second time point is determined to be greater than the preset peak value threshold, it is then detected whether the peak value of the joint position response at the second time point is greater than the peak value of the joint position response at the first time point. If the peak value of the joint position response at the second time point is greater than the peak value of the joint position response at the first time point, it is determined that the target robotic arm has a divergent motion trend.

18. A medical system, characterized in that, It includes at least a robotic arm and a control device, wherein the control device is used to control the robotic arm to maintain it in a matching manner at a corresponding position using the method of any one of claims 1 to 17.

19. A computer device, characterized in that, It includes a processor and a memory for storing processor-executable instructions, wherein the processor, when executing the instructions, implements the relevant steps of the method according to any one of claims 1 to 17.

20. A computer-readable storage medium, characterized in that, It stores computer instructions that, when executed, implement the relevant steps of the method according to any one of claims 1 to 17.

Citation Information

Patent Citations

  • Robotic surgical systems with user engagement monitoring

    CN110545748A