A method, device, electronic device and storage medium for controlling the posture of a robotic arm
By determining the adjustment mode based on the posture information of the robotic arm and the main operator in the posture adjustment mode, and selecting the appropriate starting posture point for interpolation processing, the problem of inconsistency between the movement trend of the robotic arm and the movement trend of the main operator is solved, and the hand-eye coordination is improved.
Patent Information
- Application Number
- CN202411129314.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2044-08-16
AI Technical Summary
Existing robot arm posture interpolation methods cannot ensure that the movement trend of the robot arm after interpolation is the same as that of the main manipulator, resulting in poor hand-eye coordination.
In the posture adjustment mode, the adjustment mode is determined based on the actual posture of the robot arm and the target posture of the main operator at the previous moment and the current moment, and different starting posture points are selected for interpolation processing according to different adjustment modes to ensure that the movement trend of the robot arm is consistent with the movement trend of the main operator.
The interpolation ensures that the robot arm's posture approaches the target posture of the main manipulator while ensuring that the movement trend of the robot arm is the same as that of the main manipulator, thereby improving hand-eye coordination.
Smart Images

Figure CN118809609B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robotic arm control, and in particular to a robotic arm posture control method, device, electronic equipment and storage medium. Background Art
[0002] In the master-slave motion of a surgical robot system, when the master manipulator moves too fast, the robotic arm and the instrument are unable to fully follow the master manipulator's motion due to the limited motion capabilities of the robotic arm and the instrument themselves. In order to achieve better hand-eye coordination, it is often necessary to use a posture interpolation method to obtain an interpolated posture that approximates the master manipulator's posture, and use this posture to control the movement of the robotic arm and surgical instruments.
[0003] At present, the commonly used posture interpolation method can only make the posture of the robot arm approach the target posture direction of the main manipulator, but cannot ensure that the movement trend of the robot arm after interpolation is the same as that of the main manipulator. Summary of the Invention
[0004] The present invention provides a method, device, electronic equipment and storage medium for controlling the posture of a robotic arm, so as to ensure that the movement trend of the robotic arm after interpolation is the same as that of a main manipulator.
[0005] According to one aspect of the present invention, a method for controlling the posture of a robotic arm is provided, which is applied to a surgical robot system. The surgical robot system includes a master manipulator and a robotic arm. The master manipulator is used to control the movement of the robotic arm. A motion mapping relationship is established between the master manipulator and the robotic arm. The method includes:
[0006] When entering the posture adjustment mode, determining the adjustment mode of the robotic arm based on the actual posture of the robotic arm at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment;
[0007] Based on the starting posture point and target posture point corresponding to the adjustment mode, interpolation processing is performed to obtain an interpolated posture, the adjustment posture of the robotic arm is determined based on the interpolated posture, and the movement of the robotic arm is controlled based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different.
[0008] According to another aspect of the present invention, a robotic arm posture control device is provided, which is applied to a surgical robot system. The surgical robot system includes a master manipulator and a robotic arm. The master manipulator is used to control the movement of the robotic arm. A motion mapping relationship is established between the master manipulator and the robotic arm. The device includes:
[0009] an adjustment mode determination module, configured to determine, when entering a posture adjustment mode, the adjustment mode of the robotic arm based on the actual posture of the robotic arm at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment;
[0010] A posture interpolation module is used to perform interpolation processing based on the starting posture point and target posture point corresponding to the adjustment mode to obtain an interpolated posture, determine the adjustment posture of the robotic arm based on the interpolated posture, and control the movement of the robotic arm based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different.
[0011] According to another aspect of the present invention, an electronic device is provided, comprising:
[0012] at least one processor; and
[0013] a memory communicatively connected to the at least one processor; wherein,
[0014] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robotic arm posture control method described in any embodiment of the present invention.
[0015] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot arm posture control method described in any embodiment of the present invention when executed.
[0016] The technical solution of the embodiment of the present invention is as follows: when entering the posture adjustment mode, the adjustment mode of the robot arm is determined based on the actual posture of the robot arm at the current moment, the target posture of the main operator at the previous moment, and the target posture of the main operator at the current moment; based on the starting posture point and target posture point corresponding to the adjustment mode, interpolation processing is performed to obtain an interpolated posture, the adjustment posture of the robot arm is determined based on the interpolated posture, and the movement of the robot arm is controlled based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different. Under the posture adjustment mode, the adjustment mode is determined, and then different starting posture points are selected for posture interpolation for different adjustment modes. After the interpolation is realized, the posture of the robot arm approaches the target posture of the main operator while ensuring that the movement trend of the robot arm is the same as the movement trend of the main operator.
[0017] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0019] Figure 1 This is a flow chart of a method for controlling the posture of a robotic arm provided in the first embodiment of the present invention;
[0020] Figure 2 This is a schematic diagram of posture interpolation in a pursuit mode provided by the first embodiment of the present invention;
[0021] Figure 3 This is a schematic diagram of posture interpolation in a waiting mode provided by the first embodiment of the present invention;
[0022] Figure 4 This is a flow chart of a method for controlling the posture of a robotic arm provided in the second embodiment of the present invention;
[0023] Figure 5 Schematic diagram of the structure of a robot arm posture control device provided by the third embodiment of the present invention;
[0024] Figure 6 This is a structural diagram of an electronic device provided in Example 4 of the present invention. DETAILED DESCRIPTION
[0025] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0026] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0027] Example 1
[0028] Figure 1 This is a flowchart of a robotic arm posture control method provided in Example 1 of the present invention. This embodiment is applicable to the situation of controlling the posture of the robotic arm of a surgical robot. The method can be executed by a robotic arm posture control device. The robotic arm posture control device can be implemented in the form of hardware and / or software. The robotic arm posture control device can be configured in the console of the surgical robot. The surgical robot system includes a main manipulator and a robotic arm. The main manipulator is used to control the movement of the robotic arm. There is a motion mapping relationship between the main manipulator and the robotic arm.
[0029] like Figure 1 As shown, the method includes:
[0030] S110. When entering the posture adjustment mode, determine the adjustment mode of the robotic arm based on the actual posture of the robotic arm at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment.
[0031] Among them, the posture adjustment mode is used to adjust the posture of the manipulator through posture interpolation. In the posture adjustment mode, the adjustment mode of the manipulator includes two adjustment modes: one is a catch-up mode and the other is a waiting mode. In the catch-up mode, the posture difference between the manipulator and the master operator is increasing, and the master operator's target posture is moving away from the manipulator's actual posture at the current moment. The manipulator's posture needs to be adjusted to catch up with the master operator. In the waiting mode, the posture difference between the manipulator and the master operator is decreasing, and the master operator's target posture is approaching the manipulator's actual posture at the current moment. The manipulator's posture needs to be adjusted to catch up with the master operator while not exceeding the master operator to ensure that the movement trend of the master operator and the manipulator are the same. This can be understood as suppressing the speed of the manipulator's posture change, and the manipulator is in a waiting trend as a whole. In this embodiment, the adjustment mode of the manipulator can be determined based on the manipulator's actual posture at the current moment, the master operator's target posture at the previous moment, and the master operator's target posture at the current moment.
[0032] On the basis of the above embodiment, optionally, the adjustment mode of the robotic arm is determined based on the actual posture of the robotic arm at the current moment, the target posture of the main operator at the previous moment, and the target posture of the main operator at the current moment, including: determining a first posture change speed based on the actual posture of the robotic arm at the current moment and the target posture of the main operator at the previous moment; determining a second posture change speed based on the actual posture of the robotic arm at the current moment and the target posture of the main operator at the current moment; if the first posture change speed is less than or equal to the second posture change speed, the adjustment mode of the robotic arm is the catching-up mode; if the first posture change speed is greater than the second posture change speed, the adjustment mode of the robotic arm is the waiting mode.
[0033] The first posture change rate refers to the posture change rate between the actual posture of the manipulator at the current moment and the target posture of the master operator at the previous moment. Specifically, the posture angle between the two quaternions can be calculated based on the quaternion of the actual posture of the manipulator at the current moment and the quaternion of the target posture of the master operator at the previous moment, i.e., the first posture change rate. The second posture change rate refers to the posture change rate between the actual posture of the manipulator at the current moment and the target posture of the master operator at the current moment. The posture angle between the two quaternions can be calculated based on the quaternion of the actual posture of the manipulator at the current moment and the quaternion of the target posture of the master operator at the current moment, i.e., the second posture change rate.
[0034] For example, the Cartesian space posture is generally represented as a 3*3 posture matrix, which can be expressed as:
[0035]
[0036] The attitude can be expressed by attitude quaternion, such as: q = [ω xyz];
[0037] in,
[0038] x=(η z -α y ) / ω,
[0039] y=(α x -s z ) / ω,
[0040] z=(s y –η x ) / ω;
[0041] The above transformation can be expressed as: q = [ω xyz] = f r2q (R).
[0042] Taking the first posture change speed as an example, the posture quaternion of the actual posture of the robot arm at the current moment is:
[0043] q cur =f r2q (R cur )=[ω cur x cur y cur z cur ],
[0044] The quaternion of the target posture of the master manipulator at the previous moment is:
[0045] q dly =f r2q (R dly )=[ω dly x dly x dly z dly ],
[0046] Therefore, the calculation formula for the first posture change speed can be obtained as follows:
[0047] θ dly =acos(ω cur *ω dly +x cur *x dly +y cur *x dly +z cur *z dly ).
[0048] It can be understood that the above formula can be expressed as dly =f CalDiff (q cur ,qdly )express.
[0049] Similarly, the target posture quaternion of the master manipulator at the current moment is:
[0050] q in =f r2q (R in )=[ω in x in y in z in ];
[0051] The calculation formula for the second posture change speed is:
[0052] θ cur =acos(ω cur *ω in +x cur *x in +y cur *x in +z cur *z in );
[0053] Similarly, the calculation formula for the second posture change speed can be expressed as:
[0054] θ cur =f CalDiff (q cur ,q in ).
[0055] In this embodiment, the first posture change speed and the second posture change speed are compared. If the first posture change speed is less than or equal to the second posture change speed, it indicates that the gap between the posture of the main operator and the posture of the robotic arm is increasing, and the adjustment mode of the robotic arm is determined to be the catching-up mode; if the first posture change speed is greater than the second posture change speed, it indicates that the gap between the posture of the main operator and the posture of the robotic arm is decreasing, and the adjustment mode of the robotic arm is determined to be the waiting mode to ensure that the movement trends of the main operator and the robotic arm are the same. For example, when θ dly ≤θ cur , it indicates that the target posture is moving away from the actual posture of the robot arm at the current moment, which is defined as "catch-up mode". Figure 2 As shown; when θ dly >θ cur , it indicates that the target posture is approaching the actual posture of the robot arm at the current moment, which is defined as "waiting mode". Figure 3 shown.
[0056] S120. Based on the starting posture point and the target posture point corresponding to the adjustment mode, interpolation processing is performed to obtain an interpolated posture, the adjustment posture of the robotic arm is determined based on the interpolated posture, and the movement of the robotic arm is controlled based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different.
[0057] The starting posture point and target posture point refer to the starting posture point and target posture point for posture interpolation. Different adjustment modes correspond to different starting posture points. Specifically, in the pursuit mode, the starting posture point is the actual posture of the robot arm at the current moment, and the target posture point is the target posture of the master operator at the current moment. In the waiting mode, the starting posture point is the target posture of the master operator at the previous moment, and the target posture point is the target posture of the master operator at the current moment. It should be noted that since the robot arm performs posture movement with the posture of the master operator as the target, the target posture of the master operator at the previous moment or at the current moment actually refers to the actual posture of the master operator at the previous moment or at the current moment.
[0058] In this embodiment, for different adjustment modes, posture interpolation processing is performed based on the starting posture point and target posture point corresponding to the adjustment mode to obtain an interpolated posture. Further, the adjustment posture of the robot arm is determined based on the interpolated posture, and the movement of the robot arm is controlled by the adjustment posture. The adjustment posture refers to the posture of the robot arm obtained after posture interpolation.
[0059] On the basis of the above embodiment, optionally, interpolation processing is performed based on the starting posture point and the target posture point corresponding to the adjustment mode to obtain an interpolated posture, and the adjustment posture of the robotic arm is determined based on the interpolated posture, including: in the catch-up mode, interpolation processing is performed based on a first preset step size from the actual posture of the robotic arm at the current moment to the target posture of the main operator at the current moment to obtain a first interpolated posture, and the first interpolated posture is determined as the adjustment posture of the robotic arm; wherein the first preset step size is greater than the posture change speed and the first preset step size is a multiple of the posture change speed of the main operator, and the first preset step size is less than the posture change speed from the actual posture of the robotic arm at the current moment to the target posture of the main operator at the current moment.
[0060] Among them, the first preset step size refers to the step size of posture interpolation in the catch-up mode. Specifically, in the catch-up mode, the posture interpolation tends to catch up with the target posture as a whole. In order to prevent the main operator from moving too fast, the step size of the posture interpolation needs to be constrained. The first preset step size is greater than the posture change speed of the main operator's target posture and the first preset step size is a multiple of the posture change speed of the main operator's target posture. The first preset step size is less than the posture change speed from the actual posture of the robot arm at the current moment to the target posture of the main operator at the current moment.
[0061] Exemplarily, the first preset step length in the catch-up mode may be:
[0062] θ inp1 =1.5*θ mov
[0063] Among them, θ inp1 represents the first preset step size, θ mov It is necessary to note that when θ inp1 >Threshold_inp, θ inp1 =Threshold_inp; Threshold_inp is the maximum interpolation step length set according to the following capability of the robot arm. It can be understood that if the first preset step length exceeds the maximum interpolation step length set according to the following capability of the robot arm, the maximum interpolation step length will be used as the first preset step length.
[0064] In this embodiment, in the catch-up mode, a posture interpolation process is performed from the actual posture of the manipulator at the current moment to the target posture of the master manipulator at the current moment with a first preset step size to obtain a first interpolated posture, and the first interpolated posture is determined as the adjustment posture of the manipulator. The first interpolated posture refers to the posture obtained after interpolation based on the first preset step size. For example, the interpolation formula of the first interpolated posture is as follows:
[0065]
[0066] Let t = θ inp1 / θ cur (t<1);
[0067] Among them, q inp1 The attitude quaternion representing the first interpolated attitude, q cur The attitude quaternion representing the starting attitude point, that is, the attitude quaternion of the actual attitude of the robotic arm at the current moment; q in The attitude quaternion representing the target attitude point, that is, the attitude quaternion of the target attitude of the master manipulator at the current moment, θ cur Indicates the posture change speed between the actual posture of the robot arm at the current moment and the target posture of the main manipulator at the current moment, θ inp1 Indicates the first preset step size.
[0068] Furthermore, the posture quaternion of the first interpolated posture can be converted into a posture matrix, and the converted posture matrix is used as the adjustment posture of the robotic arm. For example, the posture matrix for adjusting the posture in the pursuit mode is as follows:
[0069]
[0070] On the basis of the above embodiment, optionally, interpolation processing is performed based on the starting posture point and the target posture point corresponding to the adjustment mode to obtain an interpolated posture, and the adjustment posture of the robotic arm is determined based on the interpolated posture, including: in the waiting mode, interpolation processing is performed from the target posture of the main operator at the previous moment to the target posture of the main operator at the current moment based on a second preset step size to obtain a second interpolated posture; the second preset step size is less than the posture change speed of the target posture of the main operator; the posture difference is determined based on the second interpolated posture and the target posture of the main operator at the previous moment, and the adjustment posture of the robotic arm is determined based on the posture difference and the actual posture of the robotic arm at the current moment.
[0071] The second preset step size refers to the step size for posture interpolation in the waiting mode. Specifically, the second preset step size is smaller than the posture change speed of the target posture of the master manipulator. For example, the second preset step size in the waiting mode can be:
[0072] θ inp2 =0.6*θ mov
[0073] Among them, θ inp2 represents the second preset step size, θ mov Indicates the posture change speed of the master manipulator's target posture.
[0074] In this embodiment, in the waiting mode, posture interpolation processing is performed from the target posture of the master operator at the previous moment to the target posture of the master operator at the current moment with a second preset step size to obtain a second interpolated posture. The second interpolated posture refers to the posture obtained after interpolation based on the second preset step size. For example, the interpolation formula of the second interpolated posture is as follows:
[0075]
[0076] t=θ inp2 / θ mov
[0077] Among them, q inp2 The attitude quaternion representing the second interpolated attitude, q dly The attitude quaternion representing the starting attitude point, that is, the attitude quaternion of the target attitude of the master manipulator at the previous moment; q in The attitude quaternion representing the target attitude point, that is, the attitude quaternion of the target attitude of the master manipulator at the current moment, θ mov Indicates the posture change speed of the master manipulator's target posture, θ inp2 Indicates the second preset step size.
[0078] The posture difference refers to the matrix difference between the posture matrix of the second interpolated posture and the posture matrix of the target posture of the master manipulator at the previous moment. In this embodiment, the posture quaternion of the second interpolated posture is converted into a posture matrix, and the posture difference is determined based on the posture matrix of the second interpolated posture and the posture matrix of the target posture of the master manipulator at the previous moment. The adjusted posture of the manipulator is determined based on the posture difference and the actual posture of the manipulator at the current moment.
[0079] Exemplarily, the pose matrix of the second interpolated pose is as follows:
[0080]
[0081] The attitude difference can be expressed as:
[0082] The calculation formula for adjusting the posture is: R E2 =Δ*R cur
[0083] Among them, R inp2 The pose matrix representing the second interpolated pose, R dly represents the posture matrix of the target posture of the master manipulator at the previous moment, Δ represents the posture difference, that is, the posture matrix R of the second interpolated posture inp2 and the posture matrix R of the target posture of the master manipulator at the previous moment dly The matrix difference, R E2 The attitude matrix representing the attitude adjustment in waiting mode.
[0084] In some embodiments, optionally, after obtaining the adjustment posture, the method further includes: if the posture difference between the adjustment posture and the target posture of the main operator at the current moment is less than a preset synchronization judgment threshold, then determining that the main operator is synchronized with the robotic arm posture, and turning off the posture adjustment mode.
[0085] Among them, the preset synchronization determination threshold is used to determine whether the posture of the main operator is basically synchronized with the posture of the manipulator. In this embodiment, the posture difference between the adjusted posture of the manipulator and the target posture of the main operator at the current moment is determined. If the posture difference is less than the preset synchronization determination threshold, it is determined that the posture of the main operator is synchronized with the posture of the manipulator. At this time, the posture of the manipulator is infinitely close to the target posture of the main operator, and the following ability of the manipulator can satisfy the manipulator to follow the main operator in movement. There is no need to adjust the posture again, and the posture adjustment mode is turned off. It can be understood that if the posture difference is greater than or equal to the preset synchronization determination threshold, it indicates that the posture of the manipulator still needs to be adjusted, and the posture interpolation adjustment continues in the posture adjustment mode.
[0086] The technical solution of this embodiment is to determine the adjustment mode of the manipulator arm based on the actual posture of the manipulator arm at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment when entering the posture adjustment mode; perform interpolation processing based on the starting posture point and target posture point corresponding to the adjustment mode to obtain an interpolated posture, determine the adjustment posture of the manipulator arm based on the interpolated posture, and control the movement of the manipulator arm based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different. Under the posture adjustment mode, the adjustment mode is determined, and then different starting posture points are selected for posture interpolation for different adjustment modes. After interpolation, the posture of the manipulator arm approaches the target posture of the master operator while ensuring that the movement trend of the manipulator arm is the same as that of the master operator.
[0087] Example 2
[0088] Figure 4 This is a flow chart of a robot arm posture control method provided by the second embodiment of the present invention. In addition to the above embodiments, before entering the posture adjustment mode, this embodiment further includes: determining the posture change speed of the main operator based on the target posture of the main operator at the previous moment and the target posture at the current moment; judging the posture change speed of the main operator, and if the posture change speed of the main operator is greater than the posture change speed threshold, entering the posture adjustment mode. Correspondingly, the method further includes: if the posture change speed of the main operator is less than or equal to the posture change speed threshold, controlling the movement of the robot arm based on the target posture of the main operator at the current moment. Among them, the explanations of the terms that are the same as or corresponding to the above embodiments are not repeated here.
[0089] like Figure 4 As shown, the method includes:
[0090] S210. Determine the posture change speed of the target posture of the master operator based on the target posture of the master operator at the previous moment and the target posture of the master operator at the current moment, and judge the posture change speed of the target posture of the master operator. If the posture change speed of the master operator is greater than the posture change speed threshold, enter the posture adjustment mode.
[0091] The posture change speed threshold is used to determine whether the posture change speed of the master operator exceeds the following capability of the manipulator. Specifically, the posture change speed threshold can be determined based on the following capability of the manipulator, which is not limited here. In this embodiment, the posture change speed of the master operator's target posture is determined based on the master operator's target posture at the previous moment and the target posture at the current moment. The posture change speed of the master operator's target posture is determined. If the posture change speed of the master operator's target posture is greater than the posture change speed threshold, it indicates that the posture change speed of the master operator is too fast, resulting in the manipulator being unable to follow the movement of the master operator, and it is necessary to enter the posture adjustment mode to adjust the manipulator's posture.
[0092] In some embodiments, optionally, the method further includes: if the posture change speed of the target posture of the master operator is less than or equal to the posture change speed threshold, controlling the movement of the robotic arm based on the target posture of the master operator at the current moment.
[0093] It can be understood that if the posture change speed of the target posture of the master operator is less than or equal to the posture change speed threshold, it indicates that the following ability of the robotic arm can meet the posture change speed of the target posture of the master operator, and the target posture of the master operator at the current moment is used as the posture of the robotic arm to control the movement of the robotic arm.
[0094] S220. When entering the posture adjustment mode, determine the adjustment mode of the robotic arm based on the actual posture of the robotic arm at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment.
[0095] S230. Based on the starting posture point and the target posture point corresponding to the adjustment mode, interpolation processing is performed to obtain an interpolated posture, the adjustment posture of the robotic arm is determined based on the interpolated posture, and the movement of the robotic arm is controlled based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different.
[0096] The technical solution of this embodiment determines the posture change speed of the master operator's target posture based on the master operator's target posture at the previous moment and the master operator's target posture at the current moment before entering the posture adjustment mode. If the posture change speed of the master operator's target posture is greater than the posture change speed threshold, the posture adjustment mode is entered. This avoids posture interpolation when it is not necessary, which wastes computing resources.
[0097] Example 3
[0098] Figure 5 This is a schematic diagram of the structure of a robot arm posture control device provided by the third embodiment of the present invention. Figure 5As shown, the device is applied to a surgical robot system, which includes a main manipulator and a robotic arm. The main manipulator is used to control the movement of the robotic arm. There is a motion mapping relationship between the main manipulator and the robotic arm, including:
[0099] an adjustment mode determination module 310 for determining the adjustment mode of the manipulator based on the actual posture of the manipulator at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment when entering the posture adjustment mode;
[0100] The posture interpolation module 320 is used to perform interpolation processing based on the starting posture point and the target posture point corresponding to the adjustment mode to obtain an interpolated posture, determine the adjustment posture of the robotic arm based on the interpolated posture, and control the movement of the robotic arm based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different.
[0101] The technical solution of this embodiment is to determine the adjustment mode of the manipulator arm based on the actual posture of the manipulator arm at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment when entering the posture adjustment mode; perform interpolation processing based on the starting posture point and target posture point corresponding to the adjustment mode to obtain an interpolated posture, determine the adjustment posture of the manipulator arm based on the interpolated posture, and control the movement of the manipulator arm based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different. Under the posture adjustment mode, the adjustment mode is determined, and then different starting posture points are selected for posture interpolation for different adjustment modes. After interpolation, the posture of the manipulator arm approaches the target posture of the master operator while ensuring that the movement trend of the manipulator arm is the same as that of the master operator.
[0102] On the basis of the above embodiment, optionally, the device also includes a posture adjustment mode start-up judgment module, which is used to determine the posture change speed of the target posture of the main operator based on the target posture of the main operator at the previous moment and the target posture at the current moment; the posture change speed of the target posture of the main operator is judged, and if the posture change speed of the main operator is greater than the posture change speed threshold, the posture adjustment mode is entered.
[0103] Based on the above embodiment, optionally, the adjustment mode includes a catching-up mode and a waiting mode; the adjustment mode determination module 310 is specifically used to determine a first posture change speed based on the actual posture of the robotic arm at the current moment and the target posture of the main operator at the previous moment; determine a second posture change speed based on the actual posture of the robotic arm at the current moment and the target posture of the main operator at the current moment; if the first posture change speed is less than the second posture change speed, the adjustment mode of the robotic arm is the catching-up mode; if the first posture change speed is greater than or equal to the second posture change speed, the adjustment mode of the robotic arm is the waiting mode.
[0104] On the basis of the above embodiment, optionally, the starting posture point and target posture point corresponding to the catching-up mode are the actual posture of the robotic arm at the current moment and the target posture of the main operator at the current moment, respectively; the posture interpolation module 320 is used to, in the catching-up mode, perform interpolation processing from the actual posture of the robotic arm at the current moment to the target posture of the main operator at the current moment based on a first preset step size, to obtain a first interpolated posture, and determine the first interpolated posture as the adjustment posture of the robotic arm; wherein, the first preset step size is greater than the posture change speed of the target posture of the main operator and the first preset step size is a multiple of the posture change speed of the target posture of the main operator, and the first preset step size is less than the posture change speed from the actual posture of the robotic arm at the current moment to the target posture of the main operator at the current moment.
[0105] Based on the above embodiment, optionally, the starting posture point and target posture point corresponding to the waiting mode are the target posture of the master operator at the previous moment and the target posture of the master operator at the current moment, respectively; the posture interpolation module 320 is used to, in the waiting mode, perform interpolation processing from the target posture of the master operator at the previous moment to the target posture of the master operator at the current moment based on a second preset step size to obtain a second interpolated posture; the second preset step size is less than the posture change speed of the master operator's target posture; the posture difference is determined based on the second interpolated posture and the target posture of the master operator at the previous moment, and the adjustment posture of the robotic arm is determined based on the posture difference and the actual posture of the robotic arm at the current moment.
[0106] Based on the above embodiment, optionally, the posture adjustment mode on determination module is also used to control the movement of the robotic arm based on the target posture of the master operator at the current moment if the posture change speed of the target posture of the master operator is less than or equal to the posture change speed threshold.
[0107] Based on the above embodiment, the device may optionally further include a posture adjustment mode closing judgment module, which is used to determine that the posture of the main operator is synchronized with that of the robotic arm if the posture difference between the adjustment posture and the target posture of the main operator at the current moment is less than a preset synchronization judgment threshold, and to close the posture adjustment mode.
[0108] The robotic arm posture control device provided in the embodiment of the present invention can execute the robotic arm posture control method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0109] Example 4
[0110] Figure 6 1 is a structural diagram of an electronic device provided in Embodiment 4 of the present invention. The electronic device 10 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0111] like Figure 6 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., which is communicatively connected to the at least one processor 11. The memory stores a computer program that can be executed by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. Various programs and data required for the operation of the electronic device 10 can also be stored in the RAM 13. The processor 11, ROM 12, and RAM 13 are connected to each other via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0112] Multiple components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0113] The processor 11 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the robotic arm posture control method.
[0114] In some embodiments, the robot arm posture control method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the robot arm posture control method described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to execute the robot arm posture control method in any other appropriate manner (for example, by means of firmware).
[0115] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0116] Computer programs for implementing the robot arm posture control method of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0117] Example 5
[0118] Embodiment 5 of the present invention further provides a computer-readable storage medium storing computer instructions, the computer instructions being used to cause a processor to execute a method for controlling a robotic arm posture, the method being applied to a surgical robot system, the surgical robot system including a master manipulator and a robotic arm, the master manipulator being used to control the movement of the robotic arm, a motion mapping relationship being established between the master manipulator and the robotic arm, the method comprising:
[0119] When entering the posture adjustment mode, the adjustment mode of the manipulator is determined based on the actual posture of the manipulator at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment;
[0120] Based on the starting posture point and target posture point corresponding to the adjustment mode, interpolation processing is performed to obtain the interpolated posture, the adjustment posture of the robot arm is determined based on the interpolated posture, and the movement of the robot arm is controlled based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different.
[0121] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0122] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0123] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0124] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0125] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0126] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A method for controlling the posture of a robotic arm, characterized in that: Applied to a surgical robot system, the surgical robot system includes a main manipulator and a robotic arm, the main manipulator is used to control the movement of the robotic arm, and a motion mapping relationship exists between the main manipulator and the robotic arm. The method includes: When entering the posture adjustment mode, determining the adjustment mode of the robotic arm based on the actual posture of the robotic arm at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment; performing interpolation processing based on the starting posture point and the target posture point corresponding to the adjustment mode to obtain an interpolated posture, determining the adjustment posture of the robotic arm based on the interpolated posture, and controlling the movement of the robotic arm based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different; The adjustment modes include a chasing mode and a waiting mode, and the starting posture points corresponding to the different adjustment modes are different, including: The starting posture point and the target posture point corresponding to the pursuit mode are respectively the actual posture of the manipulator at the current moment and the target posture of the master manipulator at the current moment; The starting posture point and the target posture point corresponding to the waiting mode are respectively the target posture of the master operator at the previous moment and the target posture of the master operator at the current moment.
2. The method according to claim 1, characterized in that Before entering the posture adjustment mode, the method further includes: Determining a posture change speed of the target posture of the master operator based on the target posture of the master operator at a previous moment and the target posture of the master operator at a current moment; The posture change speed of the target posture of the master operator is determined. If the posture change speed of the master operator is greater than a posture change speed threshold, the posture adjustment mode is entered.
3. The method according to claim 2, characterized in that The adjustment mode includes a catch-up mode and a waiting mode; the adjustment mode of the manipulator is determined based on the actual posture of the manipulator at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment, including: Determining a first posture change speed based on the actual posture of the robotic arm at a current moment and the target posture of the master manipulator at a previous moment; Determining a second posture change speed based on the actual posture of the manipulator at the current moment and the target posture of the master manipulator at the current moment; If the first posture change speed is less than or equal to the second posture change speed, the adjustment mode of the robotic arm is the catching-up mode; If the first posture change speed is greater than the second posture change speed, the adjustment mode of the robotic arm is the waiting mode.
4. The method according to claim 3, characterized in that The starting posture point and the target posture point corresponding to the pursuit mode are respectively the actual posture of the manipulator at the current moment and the target posture of the master manipulator at the current moment; The interpolation processing is performed based on the starting posture point and the target posture point corresponding to the adjustment mode to obtain an interpolation posture, and the adjustment posture of the robotic arm is determined based on the interpolation posture, including: In the catching-up mode, interpolating the actual posture of the robotic arm at the current moment to the target posture of the master manipulator at the current moment based on a first preset step size to obtain a first interpolated posture, and determining the first interpolated posture as the adjusted posture of the robotic arm; Among them, the first preset step size is greater than the posture change speed of the target posture of the master operator and the first preset step size is a multiple of the posture change speed of the target posture of the master operator, and the first preset step size is less than the posture change speed from the actual posture of the robotic arm at the current moment to the target posture of the master operator at the current moment.
5. The method according to claim 3, characterized in that The starting posture point and the target posture point corresponding to the waiting mode are respectively the target posture of the master operator at the previous moment and the target posture of the master operator at the current moment; The interpolation processing is performed based on the starting posture point and the target posture point corresponding to the adjustment mode to obtain an interpolation posture, and the adjustment posture of the robotic arm is determined based on the interpolation posture, including: In the waiting mode, interpolating the target posture of the master operator at a previous moment to the target posture of the master operator at a current moment based on a second preset step size to obtain a second interpolated posture; the second preset step size is less than a posture change speed of the target posture of the master operator; A posture difference is determined based on the second interpolated posture and the target posture of the master manipulator at the previous moment, and an adjusted posture of the robotic arm is determined based on the posture difference and the actual posture of the robotic arm at the current moment.
6. The method according to claim 2, characterized in that The method further comprises: If the posture change speed of the master manipulator is less than or equal to the posture change speed threshold, the movement of the robotic arm is controlled based on the target posture of the master manipulator at the current moment.
7. The method according to claim 1, characterized in that After obtaining the adjustment posture, the method further includes: If the posture difference between the adjustment posture and the target posture of the master operator at the current moment is less than a preset synchronization determination threshold, it is determined that the master operator is synchronized with the robot arm posture, and the posture adjustment mode is turned off.
8. A robot arm posture control device, characterized in that: Applied to a surgical robot system, the surgical robot system includes a main manipulator and a robotic arm, the main manipulator is used to control the movement of the robotic arm, and there is a motion mapping relationship between the main manipulator and the robotic arm. The device includes: an adjustment mode determination module, configured to determine, when entering a posture adjustment mode, the adjustment mode of the robotic arm based on the actual posture of the robotic arm at the current moment, the target posture of the master operator at the previous moment, and the target posture of the master operator at the current moment; a posture interpolation module, configured to perform interpolation processing based on the starting posture point and the target posture point corresponding to the adjustment mode to obtain an interpolated posture, determine the adjustment posture of the robotic arm based on the interpolated posture, and control the movement of the robotic arm based on the adjustment posture, wherein the starting posture points corresponding to different adjustment modes are different; The adjustment modes include a chasing mode and a waiting mode, and the starting posture points corresponding to the different adjustment modes are different, including: The starting posture point and the target posture point corresponding to the pursuit mode are respectively the actual posture of the manipulator at the current moment and the target posture of the master manipulator at the current moment; The starting posture point and the target posture point corresponding to the waiting mode are respectively the target posture of the master operator at the previous moment and the target posture of the master operator at the current moment.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot arm posture control method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot arm posture control method according to any one of claims 1 to 7 when executed.
Citation Information
Patent Citations
Endoscopic surgery control system
CN115300110A
Mechanical arm tracking method, device and equipment and storage medium
CN116000925A