Robot system and control method

By using the control methods of target motor arm selection, position determination and interpolation method path planning in the surgical robot system, the complex and time-consuming adjustment of the surgical robot motor arm is solved, and a more efficient and accurate surgical preparation process is achieved.

CN114073588BActive Publication Date: 2025-05-30BEIJING SURGERII TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110872601.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-08-19
Filing Date
2021-07-30
Publication Date
2025-05-30
Estimated Expiration
2041-07-30

AI Technical Summary

Technical Problem

The adjustment of the preoperative, during and after surgery is complex and time-consuming, especially in single-hole surgery, which has stability problems and collision risks.

Method used

A control method for a robot system is provided, by selecting a target motion arm, determining its initial position and target position, and determining a motion path, including at least one motion stage, using an interpolation method, to achieve precise position adjustment of the motion arm.

Benefits of technology

It improves the adjustment efficiency and accuracy of the sports arm, reduces the preparation time for surgery, reduces the complexity of operation and collision risks, and improves the stability and safety of the surgery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114073588B_ABST
    Figure CN114073588B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the field of medical devices, and discloses a control method for a robot system. The robot system includes multiple robotic arms. The control method includes: based on an operation command, selecting one or more of the multiple robotic arms of the robot system as target robotic arms; determining the current poses of the one or more target robotic arms; determining the target poses of the one or more target robotic arms based on the operation command and the current poses of the one or more target robotic arms; and determining a motion path of the one or more target robotic arms from the current poses to the target poses based on an interpolation method, where the motion path includes at least one motion stage. By planning the motion path, one or more robotic arms can accurately, quickly, and safely reach the target position, thereby achieving efficient and safe control of the robotic arms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of robots, and more particularly to a robot system and a control method thereof. Background Art

[0002] Laparoscopic surgery is a widely used surgical form with advantages such as small incisions. In recent years, surgical robots have used robotic arms to perform surgical procedures with higher stability and precision. During surgery, the robotic arm inserts surgical instruments into the surgical site inside the body (such as a human or an animal) through trocars to perform a surgical operation.

[0003] Currently, the surgical procedures implemented using surgical robots mainly include preoperative positioning, intraoperative operation, and postoperative arrangement. Before surgery, usually a surgical assistant (such as an assistant doctor or a nurse) needs to adjust the robotic arm to a suitable pose according to the surgical type and the surgical pose, fixedly connect the robotic arm to the trocar, and then set surgical instruments at the end of the robotic arm so that the surgical instruments enter the body through the trocar. The movement of the robotic arm can be manually adjusted by the surgical assistant from its distal end (i.e., the end close to the patient) or can be controlled by the surgical assistant or the doctor by operating a control device at the proximal end of the robotic arm (i.e., the end close to the doctor's control end). However, since the robotic arm may be large in volume and weight, there are stability problems and collision risks, especially in single-port surgeries. Therefore, the adjustment of the robotic arm is complex and time-consuming. Similarly, during and after surgery, the adjustment of the robotic arm has the above problems. Summary of the Invention

[0004] In some embodiments, the present disclosure provides a control method for a robot system, the robot system including a plurality of robotic arms, the control method including: based on an operation command, selecting one or more of the plurality of robotic arms of the robot system as target robotic arms; determining an initial pose of one or more of the target robotic arms; based on the operation command and the initial pose of one or more of the target robotic arms, determining a target pose of one or more of the target robotic arms; and based on an interpolation method, determining a movement path of one or more of the target robotic arms from the initial pose to the target pose, the movement path including at least one movement stage.

[0005] In some embodiments, the present disclosure provides a robot system, including: a plurality of robotic arms; and a control device configured to, based on an operation command, select one or more of the plurality of robotic arms as target robotic arms, determine an initial pose of one or more of the target robotic arms; based on the operation command and the initial pose of one or more of the target robotic arms, determine a target pose of one or more of the target robotic arms; and based on an interpolation method, determine a movement path of one or more of the target robotic arms from the initial pose to the target pose, the movement path including at least one movement stage.

[0006] In some embodiments, the present disclosure provides a computer-readable storage medium including one or more instructions that are executed by a processor to perform a control method for a robotic system. The robotic system includes a plurality of robotic arms. The control method includes: based on an operation command, selecting one or more of the plurality of robotic arms of the robotic system as target robotic arms; determining an initial pose of one or more of the target robotic arms; based on the operation command and the initial pose of one or more of the target robotic arms, determining a target pose of one or more of the target robotic arms; and based on an interpolation method, determining a motion path of one or more of the target robotic arms from the initial pose to the target pose, the motion path including at least one motion stage. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] To clearly illustrate the technical solutions in the embodiments of the present disclosure, the following will briefly introduce the drawings required for the description of the embodiments of the present disclosure. The drawings in the following description only show some embodiments of the present disclosure. For those of ordinary skill in the art, without creative efforts, other embodiments can be obtained based on the content of the embodiments of the present disclosure and these drawings.

[0008] Figure 1 Shows a structural block diagram of a robotic system according to some embodiments of the present disclosure;

[0009] Figure 2 Shows a perspective structural schematic diagram of a robotic system according to some embodiments of the present disclosure;

[0010] Figure 3 Shows a structural schematic diagram of a robotic arm of a robotic system according to some embodiments of the present disclosure;

[0011] Figure 4 Shows a partial cross-sectional view of an auxiliary connection device according to some embodiments of the present disclosure;

[0012] Figure 5 Shows a flowchart of a control method for a robotic system according to some embodiments of the present disclosure;

[0013] Figure 6 Shows another structural block diagram of a robotic system according to some embodiments of the present disclosure;

[0014] Figure 7 Shows a flowchart of a method for determining a target pose of a robotic arm according to some embodiments of the present disclosure;

[0015] Figure 8 Shows a flowchart of a method for determining a motion path of a robotic arm according to some embodiments of the present disclosure;

[0016] Figure 9 A flowchart of a method for determining the step size of each joint included in a robotic arm according to some embodiments of the present disclosure is shown;

[0017] Figure 10 A flowchart of a method for controlling the movement of a target robotic arm in a single motion control loop according to some embodiments of the present disclosure is shown;

[0018] Figure 11 A schematic diagram of the architecture of a control device according to some embodiments of the present disclosure is shown. Detailed implementation manners

[0019] To make the technical problems solved by the present disclosure, the technical solutions adopted, and the achieved technical effects clearer, the technical solutions of the embodiments of the present disclosure will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only exemplary embodiments of the present disclosure, rather than all embodiments.

[0020] In the description of the present disclosure, it should be noted that the orientation or positional relationship indicated by the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present disclosure and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as a limitation to the present disclosure. In addition, the terms "first" and "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance. In the description of the present disclosure, it should be noted that unless otherwise clearly defined and limited, the terms "mounted", "connected", "coupled" should be understood in a broad sense. For example, it can be a fixed connection or a detachable connection; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium; it can be the internal communication of two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present disclosure can be understood according to specific circumstances. In the present disclosure, in a surgical robot system, the end close to the user (such as a doctor) is defined as the proximal end, the proximal part, the rear end, or the rear part, and the end close to the surgical patient is defined as the distal end, the distal part, the front end, or the front part. Those skilled in the art can understand that the embodiments of the present disclosure can be used in medical devices or surgical robots, and can also be used in other non-medical devices.

[0021] In the present disclosure, the term "position" refers to the positioning of an object or a part of an object in a three-dimensional space (e.g., three translational degrees of freedom can be described by changes in Cartesian X, Y, and Z coordinates, such as three translational degrees of freedom along the Cartesian X-axis, Y-axis, and Z-axis, respectively). In the present disclosure, the term "orientation" refers to the rotational setting of an object or a part of an object (e.g., three rotational degrees of freedom, which can be described by roll, pitch, and yaw). In the present disclosure, the term "pose" refers to the combination of the position and orientation of an object or a part of an object, e.g., it can be described by six parameters among the six degrees of freedom mentioned above. In the present disclosure, the pose of a robotic arm or a part thereof refers to the pose of the coordinate system defined by the robotic arm or a part thereof relative to the coordinate system defined by the bracket, base on which the robotic arm is located, or the world coordinate system. In the present disclosure, the position of a robotic arm or a part thereof can be represented by a set of joint values of multiple joints of the robotic arm (e.g., a one-dimensional matrix composed of these joint values). In the present disclosure, the joint value of a joint can include the angle by which the corresponding joint rotates relative to the corresponding joint axis or the distance by which it moves relative to the initial position. In the present disclosure, the movement path of a robotic arm refers to the path that the robotic arm passes through when moving from one position or orientation to another position or orientation.

[0022] Figure 1 FIG. 4 shows a structural block diagram of a robotic system 10 according to some embodiments of the present disclosure. As Figure 1 shown, the robotic system 10 may include a control device 11 and a plurality of robotic arms connected to the control device 11. In some embodiments, as Figure 1 shown, the plurality of robotic arms may include a first robotic arm 12a and a second robotic arm 12b. The control device 11 may be configured to control the first robotic arm 12a and the second robotic arm 12b. For example, the control device 11 may adjust the movement, pose, and coordination of the first robotic arm 12a and the second robotic arm 12b. In some embodiments, the first robotic arm 12a and the second robotic arm 12b may respectively include a first end arm 128a and a second end arm 128b at their ends or distal ends. The control device 11 may control the movement of the first robotic arm 12a or the second robotic arm 12b so that the first end arm 128a or the second end arm 128b moves to a desired position and orientation.

[0023] For the convenience of brief description in the present disclosure text, in Figure 1 and the subsequent drawings, the exemplary robotic system 10 is shown as including two robotic arms. However, those skilled in the art should understand that the robotic system 10 may also include three, four, or more robotic arms. The robotic system 10 may include a surgical robotic system, such as a laparoscopic surgical robotic system. It should be understood that the robotic system 10 may also include a dedicated or general robotic system for other fields (e.g., manufacturing, machinery, etc.).

[0024] Figure 2 Shows a perspective structural view of a robotic system 10 according to some embodiments of the present disclosure. As Figure 2 shown, the robotic system 10 is a surgical robotic system, which may include a surgical trolley 13 and a first robotic arm 12a and a second robotic arm 12b disposed on the surgical trolley 13. In some embodiments, the surgical trolley 13 may include a base 131 and a cross beam 132. In some embodiments, the first robotic arm 12a and the second robotic arm 12b may be movably disposed on the cross beam 132. It should be understood that multiple robotic arms of the robotic system 10 may also be disposed on multiple surgical trolleys. For example, each robotic arm is correspondingly disposed on one surgical trolley. Or one robotic arm is disposed on one surgical trolley, and the remaining multiple robotic arms are disposed on another surgical trolley. These embodiments still fall within the protection scope of the present disclosure.

[0025] In some embodiments, each robotic arm (such as the first robotic arm 12a and the second robotic arm 12b) of the robotic system 10 may include multiple linkages and multiple joints. In some embodiments, each joint of each robotic arm may include a motor for driving the corresponding joint to move, thereby driving the corresponding linkage to rotate.

[0026] Figure 3 Shows a structural view of a robotic arm of the robotic system 10 according to some embodiments of the present disclosure. As Figure 3 shown, the second robotic arm 12b (or the first robotic arm 12a) may include joints 1201b - 1208b and linkages 121b - 128b. The proximal end of the linkage 121b (in the present disclosure, the end close to the cross beam 132 is defined as the proximal end of the robotic arm) is connected to the cross beam 132, and the linkages 121b - 127b are connected in series in sequence. Among them, the joint 1201b may be located at the connection between the cross beam 132 and the proximal end of the linkage 121b, the joint 1202b may be located at the connection between the linkage 121b and the second linkage 122b, the joint 1203b may be located at the connection between the linkage 122b and the linkage 123b, the joint 1204b may be located at the connection between the linkage 123b and the linkage 124b, the joint 1205b may be located at the connection between the linkage 124b and the linkage 125b, the joint 1206b may be located at the connection between the linkage 125b and the linkage 126b, the joint 1207b may be located at the connection between the linkage 126b and the linkage 127b, and the joint 1208b may be located at the connection between the linkage 127b and the linkage 128b. The linkage 128b, as the most distal linkage of the second robotic arm 12b, forms the second end arm 128b of the second robotic arm 12b. The determination and representation of the position and posture of the end arm require the joint decision of each of the foregoing joints. It should be understood that the linkages 126b, 127b, and 128b together constitute the remote center of motion mechanism (RCM mechanism) of the second robotic arm 12b.

[0027] In some embodiments, the robotic system 10 may include one or more surgical instruments. As Figure 3 shown, the surgical instrument 14a may be mounted on the first distal arm 128a of the first robotic arm 12a, and the surgical instrument 14b may be mounted on the second distal arm 128b of the second robotic arm 12b. It should be understood that the surgical instruments 14a and 14b may include, but are not limited to, clamps for performing surgery, electrosurgical knives, or image capture devices for illumination imaging (such as endoscopic tools), and so on. A part of the surgical instruments 14a and 14b (such as the arm body and the distal instrument provided at the distal end of the arm body) may enter a certain body part of a human or an animal to perform a medical operation, such as surgery.

[0028] In some embodiments, as Figure 2 shown, the robotic system 10 may further include an auxiliary connection device 15, such as a sheath. The auxiliary connection device 15 may be mounted on a human or animal body (such as in an incision or an opening), a part of which may be positioned at the body part of the human or animal where surgery needs to be performed, and the other part is used for detachably connecting to the robotic arms (such as the first and second distal arms 128a and 128b of the first and second robotic arms 12a and 12b) to better serve the surgery.

[0029] Figure 4 A partial cross-sectional view of the auxiliary connection device 15 according to some embodiments of the present disclosure is shown. In some embodiments, as Figure 4 shown, the auxiliary connection device 15 may include a sheath tube 151 and a sheath tube 152. In some embodiments, the auxiliary connection device 15 may further include at least two connection parts (such as connection parts 153 and 154). The connection parts may include, but are not limited to, clamps, engaging structures, adhesive structures, plug-in structures, and suction structures. The connection parts 153 and 154 may be fixedly provided on the sheath tubes 151 and 152 respectively.

[0030] In some embodiments, each robotic arm (such as the first and second robotic arms 12a and 12b) may include a connection member (such as Figure 2 the connection members 1281a and 1281b shown) that cooperates with the connection parts (such as the connection parts 153 and 154). The auxiliary connection device 15 may be detachably and fixedly connected to the connection members 1281a and 1281b of the first and second robotic arms 12a and 12b through the connection parts 153 and 154 respectively. In some embodiments, as Figure 2As shown, the connecting members 1281a and 1281b can be fixedly arranged on the first end arm 128a and the second end arm 128b respectively. The connecting members 1281a and 1281b are respectively connected to the connecting portion 153 and the connecting portion 154, so that the auxiliary connecting device 15 is detachably and fixedly connected to the first and second moving arms 12a and 12b.

[0031] It should be understood that the spatial positions and rotational coordinate postures of the first end arm 128a, the second end arm 128b, the connecting members 1281a and 1281b in the Cartesian coordinate space can be represented by coordinate vectors. In some embodiments, based on the current surgical type or the configuration of the auxiliary connecting device, for example, the configuration of the auxiliary connecting device can be determined based on the current surgical type. Based on the configuration of the auxiliary connecting device, the shape and relative position relationship between multiple sheaths of the auxiliary connecting device are determined to determine the relative poses of the ends of multiple moving arms. It should be understood that the end of the moving arm can include the end arm of the moving arm, the distal center of motion mechanism (RCM mechanism) of the moving arm, or the part on the moving arm for connecting with the auxiliary connecting device. The pose of the end of the moving arm can include the pose of the end arm of the moving arm, the pose of the distal center of motion mechanism (RCM mechanism) of the moving arm, or the pose of the part on the moving arm for connecting with the auxiliary connecting device.

[0032] In some embodiments, the current surgical type can be the type of surgery to be performed currently. For example, the surgical type can include but is not limited to general surgery, thoracic surgery, urological surgery, gynecological surgery, etc. In some embodiments, the auxiliary connecting device can include a sheath, and the configuration of the sheath can include, for example, the specifications and models of the sheaths under different surgical procedures (the specifications and models can include but are not limited to, for example, the length, radial dimension, aperture size, number of sheaths, relative position relationship of multiple sheaths, etc.). The relative pose relationship between each of the multiple sheaths and at least one moving arm is associated, and the relative pose relationship between the sheaths of different configurations and each moving arm can be different.

[0033] For example, based on the shapes and relative positional relationships of the sheaths 151 and 152, the relative end pose relationship between the first moving arm 12a and the second moving arm 12b can be determined. The relative end pose relationship between the first moving arm 12a and the second moving arm 12b can indicate the positional relationship and the attitude relationship of the end of the first moving arm 12a relative to the end of the second moving arm 12b in the world space coordinate system. It should be understood that the relative end pose relationship can include, for example, the relative pose relationship formed between the first end arm 128a of the first moving arm 12a and the second end arm 128b of the second moving arm 12b. Alternatively, the relative end pose relationship can also include the relative pose relationship formed between the surgical instruments 14a and 14b mounted on the first end arm 128a and the second end arm 128b. Alternatively, the relative end pose relationship can also include the relative pose relationship formed between the connecting members 1281a and 1281b fixedly arranged on the first end arm 128a and the second end arm 128b. It should be understood that there can be a mapping relationship among the relative pose relationships between the surgical instruments, the relative pose relationships between the end arms, and the relative pose relationships between the connecting members. In some embodiments, the relative end pose relationship can be stored in an associated relative pose model and can be used to calculate the target pose of the end of the first moving arm 12a or the second moving arm 12b. Since the connecting members 1281a and 1281b are respectively fixed on the first end arm 128a and the second end arm 128b, when the first end arm 128a and the second end arm 128b conform to the relative end pose relationship, the connecting members 1281a and 1281b can be respectively connected to the connecting parts 153 and 154.

[0034] It should be understood that when the first moving arm 12a moves to the target pose, the target pose of the surgical instrument 14a installed at the end of the first moving arm 12a in the world coordinate can be determined, and when the second moving arm 12b moves to the target pose, the target pose of the surgical instrument 14b installed at the end of the second moving arm 12b in the world coordinate can be determined. The pose of the moving arm or a part thereof can be achieved through joints. For example, in some embodiments, the target spatial positions of the fixed parts on each moving arm (such as the first and second end arms 128a and 128b, and the connecting members 1281a and 1281b fixedly arranged on the first and second moving arms 12a and 12b, and the surgical instruments 14a and 14b installed on the first and second moving arms 12a and 12b) can be achieved through some of the multiple joints included in the corresponding moving arm. The target spatial poses of the fixed parts on each moving arm can be achieved through some other joints included in the corresponding moving arm. In some embodiments, the multiple joints for achieving the target spatial pose at the end of the moving arm (such as the first and second end arms 128a and 128b) are closer to the distal end of the moving arm than the multiple joints for achieving the target spatial position of the moving arm. It should be understood that the multiple joints for achieving the target spatial pose and target spatial position at the end of the moving arm can also include other setting methods, which can be specifically set according to the usage requirements.

[0035] In some embodiments, after the surgical instruments are installed on the end arms, the surgical instruments 14a and 14b can smoothly pass through the sheaths 151 and 152 of the auxiliary connection device 15 at a predetermined angle respectively, and move along the sheaths 151 and 152 to enter the corresponding poses in the human body that require surgery. In some embodiments, the sheaths 151 and 152 of the auxiliary connection device 15 can be flexible, and the parts of the surgical instruments 14a and 14b extending through the auxiliary connection device 15 are also flexible, which can facilitate the connection parts 153 and 154 on the auxiliary connection device 15 to be connected to the connecting members 1281a and 1281b on each moving arm when the first end arm 128a and the second end arm 128b substantially conform to the end relative pose relationship. The flexible part of the auxiliary connection device 15 can ensure that each surgical instrument can still smoothly pass through the sheath and enter the surgical area when there is a certain error in the pose of the end arm.

[0036] It should be understood that as Figure 4 shown, the auxiliary connection device 15 is merely exemplary. In some embodiments, the robotic system 10 can include three, four or more moving arms, and the auxiliary connection device 15 can include three, four or more sheaths, and each sheath includes a corresponding connection part for connecting each sheath to each moving arm and constraining the end relative pose relationship between multiple end arms.

[0037] The present disclosure provides a control method that can be used in a robot system. Figure 5 FIG. 500 is a flowchart showing a control method for a robot system (e.g., robot system 10) according to some embodiments of the present disclosure. Figure 6 FIG. 10 shows another simplified block diagram of the robot system 10 according to some embodiments of the present disclosure. As Figure 5 and Figure 6 shown, the method 500 can be executed by a control device (e.g., control device 11) of the robot system 10. The control device 11 can be configured on a computing device. The method 500 can be implemented by software, firmware, and / or hardware.

[0038] As Figure 5 shown, in step 501, based on an operation command, one or more of a plurality of moving arms are selected as target moving arms. In some embodiments, based on the operation command, one of the plurality of moving arms of the robot system 10 can be selected as the target moving arm, or two or more of the plurality of moving arms of the robot system 10 can be selected as the target moving arms. In some embodiments, the operation command can be input by a user through the control device 11 to control the movement of one target moving arm or the overall movement of a plurality of target moving arms. In some embodiments, the control device 11 may include an input device 113. The input device 113 is configured to be able to receive an operation command from the user or receive an operation instruction from the user, so that the control device 11 can obtain a specific operation command based on the operation instruction. For example, based on the operation command, the first moving arm 12a can be selected as the target moving arm, and the operation command can be used to control the first moving arm 12a to move from the initial pose to the target pose. Alternatively, based on the operation command, the first moving arm 12a and the second moving arm 12b can be selected as the target moving arms, and the operation command can be used to control the first moving arm 12a and the second moving arm 12b to move as a whole from the initial pose to the target pose, for example, they can be commanded to pitch, rotate, and translate as a whole to the target pose.

[0039] In step 503, the initial pose of one or more target moving arms is determined. For example, the first moving arm 12a or the second moving arm 12b is selected as the target moving arm. In some embodiments, as Figure 6 shown, the control device 11 can be communicatively connected to the first moving arm and the second moving arms 12a, 12b. In some embodiments, as Figure 6 shown, the first moving arm 12a may further include one or more sensors 129a. The motors of the joints 1201a-1208a can be respectively coupled to the plurality of sensors 129a. The second moving arm 12b may further include one or more sensors 129b. The motors of the joints 1201b-1208b can be respectively coupled to the plurality of sensors 129b. Figure 6Exemplarily, a sensor is shown. It should be understood that the illustrated sensors 129a and 129b can represent multiple sensors. The sensors 129a and 129b can include, but are not limited to, for example, encoders or potentiometers. The sensors can be used to obtain data of multiple joints of the corresponding robotic arm to measure the joint values of the corresponding joints. In some embodiments, the sensors can include fiber optic sensors extending on the robotic arm for obtaining the pose of the robotic arm.

[0040] As Figure 6 shown, the control device 11 can include one or more processors 111 and a memory 112. The processor 111 can be communicatively connected to the multiple sensors 129a of the first robotic arm 12a to obtain the current joint values of the respective joints 1201a - 1208a of the first robotic arm 12a through the multiple sensors 129a. The processor 111 can be communicatively connected to the multiple sensors 129b of the second robotic arm 12b to obtain the current joint values of the respective joints 1201b - 1208b of the second robotic arm 12b through the multiple sensors 129b.

[0041] In some embodiments, the processor 111 can solve the current joint values of the respective joints based on the forward kinematic models of the first and second robotic arms 12a and 12b to obtain the initial poses of the first robotic arm 12a and the second robotic arm 12b or a part thereof (such as the ends of the first robotic arm 12a and the second robotic arm 12b). The forward kinematic model of the first robotic arm 12a can be preset and stored in the memory 112. The forward kinematic model of the robotic arm can obtain the pose of the robotic arm or the pose of any part (such as the first and second end arms 128a and 128b, the connectors 1281a and 1281b fixedly arranged on the first and second robotic arms 12a and 12b, the poses of the surgical instruments 14a and 14b mounted on the first and second robotic arms 12a and 12b, etc.) based on all known joint variables (such as joint values) of the robotic arm.

[0042] In step 505, based on the operation command and the initial poses of one or more target robotic arms, determine the target poses of the one or more target robotic arms. In some embodiments, based on the operation command and the initial poses of one or more target robotic arms, the target poses of the ends of the one or more target robotic arms can be determined. In some embodiments, the target poses of the ends of the target robotic arms can be determined based on the operation command received from the user. Or the operation command may include the target pose, the mode and amplitude of movement, etc. For example, based on the initial pose of the end of the target robotic arm and the mode of movement (e.g., moving left, rotating, etc.) and amplitude (e.g., moving distance, rotation angle, etc.), the target pose of the end can be determined. Based on the target poses of the ends of the one or more target robotic arms and the inverse kinematic model, determine the target poses of the one or more target robotic arms. It should be understood that the inverse kinematic model of the robotic arm is a model that can solve the joint values of the robotic arm based on the known pose of the end of the robotic arm to obtain the pose of the robotic arm.

[0043] In some embodiments, when selecting the first robotic arm 12a as the target robotic arm, based on the operation command and the initial pose of the first robotic arm 12a, determine the target pose of the end of the first robotic arm 12a. Use the inverse kinematic model of the first robotic arm 12a for calculation to determine the target pose of the first robotic arm 12a. In some embodiments, when selecting the first robotic arm 12a and the second robotic arm 12b as the target robotic arms, based on the operation command, determine the target pose of the end of the first robotic arm 12a. Based on the target pose of the end of the first robotic arm 12a and the relative end pose relationship, determine the target pose of the end of the second robotic arm 12b, so that the relative end pose relationship can be ensured to remain unchanged during the movement of the ends of the first robotic arm 12a and the second robotic arm 12b. In this way, the ends of multiple robotic arms can move as a whole. As Figure 7 shown, the method can be used to determine the target pose of the robotic arm based on the target pose of the end of the robotic arm.

[0044] In step 507, based on the interpolation method, determine the movement path of the one or more target robotic arms from the initial pose to the target pose. In some embodiments, the movement path includes at least one movement stage. The end pose of each movement stage can be determined by the interpolation method to form the movement path. In some embodiments, based on the movement path, through at least one motion control loop, control the one or more target robotic arms to move from the initial pose to the target pose, and at least one motion control loop corresponds to at least one movement stage. In some embodiments, select the first robotic arm 12a as the target robotic arm. The movement path of the first robotic arm 12a can be planned using the interpolation method. Based on the constraint relationship, when the first robotic arm 12a moves along each movement stage of the movement path, it will not interfere with other robotic arms of the multiple robotic arms, such as collision.

[0045] In some embodiments, based on the constraint relationship, for each motion stage, it can be determined whether an interference relationship will be formed between one or more target motion arms or with other motion arms of the multiple motion arms. In some embodiments, based on the satisfaction of the constraint relationship, it is determined that no interference relationship will occur between one or more target motion arms or with other motion arms of the multiple motion arms. Based on the non-satisfaction of the constraint relationship, it is determined that an interference relationship will occur between one or more target motion arms or with other motion arms of the multiple motion arms. In some embodiments, the constraint relationship can be defined by an interference model. It should be understood that the interference model can be preset.

[0046] In some embodiments, for example, one of the multiple motion arms is selected as the target motion arm. The constraint relationship can include at least one of the following: the relative position order relationship between the target motion arm and other motion arms of the multiple motion arms conforms to a predetermined relative position order relationship, the distance between a predetermined point associated with the target motion arm and a predetermined point associated with one or more corresponding motion arms of the target motion arm is greater than a predetermined safety distance, the distance between a predetermined line segment associated with the target motion arm and a predetermined line segment associated with one or more corresponding motion arms of the target motion arm is greater than a predetermined safety distance, or the difference between the joint values of one or more joints of the target motion arm and the joint values of the corresponding joints of one or more corresponding motion arms of the target motion arm is greater than a predetermined safety value. It should be understood that if two or more of the multiple motion arms are selected as the target motion arms, it can be determined respectively whether the constraint relationship is satisfied between each target motion arm and its corresponding motion arm.

[0047] In some embodiments, the predetermined relative position order relationship may include, but is not limited to, sorting among multiple moving arms in a clockwise or counterclockwise order. The relative position order relationship among multiple moving arms may be represented by the relative position order of the joints or linkages of the moving arms. For example, the first moving arm 12a is selected as the target moving arm. The relative position order of one or more joints (such as joint 1202a and / or 1203a) of the first moving arm 12a close to the cross beam 132 at the end position of each movement stage and the corresponding one or more joints (such as joint 1202b and / or 1203b) of the adjacent moving arm (such as the second moving arm 12b) close to the cross beam 132 at the end position of each movement stage conforms to the clockwise or counterclockwise sorting, and it can be determined that the first moving arm 12a and the second moving arm 12b satisfy the constraint of the relative position order relationship. Conversely, it can be determined that a non-predetermined relative position order occurs between the first moving arm 12a and the second moving arm 12b, which may lead to an interference relationship between the first moving arm 12a and the second moving arm 12b. In some embodiments, it can also be determined whether the relative position order relationship between the first moving arm 12a and the second moving arm 12b conforms to the predetermined relative position order relationship by judging whether the relative position order of the ends of one or more linkages (such as linkage 121a and / or 122a) of the first moving arm 12a and the corresponding linkages (such as linkage 121b and / or 122b) of the second moving arm 12b conforms to the predetermined relative position order relationship (such as clockwise or counterclockwise sorting).

[0048] In some embodiments, the predetermined point associated with the target moving arm may include a fixed point on the link of the target moving arm, a joint of the target moving arm, or other points related to the target moving arm. For example, the first moving arm 12a is selected as the target moving arm. The predetermined point associated with the first moving arm 12a may be a predetermined joint of the first moving arm 12a (such as joint 1203a). One or more moving arms corresponding to the first moving arm 12a may include the second moving arm 12b or other moving arms that are close in distance to the first moving arm 12a. The corresponding moving arm takes the second moving arm 12b as an example. The predetermined point associated with the second moving arm 12b may be the corresponding joint of the second moving arm 12b (such as joint 1203b). In some embodiments, the distance between joint 1203a of the first moving arm 12a and joint 1203b of the second moving arm 12b may be determined based on the joint axis of joint 1203a of the first moving arm 12a and the joint axis of joint 1203b of the second moving arm 12b. In some embodiments, the predetermined point associated with the first moving arm 12a may be a fixed point on a predetermined link of the first moving arm 12a (such as link 121a), and the predetermined point associated with the second moving arm 12b may be a fixed point on the corresponding link of the second moving arm 12b (such as link 121b) or an adjacent link (such as 123b). In some embodiments, the predetermined point associated with the first moving arm 12a may be a fixed point on a predetermined link in the first moving arm 12a (such as a remote center of motion mechanism, RCM mechanism), and the predetermined point associated with the second moving arm 12b may be the projection point of the axis of link 124b of the second moving arm 12b on the horizontal plane. For example, if the distance between the joint axes of joint 1203a and joint 1203b is greater than the safety distance, or the distance between the predetermined points on the first moving arm 12a and the second moving arm 12b is greater than the safety distance, it can be determined that the first moving arm 12a and the second moving arm 12b satisfy the constraint of the predetermined point safety distance relationship. Conversely, if the distance between the predetermined points is less than the safety distance, it is determined that interference may occur between the first moving arm 12a and the second moving arm 12b. It should be understood that the safety distance may be a pre-set distance, for example, it may include but is not limited to 135 mm. It should be understood that the safety distance may also be set based on the size of the joint or link. The safety distances between the predetermined points corresponding to different joints or links may be different. It should be understood that the predetermined points associated with the first moving arm 12a and the second moving arm 12b may include but are not limited to the cases shown in the above embodiments.

[0049] In some embodiments, the predetermined line segment associated with the target moving arm may include the edge or axis of the link of the target moving arm, the joint axis of the target moving arm, or other line segments related to the target moving arm. It should be understood that the minimum distance between two line segments is the smaller of the distance between the starting points of the two line segments and the distance between the ending points of the two line segments. For example, the first moving arm 12a is selected as the target moving arm. One or more moving arms corresponding to the target moving arm may include the second moving arm 12b or other moving arms that are close to the first moving arm 12a at a distance. The corresponding moving arm is taken as the second moving arm 12b as an example. The predetermined line segment associated with the first moving arm 12a may be the predetermined link of the first moving arm 12b (such as link 121a), and the predetermined line segment associated with the second moving arm 12b may be the predetermined link of the second moving arm 12b (such as link 122b). In some embodiments, the predetermined line segment associated with the first moving arm 12a may be the predetermined link of the first moving arm 12a (such as link 125a), and the predetermined line segment associated with the second moving arm 12b may be the edge of the predetermined link of the second moving arm 12b (such as the edge of the link 126a close to the link 125a of the remote center of motion mechanism (RCM mechanism)). In some embodiments, the predetermined line segment associated with the first moving arm 12a may be the line segment formed between the RCM point of the first moving arm 12a and a point on the extension line of the predetermined link of the first moving arm 12a (such as link 128a), and the predetermined line segment associated with the second moving arm 12b may be the edge of the first moving arm 12a close to the predetermined link of the second moving arm 12b (such as link 128b). In some embodiments, the predetermined line segment associated with the first moving arm 12a may be the edge of the predetermined link of the first moving arm 12a (such as the edge close to the second moving arm 12b of link 124a), and the predetermined line segment associated with the second moving arm 12b may be the edge of the corresponding link of the second moving arm 12b (such as the edge close to the first moving arm 12a of link 124b). In some embodiments, the predetermined line segment associated with the first moving arm 12a may be the joint axis of the first moving arm 12a, and the predetermined line segment associated with the second moving arm 12b may be the joint axis of the second moving arm 12b. In some embodiments, the predetermined line segment associated with the first moving arm 12a may be the line segment between the intersection of the joint axis of the first moving arm 12a (such as the axis of joint 1204a) and another joint axis (such as the axis of joint 1205a) and the distal end of the link of the first moving arm 12a (such as link 125a), and the predetermined line segment associated with the second moving arm 12b may be the line segment between the intersection of the joint axis of the second moving arm 12b (such as the axis of joint 1204b) and another joint axis (such as the axis of joint 1205b) and the distal end of the link of the second moving arm 12b (such as link 125b).For example, the minimum distance between the connecting rod 121a and the connecting rod 122b is greater than the safety distance, or the minimum distance between the connecting rod 125a and the edge of the RCM mechanism of the second moving arm 12b close to the connecting rod 125a (for example, the connecting rod 126b close to the edge of the connecting rod 125a) is greater than the safety distance, or the minimum distance between the line segment formed between the RCM point of the first moving arm 12a1 and the point on the extension line of the connecting rod 128a and the edge of the first moving arm 12a close to the connecting rod 128b is greater than the safety distance, or the minimum distance between the edge of the connecting rod 124a close to the second moving arm 12b and the edge of the connecting rod 124b close to the first moving arm 12a is greater than the safety distance, or the minimum distance between the line segment formed by the intersection of the axes of the joints 1204a and 1205a and the distal end of the connecting rod 125a and the line segment formed by the intersection of the axes of the joints 1204b and 1205a and the distal end of the connecting rod 125b is greater than the safety distance, it can be determined that the first moving arm 12a and the second moving arm 12b satisfy the constraint of the predetermined line segment safety distance relationship. Conversely, if the distance between the predetermined line segments is less than the safety distance, it is determined that an interference relationship may occur between the first moving arm 12a and the second moving arm 12b. It should be understood that the safety distance may include, for example, but not limited to, 135mm, 120mm, 60mm, etc. It should be understood that the safety distance can also be set based on the dimensions of the joints or connecting rods. The safety distances between the predetermined points corresponding to different joints or connecting rods may be different. It should be understood that the predetermined line segments associated with the first moving arm 12a and the second moving arm 12b may include, for example, but not limited to, the situations shown in the above embodiments.

[0050] In some embodiments, for example, the first moving arm 12a is selected as the target moving arm. If the difference between the joint values of one or more joints of the first moving arm 12a (such as the joint value of the joint 1203a) and the joint values of the corresponding joints of other moving arms (such as the second moving arm 12b) (such as the joint value of the joint 1203b) is greater than a predetermined safety value (such as a safety angle), it can be determined that the first moving arm 12a and the second moving arm 12b satisfy the constraint of the joint safety angle relationship. Conversely, if the difference between the joint values is less than the predetermined safety value, it is determined that an interference relationship may occur between the first moving arm 12a and the second moving arm 12b.

[0051] It should be understood that when the robotic system includes three, four, or more robotic arms, the interference model can also be used to determine interference between adjacent robotic arms or robotic arms with close positions. In some embodiments, the comparison objects of the interference model can be structures that are prone to interference between adjacent robotic arms (such as a predetermined line segment associated with the first robotic arm 12a and a predetermined line segment associated with the second robotic arm 12b, a predetermined point associated with the first robotic arm 12a and a predetermined point associated with the second robotic arm 12b, one or more joints of the first robotic arm 12a and the corresponding joints of the second robotic arm 12b), while structures that do not interfere between multiple robotic arms can be excluded from the comparison objects of the interference model. It is not necessary to compare all structures on adjacent robotic arms, which can reduce the computational amount in the interference model comparison process and improve the working efficiency of the system.

[0052] Figure 7 FIG. shows a flowchart of a method 700 for determining the target pose of a robotic arm according to some embodiments of the present disclosure. In some embodiments, the method 700 can be used to implement step 505 as shown in Figure 5 to determine the target pose of one or more target robotic arms based on the initial poses of the one or more target robotic arms. The method 700 can be executed by a control device (such as the control device 11) of the robotic system 10. The control device 11 can be configured on a computing device. The method 700 can be implemented by software, firmware, and / or hardware.

[0053] As Figure 7 shown, for each target robotic arm, in step 701, one of the multiple joints of the target robotic arm is selected as a characteristic joint, and a recommended target joint value of the characteristic joint is set. In some embodiments, taking the target robotic arm as the first robotic arm 12a as an example. One of the multiple joints of the first robotic arm 12a can be selected as the characteristic joint, and the recommended target joint value of the characteristic joint can be preset. In some embodiments, the characteristic joint of the robotic arm can be a joint that is prone to collide with an adjacent robotic arm among the multiple joints. For example, the selected characteristic joint can be a joint among the multiple joints of the first robotic arm 12a that is prone to collide with other robotic arms (such as the second robotic arm 12b), such as Figure 3 the joint 1205a or 1206a shown. It should be understood that when the robotic system 10 includes multiple robotic arms (such as three or four robotic arms), the recommended target joint values of the characteristic joints of different robotic arms can be different.

[0054] In step 703, based on the target pose of the end of the target moving arm and the recommended target joint values, other target joint values are determined. It should be understood that based on the target pose of the end of the selected target moving arm and the recommended target joint values, the inverse kinematic model of the target moving arm is solved to obtain other target joint values of the selected target moving arm. It should be understood that the other target joint values include the target joint values of all other joints of the target moving arm except the characteristic joint. Taking the selected target moving arm as the first moving arm 12a as an example. Based on the target pose of the first end arm 128a of the first moving arm 12a and the recommended target joint values of the recommended joints (such as 1205a), the inverse kinematic model of the first moving arm 12a can be solved to obtain other target joint values of the first moving arm 12a. It should be understood that multiple target moving arms can also be selected, and through the method described in step 703, other target joint values of each target moving arm can be determined.

[0055] In some embodiments, method 700 may further include step 705. For each target moving arm, in step 705, it is determined whether the other target joint values are within the joint motion range of the corresponding joint. It should be understood that each joint of the target moving arm has a certain motion range, and the joint motion range of each joint is the range between the minimum limit joint value and the maximum limit joint value of the corresponding joint, and the minimum limit joint value and the maximum limit joint value are not within this range. By way of example and not limitation, the motion range of some joints is between 18 degrees and 45 degrees, the motion range of some joints is between 45 degrees and 90 degrees, and the motion range of some joints is between -90 degrees and -45 degrees, and so on.

[0056] In some embodiments, method 700 may further include step 707. In step 707, the recommended target joint value is incremented or decremented by a predetermined adjustment value to adjust the recommended target joint value of the moving arm. For example, the first moving arm 12a is selected as the target moving arm. In response to at least one of the other target joint values of the first moving arm 12a not being within the joint motion range of the corresponding joint, the recommended target joint value is incremented or decremented by a predetermined adjustment value to adjust the recommended target joint value of the first moving arm 12a. In some embodiments, the adjustment value can be set to, for example, 0.2° or 0.5° and so on to adjust the recommended target joint value. It should be understood that 0.2° or 0.5° are only examples, and the adjustment value can also be set to other values. The recommended target joint value is incremented or decremented by the predetermined adjustment value and traversed until there is a solution or the joint motion range of the characteristic joint (the joint limit values may not be included) is reached. For example, having a solution can mean that the recommended target joint value is within the joint motion range of the characteristic joint.

[0057] In some embodiments, method 700 may further include the following steps: determining whether the adjusted recommended target joint value is within the joint movement range of the feature joint. In response to the adjusted recommended target joint value being within the joint movement range of the feature joint, selecting the adjusted recommended target joint value as the recommended target joint value, and returning to step 703.

[0058] In some embodiments, method 700 may further include step 711. In step 711, based on the recommended target joint value and other target joint values of the target moving arm, the target pose of the target moving arm is determined. For example, in response to all other target joint values of the target moving arm (e.g., the first moving arm 12a) being within the joint movement range of the corresponding joints, based on the recommended target joint value and other target joint values of the first moving arm 12a, the target pose of the first moving arm 12a is determined. For example, the set of the recommended target joint value and other target joints may be selected as the target joint value of the first moving arm 12a. By determining the target joint value of the first moving arm 12a, the target pose of the first moving arm 12a can be determined. It should be understood that the other moving arms of multiple moving arms can also determine the target pose of the moving arm through method 700.

[0059] In some embodiments, method 700 may further include step 709. In step 709, it is determined whether an interference relationship will be formed between the target moving arm and other moving arms. For example, the first moving arm 12a is selected as the target moving arm. In response to all other target joint values of the first moving arm 12a being within the joint movement range of the corresponding joints, based on the interference model in method 500, it is determined whether an interference relationship will be formed between the first moving arm 12a and the adjacent moving arm (e.g., the second moving arm 12b). In some embodiments, in response to no interference relationship being formed between multiple moving arms, step 711 is executed. For example, in response to no interference relationship being formed between the first moving arm 12a and the second moving arm 12b, based on the recommended target joint value and other target joint values of the first moving arm 12a, the target pose of the first moving arm 12a is determined. In some embodiments, in response to an interference relationship being formed between the selected target moving arm and other moving arms, step 707 is re-executed. For example, in response to an interference relationship being formed between the first moving arm 12a and the second moving arm 12b, the recommended target joint value of the first moving arm 12a is incremented or decremented by a predetermined adjustment value to adjust the recommended target joint value of the first moving arm 12a.

[0060] In some embodiments, when there are multiple sets of solutions that meet the conditions for the recommended target joint value and other target joint values (e.g., there are multiple sets of target joint values of the first moving arm 12a that meet the conditions), a set of solutions in which each joint of the first moving arm 12a is least likely to interfere with the second moving arm 12b can be selected as the only solution output and used as the target joint value of the first moving arm 12a.

[0061] Figure 8 FIG. 800 is a flowchart of a method for determining a motion path of a moving arm according to some embodiments of the present disclosure. In some embodiments, the method 800 can be used to implement step 507 as shown in Figure 5 and determine the motion path of one or more target moving arms from the initial pose to the target pose based on the interpolation method. The method 800 can be executed by the control device (e.g., the control device 11) of the robot system 10. The control device 11 can be configured on a computing device. The method 800 can be implemented by software, firmware, and / or hardware.

[0062] As Figure 8 shown, for each moving arm, in step 801, determine the joint step of each joint included in the target moving arm. In some embodiments, the process of controlling the target moving arm to move to the target pose may include multiple motion phases. In one implementation, a single motion phase can be 80 ms. In some embodiments, the joint step of each joint can indicate the angle by which the corresponding joint can rotate about its joint axis in each motion phase. For example, the motion step of the target moving arm corresponding to a single motion phase can be preset, where the motion step of the target moving arm can be a set of joint steps of multiple joints of the target moving arm. In some embodiments, the joint step of each joint included in the target moving arm can be determined by a method as shown in Figure 9 and determine the joint step of each joint included in the target moving arm.

[0063] In step 803, based on the joint step of each joint, determine the end pose of the target moving arm in each motion phase. In some embodiments, the end pose of each motion phase among multiple motion phases can be determined by using the interpolation method between the initial pose and the target pose of the target moving arm. For example, select the first moving arm 12a as the target moving arm. When the current motion phase is the first motion phase, the current pose of the first moving arm 12a is the initial pose of the first moving arm 12a. When the current motion phase is not the first motion phase, the initial pose of the first moving arm 12a is the end pose of the previous motion phase.

[0064] Based on the initial pose of the first moving arm 12a and the joint step corresponding to each joint of the first moving arm 12a, determine the end joint value of each joint of the first moving arm 12a in the current cycle. In some embodiments, the end pose of each motion phase can be determined by a method as shown in Figure 10 and determine the end pose of each motion phase.

[0065] In step 805, based on the end pose of each motion phase, it is determined whether an interference relationship will be formed between the target moving arm and other moving arms. For example, based on the end pose of the target moving arm (such as the first moving arm 12a) in the current motion phase, using the constraint relationship in method 500, it is determined whether an interference relationship, such as a collision, will be formed between the first moving arm 12a and other moving arms (such as the second moving arm 12b).

[0066] In step 807, based on the end pose of each motion phase, the motion path of the target moving arm is determined. For example, in response to the fact that no interference relationship is formed between the target moving arm and other moving arms during the process of one or more target moving arms moving from the initial pose to the end pose, the end pose of each motion phase is determined as the motion path. It should be understood that when the target moving arm includes the first moving arm 12a and the second moving arm 12b, in response to no interference relationship being formed between the first moving arm 12a and other moving arms (such as the second moving arm 12b or other moving arms with a close distance), and between the second moving arm 12b and other moving arms (such as the first moving arm 12a or other moving arms with a close distance). For example, the corresponding joints of the target moving arm can be controlled by instructions to move with the joint step length of the corresponding joints.

[0067] In step 809, an alarm message is issued. For example, in response to an interference relationship being formed between one or more target moving arms and other moving arms, an alarm message can be issued. For example, when the first moving arm 12a and the second moving arm 12b are selected as the target moving arms, and the interference model is used to perform interference judgment on the first moving arm 12a and the second moving arm 12b, in response to at least one of the first moving arm 12a and the second moving arm 12b colliding with other moving arms, an alarm message can be issued.

[0068] In some embodiments, method 800 may further include the following steps: determining whether the initial pose of the target moving arm is equal to the target pose of the target moving arm. In response to the initial pose of the target moving arm being less than the target pose of the target moving arm, step 805 is executed. In response to the initial pose of the target moving arm being equal to the target pose of the target moving arm, the motion path planning is ended.

[0069] Figure 9 The flowchart of method 900 for determining the joint step length of each joint included in the target moving arm according to some embodiments of the present disclosure is shown. In some embodiments, method 900 can be used to implement step 801 as shown in Figure 8 to determine the joint step length of each joint included in one or more target moving arms. Method 900 can be executed by the control device (such as control device 11) of the robot system 10. The control device 11 can be configured on a computing device. Method 900 can be implemented by software, firmware, and / or hardware.

[0070] As Figure 9 shown, at step 901, based on the target pose of the target moving arm, determine the difference between the target pose and the initial pose of the target moving arm. For example, the pose of the target moving arm (e.g., the first moving arm 12a) can be represented by a set of joint values of multiple joints included in the first moving arm 12a. The difference between the target pose and the initial pose of the moving arm can be represented by a set of differences between the joint values of the corresponding joints of the moving arm at the target pose and the joint values of the corresponding joints at the initial pose.

[0071] At step 903, based on the difference of each joint in the difference between the target pose and the initial pose of the target moving arm and the extreme values of the joint step lengths of each joint, determine the target joint steps. It should be understood that the joint step length can indicate the angle by which the joint can move around its joint axis in each motion stage. The extreme value of the joint step length can refer to the maximum angle by which each joint can move around its joint axis in each motion stage. For example, based on the difference of each joint in the difference between the target pose and the initial pose of the target moving arm (e.g., the first moving arm 12a) and the extreme values of the joint step lengths of each joint, determine the number of steps of each joint of the first moving arm 12a. The maximum number of steps among the number of steps of each joint can be selected as the target joint steps.

[0072] At step 905, based on the difference of each joint in the difference between the target pose and the initial pose of the target moving arm and the target joint steps, determine the joint step length of each joint of the target moving arm. For example, by dividing the difference of each joint in the difference between the target pose and the initial pose of the first moving arm 12a by the target joint steps, the joint step length of each joint of the first moving arm 12a can be calculated.

[0073] Figure 10 FIG. shows a flowchart of a method 1000 for controlling the movement of a target moving arm in a single motion control loop according to some embodiments of the present disclosure. The method 1000 can be executed by a control device (e.g., the control device 11) of the robot system 10. The control device 11 can be configured on a computing device. The method 1000 can be implemented by software, firmware, and / or hardware.

[0074] As Figure 10 shown, at step 1001, for each motion control loop, determine the current joint value of each joint of the target moving arm. For example, the current joint value of each joint of the target moving arm can be obtained through multiple sensors. It should be understood that for the first motion control loop, the initial joint value of the target moving arm is used as the current joint value. For non-first motion control loops, the current joint value of each joint is the joint value of each joint corresponding to the actual end pose of the previous motion control loop.

[0075] In step 1003, based on the current joint values and joint step sizes of each joint of the target robotic arm, determine the temporary end pose of the target robotic arm in each motion control cycle.

[0076] In some embodiments, optionally, method 1000 may further include step 1005. In step 1005, select one or more joints of the target robotic arm as predetermined joints and set the interpolation value range for the predetermined joints. It should be understood that the interpolation value range can be set based on the end joint values of the predetermined joints in each motion stage. The interpolation value range refers to the value range around the interpolation (e.g., centered on the interpolation), where the interpolation corresponds to the end joint value of each joint in each motion stage. For example, if the target robotic arm includes a first robotic arm 12a and a second robotic arm 12b, one or more joints of the first robotic arm 12a can be selected as predetermined joints, and one or more joints of the second robotic arm 12b can be selected as predetermined joints, and the interpolation value ranges for the end poses of the predetermined joints of the first robotic arm 12a and the second robotic arm 12b in each motion stage are set respectively. It should be understood that the predetermined joints of the first robotic arm 12a and the second robotic arm 12b can be corresponding joints to each other, or can be other non-corresponding joints, and the interpolation value ranges of the predetermined joints can also be different. In some embodiments, the predetermined joints and the interpolation value ranges are determined in advance.

[0077] In step 1007, compare the temporary end joint values corresponding to the predetermined joints of the target robotic arm in the temporary end pose with the interpolation value range of the predetermined joints to determine whether the temporary end joint values fall within the interpolation value range of the predetermined joints.

[0078] In step 1009, use the temporary end pose as the end pose of the target robotic arm in each motion control cycle. For example, in response to the temporary end joint values of the predetermined joints falling within the interpolation value range, use the temporary end pose as the end pose of the target robotic arm in each motion control cycle.

[0079] In some embodiments, in step 1011, compensate the temporary end joint values based on the interpolation value range. In response to the temporary end joint values of the predetermined joints not falling within the interpolation value range, compensate the temporary end joint values based on the interpolation value range so that the temporary end joint values fall within the interpolation value range. For example, in response to the temporary end joint values of the predetermined joints not falling within the interpolation value range, the temporary end joint values can be added or subtracted to compensate the corresponding end joint values.

[0080] In step 1013, based on the compensated temporary end joint values, determine the compensated temporary end pose of the target robotic arm, and use the compensated temporary end pose as the end pose of the target robotic arm in each motion control cycle.

[0081] In some embodiments, optionally, method 1000 may further include step 1015. In step 1015, for each motion control cycle, based on the end pose of the motion control cycle, it may be determined whether an interference relationship will be formed between one or more target robotic arms or with other robotic arms of the plurality of robotic arms.

[0082] In step 1017, in response to an interference relationship being formed between one or more target robotic arms or with other robotic arms of the plurality of robotic arms, control one or more target robotic arms to stop moving or issue an alarm message.

[0083] In some embodiments, method 1000 may further include step 1019. In step 1019, in response to an interference relationship not being formed between one or more target robotic arms or with other robotic arms of the plurality of robotic arms, control one or more target robotic arms to move to the end pose of the motion phase. For example, for each motion control cycle, in response to an interference relationship not being formed between one or more target robotic arms or with other robotic arms of the plurality of robotic arms, control one or more target robotic arms to move from the current pose to the end pose to complete the current motion control cycle until one or more target robotic arms move to the target pose.

[0084] Figure 11 The architecture schematic diagram of the control device 11 included in the robot system 10 according to an embodiment of the present disclosure is shown. In some embodiments, as Figure 11 shown, the control device 11 may include an input device 113, an output device 114, one or more memories 112, one or more processors 111, and a communication interface 115. In some embodiments, the control device 11 may also not include an output device.

[0085] In some embodiments, the input device 113 may include, but is not limited to, devices such as buttons, keyboards, touchscreens, microphones, etc. The input device may be configured to directly receive operation commands from a user, or receive operation instructions from the user such that the control device can obtain specific operation commands based on the operation instructions. The operation commands may include, for example, a command for the second end arm 128b to move while maintaining the end relative pose relationship with the first end arm 128a unchanged. In some embodiments, the input device 113 may also be used to receive setting information from the user, such as setting information of the current surgical type, the configuration of the auxiliary connection device, the relative pose model, etc.

[0086] In some embodiments, the output device 114 may include, but is not limited to, a display, a speaker, and an indicator light, etc., which may be configured to indicate the states of the various components of the robot system 10, output error alarm signals, and so on.

[0087] In some embodiments, a computer program executable on the processor 111 may be stored in the memory 112. When the processor 111 executes the computer program, the control method described in the above embodiments is implemented. The number of the memory 112 and the processor 111 may be one or more. The communication interface 115 is used for communicating between the control device 11 (e.g., the processor 111 of the control device 11) and an external device. In the present disclosure, the control device 11 may communicate with motors disposed in respective joints of each moving arm (e.g., the first moving arm 12a and the second moving arm 12b) through the communication interface 115, so as to instruct each moving arm to move to a corresponding target position. The control device 11 may also communicate with sensors at respective joints of the moving arm through the communication interface 115 to receive joint values of the respective joints of the moving arm. In an example of the present disclosure, the communication interface 115 may be a CAN bus communication interface, which enables the control device 11 to connect and communicate with the motors and sensors disposed in each joint through the CAN bus.

[0088] As Figure 11 shown, the input device 113, the output device 114, the memory 112, the processor 111, and the communication interface 115 may be interconnected through a bus to complete communication with each other. The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Component (EISA) bus, or the like.

[0089] In some embodiments, the processor 111 may be various types of general-purpose processors such as a central processing unit (CPU) and a digital signal processor (DSP), which are not limited herein.

[0090] In some embodiments, the control device 11 may be integrated with the base 131 and located inside the base 131 (e.g., below the base 131) to save space. However, in practical applications, the control device 11 may also be separately provided from the base 131, or a part of the control device 11 may be integrated with the base 131 and another part may be separated from the base 131. Or the control device 11 may also adopt other setting manners, communicate with each moving arm, and be capable of controlling each moving arm.

[0091] In some embodiments, the present disclosure provides a computer-readable storage medium, which may include at least one instruction, and the at least one instruction is executed by a processor to configure the processor to execute the control method in any of the above embodiments.

[0092] In some embodiments, the present disclosure provides a computer system, which may include a non-volatile storage medium and at least one processor. The non-volatile storage medium may include at least one instruction. The processor is configured to execute the at least one instruction to perform the control method in any of the above embodiments.

[0093] In some embodiments, a computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. The computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any combination of the foregoing.

[0094] In some embodiments, the computer-readable storage medium may include, but is not limited to: a portable computer disk, a hard disk, a read-only memory (ROM), a random access memory (RAM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory or other solid-state memory technologies, a CD-ROM, a digital versatile disk (DVD), an HD-DVD, a Blu-ray or other optical storage devices, a magnetic tape, a magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the required information and can be accessed by a computer, on which computer-executable instructions are stored. When the computer-executable instructions run in a machine (such as a computer device), the machine executes the control method of the present disclosure. It should be understood that the computer device may include a personal computer, a server, or a network device, etc.

[0095] Some embodiments of the present disclosure can help optimize the positioning of the robotic arms during preoperative preparation. The target pose of other robotic arms can be calculated based on the real-time pose of one robotic arm and the robotic arm can be moved to the target pose, so as to achieve a preoperative positioning process with a high degree of automation.

[0096] In some embodiments of the present disclosure, after the target pose of other robotic arms is calculated in real time, it is also possible to prevent interference of the robotic arms during movement in a specific planning manner, so that the robotic arm can accurately, quickly and safely reach the target position, thereby achieving an efficient and safe preoperative preparation for surgery.

[0097] In some embodiments of the present disclosure, the ends of multiple robotic arms move in an integral manner and can maintain the relative pose relationship of the ends of the multiple robotic arms unchanged during movement, so as to quickly and accurately achieve the movement of the multiple robotic arms. During the operation, through the integral movement of the multiple robotic arms, it is also possible to quickly adjust the pose of the surgical instruments installed on the multiple robotic arms, which can reduce the operation difficulty of the user (such as a doctor) and improve the work efficiency during preoperative or intraoperative periods.

[0098] Note that the above are only exemplary embodiments of the present disclosure and the technical principles applied. Those skilled in the art will understand that the present disclosure is not limited to the specific embodiments here, and various obvious changes, re-adjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the present disclosure. Therefore, although the present disclosure has been described in more detail through the above embodiments, the present disclosure is not limited to the above embodiments only. Without departing from the concept of the present disclosure, more other equivalent embodiments can be included, and the scope of the present disclosure is determined by the scope of the appended claims.

Claims

1. A control method for a robot system, the robot system including a plurality of moving arms, the control method comprises: Based on an operation command, selecting one or more of the plurality of moving arms of the robot system as target moving arms; Determining an initial pose of one or more of the target moving arms; Based on the operation command and the initial pose of one or more of the target moving arms, determining a target pose of one or more of the target moving arms; And Based on an interpolation method, determining a movement path of one or more of the target moving arms from the initial pose to the target pose, the movement path including at least one movement stage; Based on the operation command and the initial pose of one or more of the target moving arms, determining a target pose of one or more of the target moving arms includes: Based on the operation command and the initial pose of one or more of the target moving arms, determining a target pose of the end of one or more of the target moving arms; and Based on the target pose of the end of one or more of the target moving arms and an inverse kinematics model, determining a target pose of one or more of the target moving arms; Based on the target pose of the end of one or more of the target moving arms and an inverse kinematics model, determining a target pose of one or more of the target moving arms includes: For each target moving arm, Selecting one of the plurality of joints as a characteristic joint; Setting a recommended target joint value of the characteristic joint; and Based on the target pose of the end and the recommended target joint value, determining other target joint values; The characteristic joint is a joint among the plurality of joints of the target moving arm that is prone to collision with an adjacent moving arm.

2. The control method according to claim 1, wherein, further comprises: Based on a constraint relationship, for each movement stage, determining whether an interference relationship will be formed among the plurality of target moving arms, or whether an interference relationship will be formed between one or more of the target moving arms and other moving arms of the plurality of moving arms.

3. The control method according to claim 2, wherein, The constraint relationship includes at least one of the following: The relative position order relationship between the target moving arm and other moving arms of the plurality of moving arms conforms to a predetermined relative position order relationship; The distance between a predetermined point associated with the target moving arm and a predetermined point associated with one or more moving arms corresponding to the target moving arm is greater than a predetermined safety distance; The distance between a predetermined line segment associated with the target moving arm and a predetermined line segment associated with one or more moving arms corresponding to the target moving arm is greater than a predetermined safety distance; Or The difference between the joint values of one or more joints of the target moving arm and the joint values of the corresponding joints of one or more moving arms corresponding to the target moving arm is greater than a predetermined safety value.

4. The control method according to claim 1, wherein, The target pose of the end of the target moving arm includes one of the following: The target position and target attitude of the end arm of the target moving arm; The target position and target attitude of the remote center of motion mechanism (RCM mechanism) of the target moving arm; Or The target position and target pose of the end of the target moving arm for connection with the auxiliary connection device.

5. The control method according to claim 1, wherein, further comprising: For each target moving arm, judging whether the other target joint values are within the joint motion range of the corresponding joints; and in response to at least one of the other target joint values not being within the joint motion range of the corresponding joint, incrementing or decrementing the recommended target joint value by a predetermined adjustment value to adjust the recommended target joint value.

6. The control method according to claim 5, wherein, in response to all of the other target joint values being within the joint motion range of the corresponding joints, determining the target pose of the selected target moving arm based on the recommended target joint value and the other target joint values.

7. The control method according to any one of claims 1-6, wherein, the operation command is input by the user through the user interface for controlling the movement of the target moving arm.

8. The control method according to any one of claims 1-6, wherein, the operation command is input by the user through the user interface for controlling the overall movement of multiple target moving arms.

9. The control method according to any one of claims 1-6, wherein, determining the movement path of one or more of the target moving arms from the initial pose to the target pose based on the interpolation method includes: for each target moving arm, determining the joint step size of each joint included in the target moving arm; based on the joint step size of each joint, determining the end pose of the target moving arm at each movement stage; based on the end pose of each movement stage, determining the movement path of the target moving arm.

10. The control method according to claim 9, wherein, determining the joint step size of each joint included in the target moving arm includes: based on the initial pose and the target pose of the target moving arm, determining the difference between the target pose and the initial pose; based on the difference corresponding to each joint in the difference and the joint step size extreme values of each joint, determining the number of steps of each joint of the target moving arm; selecting the maximum number of steps among the number of steps of each joint as the target joint number of steps; and based on the difference of each joint in the difference of the target moving arm and the target joint number of steps, determining the joint step size of each joint.

11. The control method according to any one of claims 1-6, wherein, further comprising: based on the movement path, controlling one or more of the target moving arms to move from the initial pose to the target pose through at least one motion control loop, the at least one motion control loop corresponding to the at least one movement stage.

12. The control method according to claim 11, wherein, further comprising: for each motion control loop, determining the current joint value of each joint of the target moving arm; based on the current joint value of each joint of the target moving arm and the joint step size, determining the temporary end pose of the target moving arm in each motion control loop; Compare the temporary end joint values of the predetermined joints corresponding to the target moving arm in the temporary end pose with a predetermined joint interpolation range; and In response to the temporary end joint values of the predetermined joints falling within the interpolation range, use the temporary end pose as the end pose of the target moving arm in each motion control cycle.

13. The control method according to claim 12,[[]]END]] wherein,[[]]END]] it further includes:[[]]END]] In response to the temporary end joint values of the predetermined joints not being within the interpolation range, compensate the temporary end joint values based on the interpolation range so that the temporary end joint values fall within the interpolation range; and Based on the compensated temporary end joint values, determine the compensated temporary end pose of the target moving arm as the end pose of the target moving arm in each motion control cycle.

14. The control method according to claim 13,[[]]END]] wherein,[[]]END]] it further includes:[[]]END]] For each motion control cycle,[[]]END]] Based on the end pose of each motion control cycle, determine whether an interference relationship will be formed between multiple target moving arms, or whether an interference relationship will be formed between one or more of the target moving arms and other moving arms of the multiple moving arms; and In response to an interference relationship being formed between multiple target moving arms, or an interference relationship being formed between one or more of the target moving arms and other moving arms of the multiple moving arms, control one or more of the target moving arms to stop moving or issue an alarm message.

15. The control method according to claim 14,[[]]END]] wherein,[[]]END]] In response to no interference relationship being formed between multiple target moving arms, or no interference relationship being formed between one or more of the target moving arms and other moving arms of the multiple moving arms, control one or more of the target moving arms to move to the end pose of the motion stage.

16. A robot system,[[]]END]] comprising:[[]]END]] Multiple moving arms; and A control device configured to execute the control method according to any one of claims 1-15.

17. The robot system according to claim 16,[[]]END]] wherein,[[]]END]] The robot system further includes an auxiliary connection device, and the auxiliary connection device includes a plurality of sheaths, and the plurality of sheaths can be respectively connected to the ends of the plurality of moving arms.

18. A computer-readable storage medium, including one or more instructions, the instructions being executed by a processor to execute the control method according to any one of claims 1-15.

19. A computer system,[[]]END]] comprising:[[]]END]] A memory for storing at least one instruction; and A processor configured to execute the at least one instruction to execute the control method according to any one of claims 1-15.

Citation Information

Patent Citations

  • Medical Manipulator System

    CN107427328A

  • Integrated dual seven-freedom-degree mechanical arm omnidirectional mobile robot system and control method

    CN109397244A