Robotic position determination method, apparatus, and surgical robotic system
By acquiring the relative positional relationship between the robot's end effector and base, and the relative positional relationship between the target workspace, and combining the weighted index values, the target position of the surgical robot is determined, thus solving the problem of inaccurate robot position determination and improving the operability and precision of the surgical robot.
Patent Information
- Application Number
- CN202311089373.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-25
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2043-08-25
AI Technical Summary
In existing technologies, the accuracy of surgical robot positioning is not high, resulting in insufficient operability during surgery.
By acquiring the relative positional relationship between the end effector space and the base, as well as the relative positional relationship between the target workspace and the base, and using weighted joint boundary, end effector collision, and joint singular configuration index values, the target position of the robot is determined and its movement is controlled.
This improves the accuracy and operability of the robot's positioning, ensuring that the surgical robot can be accurately positioned before surgery, thereby enhancing the operability and precision of the surgical procedure.
Smart Images

Figure CN119498950B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robots, in particular to a robot position determination method and device and a surgical robot system. BACKGROUND
[0002] With the development of robot technology, in the process of surgical treatment, surgical robots are usually widely used as main auxiliary tools in preoperative planning, intraoperative guidance and operation.
[0003] Before applying a surgical robot to a medical operation, the robot usually needs to be placed in a suitable position to ensure that the working space of the robot arm is adapted to the operation space, so as to improve the operability of the robot in the process of assisting the operation. The existing planning method usually determines the position of the robot by experience and feeling, and the accuracy of the robot position determination is not high. SUMMARY
[0004] Therefore, it is necessary to provide a robot position determination method, device and surgical robot system capable of improving the accuracy of the robot position.
[0005] In a first aspect, the present application provides a robot position determination method applied to a robot, the robot comprising a base and a robot arm mounted on the base, the robot arm comprising an end effector and a plurality of joints, the method comprising:
[0006] obtaining a first relative position relationship between an end effector activity space of the end effector and the base;
[0007] obtaining a second relative position relationship between a target working space and the base;
[0008] determining a target position of the robot based on the first relative position relationship and the second relative position relationship, and controlling the robot to move to the target position.
[0009] In one embodiment, before obtaining the first relative position relationship between the end effector activity space of the end effector and the base, the method comprises:
[0010] obtaining an original activity space of the end effector; the original activity space comprises a plurality of original pose point clouds, the original pose point clouds being obtained through corresponding joint value sets, the joint value sets being obtained through joint values of the plurality of joints;
[0011] determining an operable index for the end effector according to the joint value sets, and screening the original pose point clouds according to the operable index to obtain target pose point clouds of the end effector;
[0012] determining the end effector activity space of the end effector according to the target pose point clouds of the end effector.
[0013] In one of the embodiments, the operable index of the end effector is determined according to the set of joint values, comprising:
[0014] The current set of joint values is obtained from the plurality of sets of joint values; the current set of joint values is any one of the plurality of sets of joint values;
[0015] The joint boundary index value, the end effector collision index value and the joint singularity configuration index value corresponding to the current set of joint values are confirmed;
[0016] The first index weight corresponding to the joint boundary index value, the second index weight corresponding to the end effector collision index value and the third index weight corresponding to the joint singularity configuration index value are obtained;
[0017] The joint boundary index value, the end effector collision index value and the joint singularity configuration index value are respectively weighted according to the first index weight, the second index weight and the third index weight;
[0018] The smallest index value among the weighted joint boundary index value, the weighted end effector collision index value and the weighted joint singularity configuration index value is taken as the operable index of the end effector.
[0019] In one of the embodiments, the joint boundary index value is confirmed, comprising:
[0020] The current joint value corresponding to the current joint and the current joint boundary value are obtained from the current set of joint values; the current joint is any one of the joints of the robot arm; the current joint boundary value is the boundary value of the joint range corresponding to the current joint;
[0021] The difference degree between the current joint value and the current joint boundary value is determined;
[0022] The joint boundary index value is obtained according to the difference degree.
[0023] In one of the embodiments, the difference degree between the current joint value and the current joint boundary value is determined, comprising:
[0024] The joint maximum value and the joint minimum value contained in the current joint boundary value are obtained;
[0025] The boundary difference value between the joint maximum value and the joint minimum value is obtained;
[0026] The first difference value between the joint maximum value and the current joint value, and the second difference value between the current joint value and the joint minimum value are obtained;
[0027] The difference degree is determined based on the boundary difference value, the first difference value and the second difference value.
[0028] In one of the embodiments, the end effector collision index value is confirmed, comprising:
[0029] Obtain pose information of the plurality of mechanical arm links and the end effector based on the current joint value set; wherein the mechanical arm link is a link between two joints;
[0030] Determine relative distances between the plurality of mechanical arm links and the preset virtual collision model and between the end effector and the preset virtual collision model according to the pose information of the plurality of mechanical arm links and the end effector; the virtual collision model is a virtual model of an object that has a collision risk with the mechanical arm;
[0031] Obtain an end effector collision index value corresponding to the current joint value set according to the relative distances and a preset collision distance threshold.
[0032] In one of the embodiments, obtaining an end effector collision index value corresponding to the current joint value set according to the relative distances and a preset collision distance threshold comprises:
[0033] Obtaining a collision index value corresponding to each relative distance according to a ratio of the relative distance and the collision distance threshold;
[0034] Taking a minimum collision index value in the plurality of collision index values as the end effector collision index value corresponding to the current joint value set.
[0035] In one of the embodiments, confirming the joint singularity configuration index value comprises:
[0036] Obtaining a Jacobian matrix for the current joint value set;
[0037] Obtaining a singular value corresponding to the current joint value set based on the current joint value set and the Jacobian matrix;
[0038] Obtaining the joint singularity configuration index value corresponding to the current joint value set according to the singular value.
[0039] In one of the embodiments, determining the end effector working space of the end effector according to the target pose point cloud of the end effector comprises:
[0040] Determining a candidate working space of the end effector according to the target pose point cloud of the end effector, the candidate working space comprising a plurality of candidate pose point clouds;
[0041] Obtaining distance and angle intervals between the candidate pose point clouds;
[0042] Clustering the candidate pose point clouds according to the distance and a preset distance threshold, the angle interval and a preset angle interval threshold;
[0043] Determining the end effector working space of the end effector according to the plurality of candidate pose point clouds obtained by clustering.
[0044] In one of the embodiments, determining the candidate working space of the end effector according to the target pose point cloud of the end effector comprises:
[0045] obtain a plurality of joint ranges respectively corresponding to the plurality of joints, and form a maximum joint value set and a minimum joint value set;
[0046] obtain a plurality of joint value sets respectively corresponding to the plurality of joints;
[0047] If the operable index corresponding to the target pose point cloud satisfies a first preset condition, and the joint value set corresponding to the target pose point cloud satisfies a second preset condition, the target pose point cloud is taken as a candidate pose point cloud; the first preset condition is used to represent that the operable index is less than or equal to a preset operable index threshold; the second preset condition is used to represent that the joint value set is greater than or equal to the minimum joint value set, and the joint value set is less than or equal to the maximum joint value set;
[0048] Based on the candidate pose point cloud, a candidate active space of the end is generated.
[0049] In one of the embodiments, an original active space of the end is obtained, including:
[0050] obtain a plurality of joint ranges respectively corresponding to the plurality of joints, and form a maximum joint value set and a minimum joint value set;
[0051] Based on the plurality of joint value sets, a plurality of original pose point clouds corresponding to the plurality of joint value sets are generated;
[0052] Based on the plurality of original pose point clouds, the original active space of the end is obtained.
[0053] In one of the embodiments, based on the first relative position relationship and the second relative position relationship, the target position of the robot is determined, including:
[0054] According to the first relative position relationship and the second relative position relationship, a movement vector for indicating control of a position change of the robot is determined, and the target position of the robot is determined;
[0055] After the target position of the robot is determined, the robot is controlled to move to the target position.
[0056] In a second aspect, the application further provides a robot position determination device applied to a robot, the robot including a base and a mechanical arm mounted on the base, the mechanical arm including an end and a plurality of joints, and the device including:
[0057] a first relationship obtaining module, configured to obtain a first relative position relationship between an end active space of the end and the base;
[0058] a second relationship obtaining module, configured to obtain a second relative position relationship between a target working space and the base;
[0059] a target position determining module configured to determine a target position of the robot based on the first relative position relationship and the second relative position relationship, and control the robot to move to the target position.
[0060] In a third aspect, the present application provides a surgical robot system. The surgical robot system comprises a memory and a processor, the memory stores a computer program, and the processor implements the steps of the method described above when executing the computer program.
[0061] The robot position determining method, device and surgical robot system described above are applied to a robot, the robot comprising a base and a mechanical arm mounted on the base, the mechanical arm comprising an end and a plurality of joints, the first relative position relationship between the end activity space of the end and the base is obtained, and the second relative position relationship between the target working space and the base is obtained; in this way, the target position of the robot can be accurately determined based on the first relative position relationship between the end activity space of the end and the base of the robot and the second relative position relationship between the target working position of the end and the base of the robot, so that the positioning information of the robot can be accurately and effectively determined, and the operability of the robot can be improved. BRIEF DESCRIPTION OF DRAWINGS
[0062] Figure 1 A flowchart of a robot position determining method in an embodiment;
[0063] Figure 2 A flowchart of the steps before obtaining the first relative position relationship between the end activity space of the end and the base in an embodiment;
[0064] Figure 3 A flowchart of the step of confirming the joint boundary index value in an embodiment;
[0065] Figure 4 A flowchart of the step of confirming the end collision index value in an embodiment;
[0066] Figure 5a A schematic diagram of the end activity space obtained by clustering in an embodiment;
[0067] Figure 5b A schematic diagram of the end activity space obtained by clustering in another embodiment;
[0068] Figure 6a A schematic diagram of the original activity space in an embodiment;
[0069] Figure 6b A schematic diagram of the end activity space in an embodiment;
[0070] Figure 7A structural schematic diagram of a preoperative positioning guide interface in an embodiment;
[0071] Figure 8 A structural schematic diagram of a robot system in an embodiment;
[0072] Figure 9 A preoperative positioning guide process method of a robot in an embodiment;
[0073] Figure 10a A schematic diagram of the conversion relationship of multiple different coordinate systems in an embodiment;
[0074] Figure 10b A schematic diagram of the direction-distance relationship in an embodiment;
[0075] Figure 11 A structural block diagram of a robot position determination apparatus in an embodiment;
[0076] Figure 12 An internal structural diagram of a computer device in an embodiment. DETAILED DESCRIPTION
[0077] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and not to limit the present application.
[0078] Due to the requirements of clinical surgical precision and stability, surgical robots are widely used as main auxiliary tools in preoperative planning, intraoperative guidance and operation. Since the motion reach range of the robot itself is limited by the joints, and the configuration in the reachable space is different, the motion performance and operability are also different. When the robot moves to the joint boundary or singular configuration during the operation, the ability in each motion direction will be greatly reduced, thereby seriously affecting the operation process and results. Therefore, before the operation, the operation space and the relative position of the space and the robot will be planned according to the motion range of the robot, so as to improve the operability of the robot in the auxiliary operation process. The existing planning method usually determines the position information of the robot according to experience and feeling. Since there are many factors affecting the operability of the robot, the existing robot position determination method cannot guarantee that the robot can smoothly complete the auxiliary work in the working space, resulting in low operability of the robot in the operation process.
[0079] Based on the above reasons, the applicant provides a robot position determination method, apparatus and surgical robot system capable of improving the accuracy of the robot position.
[0080] In an embodiment, as Figure 1As shown, a robot position determination method is provided, applied to a robot, the robot comprising a base and a mechanical arm mounted on the base, the mechanical arm comprising a terminal end and a plurality of joints. The embodiment takes the method applied to the terminal end as an example, and the terminal end is taken as an execution subject. It can be understood that the method can also take a server as an execution subject, and can also take a system comprising a terminal and a server as an execution subject, and be realized through interaction between the terminal and the server.
[0081] The method comprises the following steps:
[0082] S102, acquiring a first relative position relationship between a terminal activity space of the terminal end and the base.
[0083] The terminal end can be the terminal end of the mechanical arm of the robot. The terminal end can carry a working instrument to assist the robot in working during a surgical process. The base can be a mobile component for carrying the robot, and can be used to move the robot for positioning. The first relative position relationship can be a relative position relationship between the terminal activity space of the mechanical arm and the base of the robot, for example, the center position of the terminal activity space of the mechanical arm can be position A, and the position of the base of the robot can be position B, and the first relative position relationship can be the relative position between position A and position B.
[0084] Exemplarily, the terminal activity space of the terminal end of the mechanical arm can be acquired. For example, the space in which the terminal end of the mechanical arm can move can be obtained as the terminal activity space through an activity index of the terminal end of the mechanical arm. As an example, the activity index of the terminal end of the mechanical arm can be determined through the joints of the mechanical arm, for example, if the mechanical arm comprises 7 joints, the activity index of the terminal end of the mechanical arm can be determined based on the 7 joints.
[0085] The terminal activity space and the base can be converted to the same coordinate system, and the relative position relationship between the terminal activity space of the terminal end and the base in the same coordinate system can be further determined as the first position relationship.
[0086] S104, acquiring a second relative position relationship between a target working space and the base.
[0087] The target working space can be a collection of target working positions of the terminal end of the mechanical arm, and the target working space can be a space in which the terminal end of the mechanical arm needs to work (move). The second relative position relationship can be a relative relationship between the position of the target working space and the position of the base.
[0088] Exemplarily, a space of a work activity required by an end of a mechanical arm of the robot before surgery can be determined as a target work space, and a position of the target work space can be determined. Meanwhile, a position where a base of the robot is located before surgery can be determined. A relative position relationship between the target work space and the base can be acquired as a second relative position relationship based on the position of the target work space and the position where the base of the robot is located.
[0089] S106, based on the first relative position relationship and the second relative position relationship, determining a target position of the robot to control movement of the robot to the target position.
[0090] The target position can be a target position where the robot needs to be placed, for example, the robot can be moved to the target position to achieve positioning of the robot.
[0091] Exemplarily, the target position of the robot can be determined through the first relative position relationship between the end activity space and the base and the second relative position relationship between the target work space and the base. For example, the position information where the robot needs to be positioned can be determined through the end activity space, the target work space, and the current position of the robot. As an example, the end activity space of the mechanical arm can be taken as the expected target work space, and the target position of the base of the robot can be determined based on the first relative position relationship between the end activity space and the base and the position information where the target work space is located. Further, the robot can be controlled to move to the target position to achieve accurate preoperative positioning of the robot, and the operability of the robot can be improved.
[0092] In the embodiment, the robot includes a base and a mechanical arm installed on the base, and the mechanical arm includes an end and multiple joints. The first relative position relationship between the end activity space of the end and the base is acquired, and the second relative position relationship between the target work space and the base is acquired. In this way, the target position of the robot can be accurately determined based on the first relative position relationship between the movable space of the end and the base of the robot and the second relative position relationship between the target work position of the end and the base of the robot, so that the positioning information of the robot can be accurately and effectively determined, and the operability of the robot can be improved.
[0093] In one embodiment, as shown in Figure 2 Before acquiring the first relative position relationship between the end activity space of the end and the base, the method includes:
[0094] S202, acquiring an original activity space of the end; the original activity space includes multiple original pose point clouds, and the original pose point cloud is obtained through a corresponding joint value set, and the joint value set is obtained through joint values of multiple joints.
[0095] The original activity space can be an initial space in which the end of the robot arm can move or work. The original pose point cloud can be a pose point cloud contained in the original activity space, and the original activity space can be obtained according to a plurality of original pose point clouds. The original pose point cloud can be obtained by a corresponding joint value set. The joint value set can be a joint value corresponding to a plurality of joints; for example, the robot arm can include 7 joints, and the joint value set can include 7 joint values corresponding to the 7 joints, respectively. The joint value of a joint can be any value in the joint value range corresponding to the joint. One joint value set can obtain a joint configuration of the robot arm.
[0096] Exemplarily, the joint value of each joint can be randomly generated within the joint value range specified for the joint based on the Monte Carlo method. The joint value range corresponding to each joint can be the same or different, or partially the same. A joint value set can be obtained based on each set of randomly generated joint values; each set of joint values should include a joint value corresponding to each joint; for example, if there are 7 joints, each set of joint values includes 7 randomly generated joint values corresponding to the 7 joints, respectively, i.e., the 7 randomly generated joint values correspond to the 7 joints one-to-one, and a joint value set can be obtained based on the 7 joint values.
[0097] A plurality of original pose point clouds can be obtained based on a plurality of joint value sets. Further, the original activity space corresponding to the end of the robot arm can be obtained according to the plurality of original pose point clouds. At this time, the original activity space can be an activity space obtained only by limiting the joint value range of each joint. The original activity space can be further limited to obtain an end activity space with high operability of the end of the robot arm, thereby improving the accuracy of the position of the robot.
[0098] S204, determining an operable index for the end according to each joint value set, and screening the original pose point cloud according to the operable index to obtain a target pose point cloud of the end.
[0099] The operable index can be an index for constraining the operation space of the end of the robot arm. The target pose point cloud can be a pose point cloud that satisfies the operability index of the end after screening.
[0100] Exemplarily, for each joint value set, the operable index corresponding to the joint value set can be determined according to the plurality of joint values contained in the joint value set, and if the operable index corresponding to the joint value set satisfies a pre-set index condition, the original pose point cloud corresponding to the joint value set can be taken as the target pose point cloud.
[0101] Optionally, the plurality of joint value sets can be filtered based on the operable indexes corresponding to the plurality of joint value sets respectively, and a joint value set satisfying a preset operable index condition can be taken as a target joint value set, and an original pose point cloud corresponding to the target joint value set can be taken as a target pose point cloud of the end effector. The operable index condition can be a condition preset for the operable index.
[0102] In S206, an end effector workspace of the end effector can be determined according to the target pose point cloud of the end effector.
[0103] For example, the end effector workspace of the end effector can be formed based on the target pose point cloud of the end effector. The target pose point cloud included in the end effector workspace can satisfy the preset operable index condition.
[0104] In this embodiment, an original workspace of the end effector is obtained, and the original pose point cloud included in the original workspace is filtered according to the operable index to obtain the target pose point cloud of the end effector, so as to determine the end effector workspace of the end effector. In this way, the target pose point cloud is filtered from the original workspace based on the operable index, so as to ensure the operability of the robot, thereby ensuring the accuracy of the position of the robot.
[0105] In one embodiment, the operable index for the end effector is determined according to the plurality of joint value sets, including:
[0106] A current joint value set is obtained from the plurality of joint value sets, and the current joint value set is any one of the plurality of joint value sets.
[0107] For example, one joint value set is determined from the plurality of joint value sets as the current joint value set. For any joint value set, the corresponding operable index can be obtained by using the embodiments provided in the present application.
[0108] For example, one joint value set is determined from the plurality of joint value sets as the current joint value set. For any joint value set, the corresponding operable index can be obtained by using the embodiments provided in the present application.
[0109] The joint boundary index value, the end effector collision index value, and the joint singularity configuration index value corresponding to the current joint value set are determined.
[0110] For example, one joint value set is determined from the plurality of joint value sets as the current joint value set. For any joint value set, the corresponding operable index can be obtained by using the embodiments provided in the present application.
[0111] Exemplarily, the joint boundary index value corresponding to the current joint value set, the end collision index value corresponding to the current joint value set and the joint singularity configuration index value corresponding to the current joint value set can be determined through the plurality of joint values contained in the current joint value set.
[0112] The first index weight corresponding to the joint boundary index value, the second index weight corresponding to the end collision index value and the third index weight corresponding to the singularity configuration index value are acquired.
[0113] The first index weight can be an index weight pre-set for the joint boundary index value. The second index weight can be an index weight pre-set for the end collision index value. The third index weight can be an index weight pre-set for the singularity configuration index value.
[0114] The joint boundary index value, the end collision index value and the joint singularity configuration index value are respectively weighted according to the first index weight, the second index weight and the third index weight.
[0115] Exemplarily, the joint boundary index value can be weighted by using the first index weight to obtain a weighted joint boundary index value, the end collision index value can be weighted by using the second index weight to obtain a weighted end collision index value, and the joint singularity configuration index value can be weighted by using the third index weight to obtain a weighted joint singularity configuration index value.
[0116] The smallest index value among the weighted joint boundary index value, the weighted end collision index value and the weighted joint singularity configuration index value is taken as the operable index of the end.
[0117] Exemplarily, the smallest index value can be acquired from the weighted joint boundary index value, the weighted end collision index value and the weighted joint singularity configuration index value, and the smallest index value is taken as the operable index of the end of the manipulator corresponding to the current joint value set.
[0118] In one of the embodiments, the operable index of the end corresponding to the current joint value set can be determined according to the following expression (1):
[0119] KCI(q)=min(a×KCI JntLimit (q),b×KCI Singular (q),c×KCI Collision (q)(1)
[0120] KCI(q) is the operable index of the end corresponding to the current joint value set q; KCI JntLimit (q) is the joint boundary index value of the current joint value set q; a is the first index weight; KCI Singular(q) is the joint singularity configuration index value of the current joint value set q; b is the second index weight; KCI Collision (q) is the end collision index value of the current joint value set q; c is the third index weight.
[0121] Optionally, the range of KCI(q) can be [0, 1], KCI(q) = 0 indicates that the robot is in one or more of the above three situations in the joint configuration q of the current joint value set, at this time the operability of the robot is most limited, the closer KCI(q) is to 1, the higher the comprehensive operability of the robot is.
[0122] Optionally, the configuration of the robot in the workspace can be constrained according to the auxiliary surgery requirements, and the constraint range can be specified for the redundancy angle of the seven-degree-of-freedom robot arm.
[0123] In the embodiment, the joint boundary index value, the end collision index value and the joint singularity configuration index value are weighted according to the first index weight, the second index weight and the third index weight. The smallest index value among the weighted joint boundary index value, the end collision index value and the joint singularity configuration index value is taken as the operability index of the end. In this way, the smallest index value is taken as the operability index from the multiple weighted index values, which can effectively limit the range of the end of the robot arm, thereby improving the operability of the end of the robot arm, and effectively obtaining the positioning information of the robot to improve the accuracy of the position of the robot.
[0124] In one embodiment, as shown in Figure 3 the joint boundary index value is confirmed, including:
[0125] S302, obtaining the current joint value corresponding to the current joint and the current joint boundary value from the current joint value set; the current joint is any joint of the robot arm; the current joint boundary value is the boundary value of the joint range corresponding to the current joint;
[0126] S304, determining the difference degree of the current joint value and the current joint boundary value;
[0127] S306, obtaining the joint boundary index value according to the difference degree.
[0128] The current joint can be any joint of the robot arm. The current joint value can be a joint value of the current joint in the current joint value set. The current joint boundary value can be a boundary value of a joint range corresponding to the current joint; the current joint boundary value can be a maximum angle or a minimum angle that the joint of the robot arm can reach. The current joint boundary value can include an upper joint boundary value and a lower joint boundary value; the upper joint boundary value can be a maximum angle or a minimum angle that the joint of the robot arm can reach, and the lower joint boundary value can be a minimum angle or a maximum angle that the joint of the robot arm can reach. The current joint boundary value can be a boundary value determined by the design of the joint of the robot arm. The specific upper limit or lower limit depends on the design and structure of the robot arm, and the upper limit or lower limit of different types of joints of the robot arm can be different. Generally, the upper limit or lower limit of the joint of the robot arm is determined according to the purpose and working requirement of the robot arm during design, so as to ensure that the robot arm can complete the required action and task.
[0129] The difference degree can be a difference value between the current joint value and the current joint boundary value. The difference value can be a variance, a difference value, etc.
[0130] Exemplarily, the current joint value corresponding to each joint and the boundary value of the joint range corresponding to each joint can be determined from the current joint value set. The difference degree between each current joint value and the corresponding joint boundary value can be determined as the difference degree corresponding to each joint. The joint boundary index value of the current joint value set can be obtained according to the difference degree corresponding to each joint. For example, the difference degrees corresponding to each joint can be averaged to obtain the joint boundary index value of the current joint value set.
[0131] In the embodiment, the difference degree between the joint value of each joint in the current joint value set and the joint boundary value of the joint can be determined; further, the joint boundary index value of the current joint value set can be determined based on the difference degree of each joint, so that the end activity space of the robot arm can be effectively constrained, thereby improving the operability of the robot, and the positioning of the robot can be accurately determined, thereby improving the accuracy of the position of the robot.
[0132] In one embodiment, determining the difference degree between the current joint value and the current joint boundary value comprises:
[0133] Obtaining a joint maximum value and a joint minimum value contained in the current joint boundary value;
[0134] Obtaining a boundary difference value between the joint maximum value and the joint minimum value;
[0135] Obtaining a first difference value between the joint maximum value and the current joint value, and a second difference value between the current joint value and the joint minimum value;
[0136] determine the difference degree based on the boundary difference value, the first difference value and the second difference value.
[0137] The joint maximum value can be a maximum angle or position that the current joint can reach. The joint minimum value can be a minimum angle or position that the current joint can reach. The boundary difference value can be a difference between the joint maximum value and the joint minimum value. The first difference value can be a difference between the joint maximum value that the current joint can reach and the joint value of the current joint in the current joint value set. The second difference value can be a difference between the joint value of the current joint in the current joint value set and the joint minimum value that the current joint can reach.
[0138] Exemplarily, the joint maximum value and the joint minimum value are included in the current joint boundary value. A difference between the joint maximum value and the joint minimum value can be calculated as the boundary difference value, a difference between the joint maximum value and the current joint value can be calculated as the first difference value, and a second difference value between the current joint value and the joint minimum value can be calculated. Further, the difference degree can be obtained based on the boundary difference value, the first difference value and the second difference value.
[0139] In the embodiment, the boundary difference value between the joint maximum value and the joint minimum value is obtained, the first difference value between the joint maximum value and the current joint value and the second difference value between the current joint value and the joint minimum value are obtained, and the difference degree is determined based on the boundary difference value, the first difference value and the second difference value. The end activity space of the mechanical arm of the robot can be effectively constrained, so that the operability of the robot can be improved, and the positioning of the robot can be accurately determined, so that the accuracy of the position of the robot can be improved.
[0140] In one of the embodiments, the joint boundary index value corresponding to the current joint value set can be determined according to the following expression (2):
[0141]
[0142] wherein, is the joint boundary index value; JntNum is the number of joints (degrees of freedom) of the mechanical arm; q imax is the joint maximum value of the i th joint of the mechanical arm; q imin is the joint minimum value of the i th joint of the mechanical arm; q i is the joint value of the i th joint of the mechanical arm in the current joint value set.
[0143] Exemplarily, the joint boundary index value range can be [0, 1], KCI JntLimit (q) = 0 indicates that a joint in the joint configuration q (current joint value set) is on the boundary, and the closer to 1, the farther the joint value of the joint configuration q (current joint value set) is from the boundary.
[0144] In the embodiment, the robot can be constrained in the original activity space according to the auxiliary surgery requirement, so as to improve the operability of the end of the robot arm, and the robot position can be determined based on the accurate end activity space, so as to improve the accuracy of the robot position.
[0145] In one embodiment, as shown in Figure 4 The end collision index value is confirmed, including:
[0146] S402, based on the current joint value set, obtaining the pose information of the plurality of arm links and the end; wherein the arm link is the link between two joints.
[0147] The arm link can be the link parameter obtained by the two connected joints under the joint value of the current joint value set. For example, if there are 7 joints, there can be 6 arm links. The pose information of the end can be the pose related information of the operation tool installed at the end of the robot arm.
[0148] S404, according to the pose information of the plurality of arm links and the end, determining the relative distance between the plurality of arm links and the preset virtual collision model and the relative distance between the end and the preset virtual collision model; the virtual collision model is the virtual model of the object with collision risk with the robot arm.
[0149] The virtual collision model can be the virtual model of the collision object that may collide with the end of the robot arm under each joint value contained in the current joint value set, that is, the virtual collision model may have a collision risk with the arm link and the end of the robot arm. The collision object can be each joint of the robot arm, the base of the robot, etc. The virtual collision model can be specifically constructed according to the actual situation of the robot.
[0150] S406, according to each relative distance and a preset collision distance threshold, obtaining an end collision index value corresponding to the current joint value set.
[0151] The collision distance threshold can be a threshold value preset for the relative distance.
[0152] Exemplarily, the parameters of the plurality of arm links corresponding to the current joint value set can be determined based on each joint value contained in the current joint value set. The virtual collision model that may collide with the end of the robot arm can be determined in advance, and the relative distance between each arm link and the virtual collision model can be obtained based on the virtual collision model and the arm link. The end collision index value corresponding to the current joint value set can be obtained by calculating each relative distance and the preset collision distance threshold.
[0153] In this embodiment, by obtaining the relative distances between the plurality of mechanical arm links and the preset virtual collision model, and according to each relative distance and the preset collision distance threshold, the end collision index value corresponding to the current joint value set can be obtained, so that the end activity space of the mechanical arm of the robot can be effectively constrained, and the operability of the robot can be improved. Further, in the case of ensuring the operability of the robot, the target position of the robot can be accurately determined.
[0154] In one embodiment, according to each relative distance and the preset collision distance threshold, the end collision index value corresponding to the current joint value set is obtained, including:
[0155] According to the ratio of each relative distance and the collision distance threshold, the collision index value corresponding to each relative distance is obtained.
[0156] The smallest collision index value in the plurality of collision index values is taken as the end collision index value corresponding to the current joint value set.
[0157] The collision index value corresponding to the relative distance can be the collision index corresponding to the mechanical arm link.
[0158] Exemplarily, for each relative distance, the ratio between the relative distance and the collision distance threshold can be obtained, and the collision index value corresponding to the relative distance can be determined based on the ratio of the relative distance and the collision distance threshold. The smallest collision index value in the plurality of collision index values can be taken as the end collision index value corresponding to the current joint value set. In this way, the mechanical arm end can be effectively prevented from colliding with the object that may collide (the object with collision risk), and the end activity space of the mechanical arm of the robot can be effectively limited and constrained.
[0159] In this embodiment, by obtaining the relative distances between the plurality of mechanical arm links and the preset virtual collision model, and according to each relative distance and the preset collision distance threshold, the end collision index value corresponding to the current joint value set can be obtained, so that the end activity space of the mechanical arm of the robot can be effectively constrained, and the operability of the robot can be improved. Further, in the case of ensuring the operability of the robot, the target position of the robot can be accurately determined.
[0160] In one embodiment, the end collision index value corresponding to the current joint value set can be determined according to the following expression (3):
[0161]
[0162] Wherein, i is the mechanical arm link or the mechanical arm end; List Collision(q) is a set of collision indicator values corresponding to each mechanical arm link or mechanical arm end corresponding to the tool mounted on the mechanical arm end, when the joint sequence is q (the current joint value set); dis ij dis is the relative distance between the mechanical arm link i and the virtual collision model j, or the relative distance between the mechanical arm end i and the virtual collision model j; dis thres KCI is a collision distance threshold; KCI Collision (q) is an end collision indicator value corresponding to the current joint value set.
[0163] Exemplarily, it can be determined that the tool of the mechanical arm end of the robot collides with each joint of the robot, the cart array of the robot base, and the relative distance of the end collision indicator value KCI Collision (q) of the robot in the joint configuration q (the current joint value set) can be determined, and the indicator range can be [0, 1], KCI Collision (q) = 0 can represent that the installed end tool of the robot collides with a joint in the joint configuration q (the current joint value set), and the closer to 1, the farther the joint configuration q (the current joint value set) is from the collision.
[0164] In the embodiment, the end collision indicator value corresponding to the current joint value set can be effectively determined through expression (3), so that the activity space of the mechanical arm end of the robot can be effectively limited, and the operability of the robot can be improved.
[0165] In one embodiment, confirming the joint singularity configuration indicator value comprises:
[0166] Obtaining a Jacobian matrix corresponding to the current joint value set;
[0167] Based on the current joint value set and the Jacobian matrix, obtaining a singular value corresponding to the current joint value set;
[0168] According to the singular value, obtaining a joint singularity configuration indicator value corresponding to the current joint value set.
[0169] Exemplarily, the singular value corresponding to the current joint value set can be determined according to the Jacobian matrix corresponding to the current joint value set. The joint singularity configuration indicator value corresponding to the current joint value set can be determined based on the singular value corresponding to the current joint value set.
[0170] Optionally, the joint singularity configuration indicator value corresponding to the current joint value set can be determined according to the following expression (4):
[0171]
[0172] J B (q) is a Jacobian matrix of the mechanical arm when the joint sequence is q (the current joint value set); KCI Singluar(q) is a joint singularity configuration index value corresponding to the current joint value set; M is the degree of freedom of motion; N is the number of joints; R can be a group or set of Jacobian matrices; J N ∈R m×n J(q) can be used to represent J N is an m x n matrix.
[0173] Exemplarily, the index range of the joint singularity configuration index value of the joint configuration q (current joint value set) relative to the singular configuration distance can be [0, 1], KCI Singular (q) = 0 indicates that the joint configuration q (current joint value set) is a singular configuration, and the closer to 1, the farther the comprehensive distance of the joint configuration q relative to the singular configuration.
[0174] In this embodiment, the Jacobian matrix corresponding to the current joint value set is obtained; based on the current joint value set and the Jacobian matrix, the singular value corresponding to the current joint value set is obtained; and according to the singular value, the joint singularity configuration index value corresponding to the current joint value set is obtained. In this way, the singular configuration of the joint of the mechanical arm of the robot can be avoided, thereby improving the operability of the robot.
[0175] In one embodiment, according to the target pose point cloud of the end, the end activity space of the end is determined, comprising:
[0176] According to the target pose point cloud of the end, the candidate activity space of the end is determined, and the candidate activity space comprises a plurality of candidate pose point clouds;
[0177] The distance and angle interval between each candidate pose point cloud are obtained;
[0178] According to the distance and the preset distance threshold, the angle interval and the preset angle interval threshold, each candidate pose point cloud is clustered;
[0179] According to the plurality of candidate pose point clouds obtained by clustering, the end activity space of the end is determined.
[0180] The target pose point cloud can be a pose point cloud that satisfies the operability index of the end after screening. The candidate activity space of the end can be an activity space obtained by the target pose point cloud, for example, the candidate activity space can be determined based on further screening of the target pose point cloud. The candidate pose point cloud can be a pose point cloud contained in the candidate activity space; for example, the candidate activity space can be formed by a plurality of candidate pose point clouds. The distance between the candidate pose point clouds can be the Euclidean distance. The angle interval can be the angle interval under the axis angle representation. The plurality of candidate pose point clouds obtained by clustering can be candidate pose point clouds that satisfy the clustering condition.
[0181] Exemplarily, the candidate active space of the end can be further determined according to the target pose point cloud of the end, and the pose point cloud contained in the candidate active space can be taken as a candidate pose point cloud. The distance between adjacent candidate pose point clouds and the angular interval can be obtained, and the preset distance threshold corresponding to the distance and the angular interval threshold corresponding to the angular interval can be obtained.
[0182] The candidate pose point clouds can be clustered according to the distance and the preset distance threshold, the angular interval and the preset angular interval threshold, the candidate pose point clouds can be segmented into a plurality of cluster spaces, and the direction size of the spatial coordinate axis (such as X axis, Y axis and Z axis) of each cluster space can be compared, and the space most conforming to the expectation can be selected as the surgical reference space (the end active space of the end).
[0183] In the embodiment, the candidate pose point clouds can be clustered according to the distance and the preset distance threshold, the angular interval and the preset angular interval threshold; and the end active space of the end can be determined according to the plurality of candidate pose point clouds obtained by clustering. In this way, when the robot moves in the end active space of the end, continuous movement can be maintained, so that the robot can be away from the boundary, singularity and collision in the expected configuration, and continuous movement can be maintained, thereby improving the operability of the robot.
[0184] In one of the embodiments, taking a seven-degree-of-freedom robot arm as an example, when it is specified that the Euclidean distance 1mm is taken as the distance threshold and the axis angular interval 1° is taken as the angular interval threshold, the clustering result is as shown in Figure 5a , Figure 5b , Figure 5a When the cluster 7 shown in Figure 5b is taken as the end active space of the end, the position relationship relative to the base coordinate system is [300, -500, 950];
[0185] In one embodiment, the candidate active space of the end is determined according to the target pose point cloud of the end, including:
[0186] The joint ranges corresponding to a plurality of joints are obtained to form a maximum joint value set and a minimum joint value set.
[0187] The joint value set corresponding to each target pose point cloud is obtained.
[0188] If the operable index corresponding to the target pose point cloud satisfies a first preset condition, and the joint value set corresponding to the target pose point cloud satisfies a second preset condition, the target pose point cloud is taken as a candidate pose point cloud; the first preset condition is used to represent that the operable index is less than or equal to a preset operable index threshold; and the second preset condition is used to represent that the joint value set is greater than or equal to a minimum joint value set, and the joint value set is less than or equal to a maximum joint value set.
[0189] Based on the candidate pose point cloud, a candidate active space of the end is generated.
[0190] The joint range can be an angle range or a position range that can be reached by the joint of the robot. The maximum joint value set can include joint maximum values of the plurality of joints. The minimum joint value set can include joint minimum values of the plurality of joints. The joint maximum value can be a maximum angle or position that can be reached by the joint. The joint minimum value can be a minimum angle or position that can be reached by the joint.
[0191] The joint value set can generate a corresponding target pose point cloud.
[0192] The first preset condition can be less than or equal to the operable index threshold. The operable index threshold can be a threshold value set in advance for the operable index, so that the robot has high operability. The second preset condition can be that the joint value set corresponding to the target pose point cloud is greater than or equal to the minimum joint value set, and the joint value set is less than or equal to the maximum joint value set.
[0193] Exemplarily, the joint ranges corresponding to the plurality of joints can be determined respectively, and based on the joint ranges of the plurality of joints, the maximum joint value set and the minimum joint value set can be obtained. The joint value set corresponding to each target pose point cloud is obtained. If the target pose point cloud satisfies the constraint condition, the target pose point cloud can be taken as a target pose point cloud. The constraint condition can be obtained according to the first preset condition and the second preset condition.
[0194] Optionally, if the operable index corresponding to the target pose point cloud satisfies the first preset condition, and the joint value set corresponding to the target pose point cloud satisfies the second preset condition, the target pose point cloud is taken as a candidate pose point cloud. Based on the plurality of candidate pose point clouds, a candidate active space of the end can be obtained.
[0195] Optionally, the candidate pose point cloud can be determined by the following expression (5):
[0196]
[0197] wherein q is a joint value set corresponding to the target pose point cloud (a current joint value set); KCI(q) is an operability index corresponding to the joint value set corresponding to the target pose point cloud (the current joint value set); KCI thres is an operability index threshold; q low is a minimum joint value set; q up is a maximum joint value set.
[0198] A constraint condition for screening the end tool pose point cloud is defined, which can be determined by the above expression (5) and can include the operability evaluation index KCI(q) and the robot configuration constraint condition. Through the constraint condition, the workspace point cloud calculated by the Monte Carlo method is screened.
[0199] Optionally, as shown in Figure 6a , the end pose corresponding to the joint configuration can be calculated using forward kinematics to obtain the end pose point cloud (target pose point cloud) mapped by the joint range to obtain the original working space. The target pose point cloud is screened by the above expression (5) to obtain the candidate pose point cloud as shown in Figure 6b , to obtain the end working space, Figure 6b may be an example of a seven-degree-of-freedom robot arm.
[0200] In this embodiment, the candidate pose point cloud is determined by the operability index corresponding to the target pose point cloud and the first preset condition, and the joint value set corresponding to the target pose point cloud and the second preset condition. The candidate working space of the end can be accurately obtained, so that the accuracy of the end working space of the end can be improved, and the operability of the robot can be improved.
[0201] In one embodiment, the original working space of the end is obtained, comprising:
[0202] Obtaining a joint range corresponding to each joint, and generating a plurality of joint value sets based on the joint range corresponding to each joint; each joint value set includes a joint value corresponding to each joint, and each joint value satisfies the corresponding joint range;
[0203] Based on the plurality of joint value sets, a plurality of original pose point clouds corresponding thereto are generated;
[0204] Based on the plurality of original pose point clouds, the original working space of the end is obtained.
[0205] Exemplarily, a plurality of joint ranges corresponding to a plurality of joints respectively can be determined, and a number of pose point clouds can be set, and a joint value corresponding to each joint can be randomly generated in the joint range of the joint based on a Monte Carlo method, a joint value set of the plurality of joints can be obtained each time the joint value is generated, and a plurality of joint value sets can be obtained by generating the joint value multiple times. A plurality of original pose point clouds corresponding to the plurality of joint value sets can be generated. Each joint value set can correspond to each original pose point cloud one by one. Further, the original workspace of the end can be formed by the plurality of original pose point clouds.
[0206] Optionally, the joint value set can be generated by the following expression (6):
[0207] q = q low + q up -q low ) x rand(0, 1) (6)
[0208] wherein q is the joint value set, i.e., the joint configuration of the robot arm. Q low is the minimum joint value set; q up is the maximum joint value set; and rand(0, 1) is a random function.
[0209] In the embodiment, the end pose corresponding to the joint configuration can be obtained by using forward kinematics to calculate the joint configuration, and the end pose point cloud mapped by the specified joint range can be obtained, which can greatly reduce the calculation time compared with the inverse kinematics method, thereby improving the efficiency of determining the target position of the robot.
[0210] In one embodiment, the target position of the robot is determined based on the first relative position relationship and the second relative position relationship, comprising:
[0211] The moving vector for indicating the control of the position change of the robot is determined based on the first relative position relationship and the second relative position relationship, and the target position of the robot is determined.
[0212] After the target position of the robot is determined, the robot is controlled to move to the target position.
[0213] The moving vector can be the amount to be moved by the robot.
[0214] Exemplarily, the target position of the robot can be determined based on the first relative position relationship between the end workspace and the base and the second relative position relationship between the target workspace and the base. For example, the unknown amount to be moved by the robot can be determined based on the end workspace, the target workspace, and the current position of the robot. After the target position of the robot is determined, the robot can be controlled to move to the target position.
[0215] In the embodiment, the first relative position relationship and the second relative position relationship are used to determine a movement vector for indicating control of a position change of the robot, and to determine a target position of the robot; after the target position of the robot is determined, the robot is controlled to move to the target position. In this way, the robot can be accurately moved to the target position, so that the robot can be prepared for assisting the surgical operation.
[0216] In one embodiment, the second relative position relationship between the target active space and the base is obtained, including:
[0217] The first pose of the base in the navigation coordinate system is obtained, and the second pose of the target active space in the navigation coordinate system is obtained;
[0218] Based on the first pose and the second pose, the second relative position relationship between the target active space and the base is determined.
[0219] The navigation coordinate system can be a coordinate system determined by a navigation device. The navigation device can be a device in a surgical system for navigation of the robot. The navigation device can be an optical navigation device.
[0220] In one embodiment, after the movement vector for indicating control of a position change of the robot is determined, and the target position of the robot is determined, the method further includes:
[0221] The movement vector is sent to a terminal; the terminal is used to display the movement vector to indicate control of the robot to move to the target position.
[0222] In the embodiment, the movement vector is sent to a terminal; the terminal is used to display the movement vector to indicate control of the robot to move to the target position. In this way, the movement vector can be displayed on the front end to indicate control of the robot to move to the target position, so that the accuracy of movement of the robot can be improved.
[0223] In one embodiment, as shown in Figure 7 The preoperative positioning guide interface is designed. Since the height control base coordinate system and the pelvic array are in a relative position relationship in the Z direction, the main guide direction of the cart positioning is X and Y directions. The interface compares the relative position relationship between the base coordinate system and the pelvic array obtained by the optical navigation device in real time and the relative relationship between the reference surgical space (the end active space of the end) and the base coordinate system of the robot, obtains the movement direction and distance of the XY plane base coordinate system, and displays on the interface to guide the operator to operate the cart for positioning. Figure 7As shown, the preoperative positioning guidance interface includes: directional distance guidance 710, which can include two parts: XYZ direction distance and positioning range distance threshold. The XYZ direction distance can indicate the distance between the current base coordinate system and the reference base coordinate system in each direction during positioning, and the XYZ direction distance can display the positioning range threshold; positioning direction prompt 720, which can be used to indicate the positive and negative relationship between the positioning direction and distance; surgical cart module 730, used to visualize a simplified graphic of the surgical cart and the real-time acquired base coordinate system of the current robot; reference coordinate module 740, used to visualize the reference base coordinate system and the positioning range (dashed box). When the robotic arm base coordinate system enters the positioning range, the dashed box is highlighted, indicating to the user that positioning has been completed. The positional relationship between the reference base coordinate system and the pelvic array is calculated by the above algorithm; operating table module 750, which visualizes a simplified graphic of the operating table and the pelvic array.
[0224] In one embodiment, such as Figure 8 As shown, a robot system is provided for implementing a robot position determination method. The robot system includes: a trolley 810, a robotic arm 820, a trolley array 830, surgical tools 840, a pelvic array 850, a navigation system 860, a display screen 870, a virtual surgical space 880, and an operating table 890.
[0225] The cart 810 can be used as the base of the robot, and can be used to carry the moving part of the robot, and can be used to move the robot to a position; the mechanical arm 820 can be used to drive each joint to control the pose of the surgical tool 840 at the end, so as to assist in realizing accurate operation; the cart array 830 installed on the cart 810 carrying the mechanical arm 820 can be used to identify the real-time position of the robot, and assist in obtaining the base coordinates of the robot. For example, the navigation system 860 can determine the position of the base coordinate system of the mechanical arm in the navigation coordinate system through observation of the cart array 830; the surgical tool 840 can be used to assist in surgical operation, such as grinding the affected area of the acetabular fossa; the pelvis array 850 can be used as a target workspace, and can be installed on the pelvic bone of the patient. The navigation system 860 can be used to observe the pelvis array 850 to determine the position of the pelvis in the navigation coordinate system and the position relative to the mechanical arm base coordinate system; the navigation system 860 can be used to locate the position of the mechanical arm base coordinate system and the pelvis; the display screen 870 can be used to display the preoperative positioning prompt interface, and display the relative position of the current mechanical arm and the pelvis in the preoperative positioning prompt interface, and prompt the positioning direction; the virtual surgical space 880 can be the end of the end of the activity space, which can be a virtual point cloud space generated based on the Monte Carlo method, and can be obtained by using the operable index screening and clustering method. The relative positional relationship between the virtual surgical space 880 and the pelvis array 850 serves as a reference to guide the surgeon to position; the operating table 890 can be an operating table with lifting capability, and can be used to determine the distance between the pelvis array and the base coordinate system in the Z direction of the base coordinate system.
[0226] In one embodiment, as shown in Figure 9 , a preoperative positioning guide process method of a robot is provided. One possible application of the embodiment is a total hip arthroplasty surgery, which aims to replace the diseased hip joint with a joint prosthesis. The installation pose accuracy of the acetabular cup prosthesis is required to be high. The robot-assisted surgical system needs to ensure that the operation is away from the joint boundary and singular configuration during the operation to ensure the accuracy, stability and success rate of the operation. The preoperative positioning guide process method of the robot includes:
[0227] S910, determining the joint range of the robot according to the expected direction of the operating table and the cart (generally the operating table is in front of the cart), and determining the conversion matrix of the tool center point installed at the end of the robot relative to the flange coordinate system;
[0228] S920, randomly generating joint values within the joint range by using the Monte Carlo method, calculating the pose of the end based on the conversion matrix relative to the flange coordinate system using forward kinematics, and obtaining the original pose point cloud corresponding to the joint range;
[0229] S930, obtain an operable index KCI, which can be used to evaluate the distance of the robot from the joint boundary, singular configuration and collision in the current joint configuration. For a redundant degree of freedom robot, the range of redundant angles can be specified to optimize the joint configuration. Based on KCI and the range of redundant angles, the original pose point cloud is filtered;
[0230] S940, according to the Euclidean distance clustering method, the Euclidean distance and the angle error threshold of the axis angle representing the posture are specified, the filtered candidate pose point cloud is clustered, and the subspace of the aggregated candidate pose point cloud that meets the requirement range is taken as the reference space (end active space) of the positioning planning. The motion continuity and operability of the robot in the space meet the threshold requirements. The relative position relationship between the center point of the end active space and the base coordinate system is P bref ;
[0231] S950, the navigation system determines the current cart array and the pelvis array coordinates, and determines the relative position relationship P aref between the current robot base coordinate system and the pelvis array in real time according to the conversion relationship between the registered cart array and the robot base coordinate system.
[0232] S960, determine the positioning direction and distance of the current robot base coordinate system and the pelvis array according to the relative relationship between the center position of the reference space (end active space) and the base coordinate system: P diS9 = P bref -P aref Finally, display the positioning direction and distance value on the display screen of the navigation system, which can guide the operator to move the surgical cart for positioning.
[0233] In this embodiment, the specified operable index can make the robot completely avoid joint boundaries and singular configurations in the surgical space, and improve the operability during the operation. By constraining the joint range and configuration type, the working area obtained by forward kinematics is significantly reduced in calculation time compared with inverse kinematics.
[0234] In one embodiment, the robot system can obtain the pose of the cart array and the pelvis array (target working space) in the navigation coordinate system through an optical navigation device, thereby obtaining the relative position relationship between the base coordinate system of the robot and the pelvis array, as shown in Figure 10a F guide represents the navigation coordinate system, F base represents the base coordinate system of the robot, F acet represents the pelvis array coordinate system, F trolley represents the cart array coordinate system, and T represents the conversion relationship between the coordinate systems. In the case where the relative relationship between the cart array and the base coordinate system of the robot is known, the real-time relative relationship between the base coordinate system of the robot and the pelvis array (represented in the base coordinate system) is shown in the following expression (7):
[0235]
[0236] in, For the trolley array F trolley Relative pelvic array F acet The transformation matrix; Navigation coordinates F guide Relative pelvic array F acet The transformation matrix; For the trolley array F trolley Relative navigation coordinates F guide The transformation matrix; For pelvic array F acet Relative to the robot arm's base coordinate system F base The transformation matrix; For the trolley array F trolley Relative to the robot arm's base coordinate system F base The transformation matrix.
[0237] Optionally, such as Figure 10b As shown, let the positional relationship between the reference space (end-effector's active space) and the robot's base coordinate system be Pref = [Xref, Yref, Zref], then the real-time distance in the X direction of the base coordinate system relative to the reference coordinate system is... (1, 4), Real-time distance in the Y direction (2, 4), Real-time distance in the Z direction (3, 4).
[0238] In this embodiment, by acquiring the poses of the trolley array and pelvic array (target workspace) in the navigation coordinate system through an optical navigation device, the relative positional relationship between the robot's base coordinate system and the pelvic array can be obtained, thereby improving the accuracy of acquiring the robot's target position.
[0239] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0240] Based on the same inventive concept, the embodiments of the present application also provide a robot position determination device for implementing the robot position determination method described above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more robot position determination device embodiments provided below can refer to the limitations of the robot position determination method described above, which will not be repeated here.
[0241] In one embodiment, as shown in Figure 11 A robot position determination device 500 is provided, applied to a robot, the robot comprising a base and a mechanical arm mounted on the base, the mechanical arm comprising an end and a plurality of joints, the device comprising: a first relationship acquisition module 510, a second relationship acquisition module 520 and a target position determination module 530, wherein:
[0242] The first relationship acquisition module 510 is configured to acquire a first relative position relationship between the end working space of the end and the base.
[0243] The second relationship acquisition module 520 is configured to acquire a second relative position relationship between the target working space and the base.
[0244] The target position determination module 530 is configured to determine a target position of the robot based on the first relative position relationship and the second relative position relationship, and control the robot to move to the target position.
[0245] In one embodiment, the robot position determination device further comprises an original working space acquisition module, an operable index determination module and an end working space determination module.
[0246] The original working space acquisition module is configured to acquire an original working space of the end; the original working space comprises a plurality of original pose point clouds, the original pose point clouds are obtained by corresponding joint value sets, and the joint value sets are obtained by joint values of the plurality of joints. The operable index determination module is configured to determine an operable index for the end according to each joint value set, and to filter the original pose point clouds according to the operable index to obtain a target pose point cloud of the end. The end working space determination module is configured to determine the end working space of the end according to the target pose point cloud of the end.
[0247] In one embodiment, the operable index determination module comprises a current set determination unit, an index value determination unit, an index weight acquisition unit, a weighted processing unit and an operable index determination unit.
[0248] The current set determining unit is configured to obtain a current joint value set from a plurality of joint value sets. The current joint value set is any one of the plurality of joint value sets. The index value determining unit is configured to determine a joint boundary index value, an end collision index value and a joint singularity index value corresponding to the current joint value set. The index weight obtaining unit is configured to obtain a first index weight corresponding to the joint boundary index value, a second index weight corresponding to the end collision index value and a third index weight corresponding to the joint singularity index value. The weighted processing unit is configured to perform weighted processing on the joint boundary index value, the end collision index value and the joint singularity index value according to the first index weight, the second index weight and the third index weight, respectively. The operable index determining unit is configured to take the minimum index value among the weighted joint boundary index value, the weighted end collision index value and the weighted joint singularity index value as the operable index of the end.
[0249] In one embodiment, the index value determining unit comprises a current joint unit, a difference degree determining unit and a joint boundary index unit.
[0250] The current joint unit is configured to obtain a current joint value corresponding to a current joint and a current joint boundary value from the current joint value set. The current joint is any joint of the robot arm. The current joint boundary value is a boundary value of a joint range corresponding to the current joint. The difference degree determining unit is configured to determine a difference degree of the current joint value and the current joint boundary value. The joint boundary index unit is configured to obtain the joint boundary index value according to the difference degree.
[0251] In one embodiment, the difference degree determining unit comprises a joint extreme value obtaining unit, a boundary difference value obtaining unit, a first-second difference value determining unit and a difference degree calculating unit.
[0252] The joint extreme value obtaining unit is configured to obtain a joint maximum value and a joint minimum value contained in the current joint boundary value. The boundary difference value obtaining unit is configured to obtain a boundary difference value between the joint maximum value and the joint minimum value. The first-second difference value determining unit is configured to obtain a first difference value between the joint maximum value and the current joint value, and a second difference value between the current joint value and the joint minimum value. The difference degree calculating unit is configured to determine the difference degree based on the boundary difference value, the first difference value and the second difference value.
[0253] In one embodiment, the index value determining unit comprises a robot arm link determining unit, a relative distance obtaining unit and an end collision index unit.
[0254] The mechanical arm link determination unit is configured to obtain pose information of a plurality of mechanical arm links and an end effector based on the current joint value set, wherein the mechanical arm link is a link between two joints. The relative distance acquisition unit is configured to determine relative distances between the plurality of mechanical arm links and a preset virtual collision model and between the end effector and the preset virtual collision model according to the pose information of the plurality of mechanical arm links and the end effector, wherein the virtual collision model is a virtual model of an object that collides with the end effector of the robot arm. The end effector collision index unit is configured to obtain an end effector collision index value corresponding to the current joint value set according to the relative distances and a preset collision distance threshold.
[0255] In one embodiment, the end effector collision index unit includes a ratio determination unit and a minimum collision index unit.
[0256] The ratio determination unit is configured to obtain collision index values corresponding to the relative distances according to ratios of the relative distances and the collision distance threshold. The minimum collision index unit is configured to take a minimum collision index value in the plurality of collision index values as the end effector collision index value corresponding to the current joint value set.
[0257] In one embodiment, the index value determination unit includes a Jacobian matrix determination unit, a singular value acquisition unit, and a singular configuration index unit.
[0258] The Jacobian matrix determination unit is configured to obtain a Jacobian matrix for the current joint value set. The singular value acquisition unit is configured to obtain a singular value corresponding to the current joint value set based on the current joint value set and the Jacobian matrix. The singular configuration index unit is configured to obtain a joint singular configuration index value corresponding to the current joint value set according to the singular value.
[0259] In one embodiment, the end effector workspace determination module includes a candidate workspace determination unit, a distance-angle determination unit, a clustering unit, and an end effector workspace acquisition unit.
[0260] The candidate workspace determination unit is configured to determine a candidate workspace of the end effector according to a target pose point cloud of the end effector, wherein the candidate workspace includes a plurality of candidate pose point clouds. The distance-angle determination unit is configured to obtain distances and angle intervals between the candidate pose point clouds. The clustering unit is configured to cluster the candidate pose point clouds according to the distances and a preset distance threshold, the angle intervals, and a preset angle interval threshold. The end effector workspace acquisition unit is configured to determine an end effector workspace of the end effector according to the plurality of candidate pose point clouds obtained by clustering.
[0261] In one embodiment, the candidate workspace determination unit includes a joint range determination unit, a target set acquisition unit, a condition judgment unit, and a candidate workspace generation unit.
[0262] The joint range determination unit is configured to obtain a plurality of joint ranges respectively corresponding to a plurality of joints, and form a maximum joint value set and a minimum joint value set. The target set acquisition unit is configured to obtain a joint value set corresponding to each target pose point cloud. The condition determination unit is configured to, if an operable index corresponding to the target pose point cloud satisfies a first preset condition, and the joint value set corresponding to the target pose point cloud satisfies a second preset condition, take the target pose point cloud as a candidate pose point cloud. The first preset condition is configured to represent that the operable index is less than or equal to a preset operable index threshold. The second preset condition is configured to represent that the joint value set is greater than or equal to the minimum joint value set, and the joint value set is less than or equal to the maximum joint value set. The candidate working space generation unit is configured to generate a candidate working space of the end based on the candidate pose point cloud.
[0263] In an embodiment, the original working space acquisition module includes a joint value set generation unit, an original pose point cloud generation unit, and an original working space generation unit.
[0264] The joint value set generation unit is configured to obtain a plurality of joint ranges respectively corresponding to a plurality of joints, and generate a plurality of joint value sets based on the plurality of joint ranges respectively corresponding to the plurality of joints. Each joint value set includes a joint value respectively corresponding to each joint, and each joint value satisfies the corresponding joint range. The original pose point cloud generation unit is configured to generate a plurality of original pose point clouds corresponding to the plurality of joint value sets. The original working space generation unit is configured to obtain an original working space of the end based on the plurality of original pose point clouds.
[0265] In an embodiment, the target position determination module includes a movement vector determination unit and a robot movement control unit.
[0266] The movement vector determination unit is configured to determine a movement vector for indicating a control of a position change of the robot according to the first relative position relationship and the second relative position relationship, and determine a target position of the robot. The robot movement control unit is configured to control the robot to move to the target position after the target position of the robot is determined.
[0267] The above-mentioned modules in the robot position determination apparatus can be all or part realized by software, hardware, and combinations thereof. The above-mentioned modules can be embedded in or independent of a processor in a computer device in a hardware form, or stored in a memory in a computer device in a software form, so as to be called and executed by a processor to perform operations corresponding to the above-mentioned modules.
[0268] In an embodiment, a surgical robot system is provided. The surgical robot system includes a memory and a processor. The memory stores a computer program. The processor executes the computer program to implement the steps of the above-mentioned method.
[0269] In one embodiment, a computer device is provided, which can be a terminal, and an internal structure diagram thereof can be as shown in FIG. 1. Figure 12 The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for running the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is configured to exchange information between the processor and external devices. The communication interface of the computer device is configured to perform wired or wireless communication with external terminals. The wireless communication can be achieved through WIFI, mobile cellular network, NFC (Near Field Communication) or other technologies. The computer program is executed by the processor to implement a robot position determination method. The display unit of the computer device is configured to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer overlaid on the display screen, or a key, trackball or touchpad arranged on the shell of the computer device, or an external keyboard, touchpad or mouse, etc.
[0270] Those skilled in the art can understand that Figure 12 The structure shown in the above embodiment is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device can include more or fewer components than those shown in the diagram, or combine certain components, or have a different arrangement of components.
[0271] In one embodiment, a computer device is provided, which can be a terminal, and an internal structure diagram thereof can be as shown in FIG. 1.
[0272] In one embodiment, a computer readable storage medium is provided, which stores a computer program. The computer program is executed by a processor to implement the steps in the above method embodiments.
[0273] In one embodiment, a computer program product is provided, which includes a computer program. The computer program is executed by a processor to implement the steps in the above method embodiments.
[0274] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when the computer program is executed, the processes of the above-mentioned embodiments of the methods can be included. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (Read-Only Memory, ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive memory (ReRAM), magnetoresistive random access memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric memory (Ferroelectric Random Access Memory, FRAM), phase change memory (Phase Change Memory, PCM), graphene memory, etc. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, etc. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.
[0275] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist contradictory, it should be considered as the scope of the present application.
[0276] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent of the present application. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are within the scope of protection of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A robot position determination method, characterized by, The application is applied to a robot, the robot comprising a base and a mechanical arm mounted on the base, the mechanical arm comprising an end and a plurality of joints, the method comprising: obtaining an original working space of the end; the original working space comprises a plurality of original pose point clouds, the original pose point clouds being obtained by corresponding joint value sets, the joint value sets being obtained by corresponding joint values of the plurality of joints; obtaining a current joint value set from a plurality of joint value sets; the current joint value set is any one of the plurality of joint value sets; confirming a joint boundary index value, an end collision index value and a joint singularity configuration index value corresponding to the current joint value set; obtaining a first index weight corresponding to the joint boundary index value, a second index weight corresponding to the end collision index value and a third index weight corresponding to the singularity configuration index value; performing weighted processing on the joint boundary index value, the end collision index value and the joint singularity configuration index value respectively according to the first index weight, the second index weight and the third index weight; taking the smallest index value among the weighted joint boundary index value, the end collision index value and the joint singularity configuration index value as an operable index of the end; screening the original pose point clouds according to the operable index to obtain a target pose point cloud of the end; determining an end working space of the end according to the target pose point cloud of the end; obtaining a first relative position relationship between the end working space of the end and the base; obtaining a second relative position relationship between a target working space and the base; determining a target position of the robot based on the first relative position relationship and the second relative position relationship and controlling the robot to move to the target position.
2. The method of claim 1, wherein, confirming the joint boundary index value comprises: obtaining a current joint value corresponding to a current joint and a current joint boundary value from the current joint value set; the current joint is any joint of the mechanical arm; the current joint boundary value is a boundary value of a joint range corresponding to the current joint; determining a difference degree of the current joint value and the current joint boundary value; obtaining the joint boundary index value according to the difference degree.
3. The method of claim 2, wherein, determining the difference degree of the current joint value and the current joint boundary value comprises: obtaining a joint maximum value and a joint minimum value contained in the current joint boundary value; obtaining a boundary difference value between the joint maximum value and the joint minimum value; obtaining a first difference value between the joint maximum value and the current joint value and a second difference value between the current joint value and the joint minimum value; determining the difference degree based on the boundary difference value, the first difference value and the second difference value.
4. The method of claim 1, wherein, confirming the end collision index value comprises: obtaining pose information of a plurality of mechanical arm links and an end based on the current joint value set; wherein the mechanical arm link is a link between two joints; According to the pose information of the plurality of mechanical arm links and the end, determine the relative distances between the plurality of mechanical arm links and a preset virtual collision model and between the end and the preset virtual collision model; the virtual collision model is a virtual model of an object that has a collision risk with the mechanical arm; According to each of the relative distances and a preset collision distance threshold, obtain an end collision index value corresponding to the current joint value set.
5. The method of claim 4, wherein, According to each of the relative distances and a preset collision distance threshold, obtain an end collision index value corresponding to the current joint value set. According to each of the relative distances and the collision distance threshold, obtain a collision index value corresponding to each of the relative distances; Take the smallest collision index value in the plurality of collision index values as the end collision index value corresponding to the current joint value set.
6. The method of claim 1, wherein, Confirming the joint singularity configuration index value includes: Obtain a Jacobian matrix for the current joint value set; Based on the current joint value set and the Jacobian matrix, obtain a singular value corresponding to the current joint value set; According to the singular value, obtain a joint singularity configuration index value corresponding to the current joint value set.
7. The method of claim 1, wherein, According to the target pose point cloud of the end, determining the end activity space of the end includes: According to the target pose point cloud of the end, determine a candidate activity space of the end, and the candidate activity space includes a plurality of candidate pose point clouds; Obtain the distance and angle interval between each of the candidate pose point clouds; According to the distance and a preset distance threshold, the angle interval and a preset angle interval threshold, cluster each of the candidate pose point clouds; According to the plurality of candidate pose point clouds obtained by clustering, determine the end activity space of the end.
8. The method of claim 7, wherein, According to the target pose point cloud of the end, determining the candidate activity space of the end includes: Obtain the joint range corresponding to each of the plurality of joints to form a maximum joint value set and a minimum joint value set; Obtain a joint value set corresponding to each of the target pose point clouds; If the operable index corresponding to the target pose point cloud satisfies a first preset condition, and the joint value set corresponding to the target pose point cloud satisfies a second preset condition, then the target pose point cloud is taken as the candidate pose point cloud; the first preset condition is used to represent that the operable index is less than or equal to a preset operable index threshold; the second preset condition is used to represent that the joint value set is greater than or equal to the minimum joint value set, and the joint value set is less than or equal to the maximum joint value set; Based on the candidate pose point cloud, generate the candidate activity space of the end.
9. A robot position determination apparatus, characterized by Applied to a robot, the robot includes a base and a mechanical arm mounted on the base, the mechanical arm includes an end and a plurality of joints, and the device includes: The end activity space determination module is configured to obtain an original activity space of the end; the original activity space includes a plurality of original pose point clouds, the original pose point clouds are obtained through a corresponding joint value set, and the joint value set is obtained through joint values corresponding to the plurality of joints; a current joint value set is obtained from a plurality of joint value sets; the current joint value set is any one of the plurality of joint value sets; a joint boundary index value, an end collision index value, and a joint singularity configuration index value corresponding to the current joint value set are confirmed; a first index weight corresponding to the joint boundary index value, a second index weight corresponding to the end collision index value, and a third index weight corresponding to the singularity configuration index value are obtained; the joint boundary index value, the end collision index value, and the joint singularity configuration index value are respectively subjected to weighted processing according to the first index weight, the second index weight, and the third index weight; the smallest index value in the joint boundary index value, the end collision index value, and the joint singularity configuration index value after the weighted processing is taken as an operable index of the end; the original pose point clouds are screened according to the operable index, and a target pose point cloud of the end is obtained; and the end activity space of the end is determined according to the target pose point cloud of the end. The first relationship acquisition module is configured to obtain a first relative position relationship between the end activity space of the end and the base. The second relationship acquisition module is configured to obtain a second relative position relationship between the target working space and the base. The target position determination module is configured to determine a target position of the robot based on the first relative position relationship and the second relative position relationship, and control the robot to move to the target position.
10. A surgical robotic system comprising a memory and a processor, the memory storing a computer program, characterized in that, The processor executes the computer program to implement the steps of the method in any one of claims 1 to 8.
Citation Information
Patent Citations
Surgical robot positioning method and device and computer equipment
CN115363762A
System and method for programming robots
US20120123590A1