The present invention relates to a robotic surgical system, a control device of a robotic surgical system, and a control method of a robotic surgical system, and more particularly, it relates to a robotic surgical system, a control device of a robotic surgical system, and a control method of a robotic surgical system to control the operation of a surgical instrument based on an operation received by an operation unit.
Conventionally, a robotic surgical system including an arm, a tool (surgical instrument) connected to an end of the arm, and an input handle (operation unit) is known. For example, in a robotic surgical system described in Japanese Translation of PCT International Application Publication No 2018-505739, movement of a surgical instrument is controlled based on the amount of operation received by an operation unit. The surgical instrument moves within the body of a patient, which is a surgical site.
However, conventionally, there is room for improvement in terms of protection of components such as motors included in arm joints and reduction or prevention of arm vibrations. For example, when the amount of operation received by an input handle is large, the amount of movement of an arm per unit time becomes large. In this case, the motors provided at the arm joints may rotate at an excessively high speed, and components of the motors may be damaged. Furthermore, the arm may vibrate due to the large amount of movement of the arm per unit time.
The present disclosure is intended to solve the above problems. The present disclosure aims to provide a robotic surgical system, a control device of a robotic surgical system, and a control method of a robotic surgical system each capable of protecting components of joints of a manipulator arm and reducing or preventing vibrations of the manipulator arm.
In order to attain the aforementioned object, a robotic surgical system according to a first aspect of the present disclosure includes a patient-side apparatus including a manipulator arm having a tip end side to which a surgical instrument is attached, an operator-side apparatus including an operation unit to receive an operation on the surgical instrument, and a controller configured or programmed to calculate a speed command value and an acceleration command value to operate the surgical instrument based on the received operation, and control operation of the surgical instrument based on the speed command value and the acceleration command value. The controller is configured or programmed to limit the speed command value within a range of a speed limit value, and limit the acceleration command value within a range of an acceleration limit value.
In the robotic surgical system according to the first aspect of the present disclosure, as described above, the controller is configured or programmed to limit the speed command value within the range of the speed limit value, and limit the acceleration command value within the range of the acceleration limit value. Accordingly, even when the amount of operation received by the operation unit is relatively large, both the speed command value and the acceleration command value are limited, and thus an increase in the amount of movement of the manipulator arm per unit time is reduced or prevented. Therefore, rotation of motors provided at joints of the manipulator arm at an excessively high speed is reduced or prevented, and thus components of the joints of the manipulator arm, such as the motors, can be protected. Furthermore, an increase in the amount of movement of the manipulator arm per unit time is reduced or prevented, and thus vibrations of the manipulator arm due to the large amount of movement of the manipulator arm per unit time can be reduced or prevented. Consequently, the components of the joints of the manipulator arm can be protected, and the vibrations of the manipulator arm can be reduced or prevented.
A control device of a robotic surgical system according to a second aspect of the present disclosure is a control device of a robotic surgical system including a patient-side apparatus including a manipulator arm having a tip end side to which a surgical instrument is attached, and an operator-side apparatus including an operation unit to receive an operation on the surgical instrument, and includes a controller configured or programmed to calculate a speed command value and an acceleration command value to operate the surgical instrument based on the received operation, and control operation of the surgical instrument based on the speed command value and the acceleration command value. The controller is configured or programmed to limit the speed command value within a range of a speed limit value, and limit the acceleration command value within a range of an acceleration limit value.
In the control device of the robotic surgical system according to the second aspect of the present disclosure, as described above, the controller is configured or programmed to limit the speed command value within the range of the speed limit value, and limit the acceleration command value within the range of the acceleration limit value. Accordingly, even when the amount of operation received by the operation unit is relatively large, both the speed command value and the acceleration command value are limited, and thus an increase in the amount of movement of the manipulator arm per unit time is reduced or prevented. Therefore, rotation of motors provided at joints of the manipulator arm at an excessively high speed is reduced or prevented, and thus components of the joints of the manipulator arm, such as the motors, can be protected. Furthermore, an increase in the amount of movement of the manipulator arm per unit time is reduced or prevented, and thus vibrations of the manipulator arm due to the large amount of movement of the manipulator arm per unit time can be reduced or prevented. Consequently, it is possible to provide the control device of the robotic surgical system capable of protecting the components of the joints of the manipulator arm and reducing or preventing the vibrations of the manipulator arm.
A control method of a robotic surgical system according to a third aspect of the present disclosure is a control method of a robotic surgical system including a patient-side apparatus including a manipulator arm having a tip end side to which a surgical instrument is attached, and an operator-side apparatus including an operation unit to receive an operation on the surgical instrument, and includes receiving an operation on the surgical instrument, and calculating a speed command value and an acceleration command value to operate the surgical instrument based on the received operation, and controlling operation of the surgical instrument based on the speed command value and the acceleration command value. The controlling the operation of the surgical instrument based on the speed command value and the acceleration command value includes limiting the speed command value within a range of a speed limit value, and limiting the acceleration command value within a range of an acceleration limit value.
In the control method of the robotic surgical system according to the third aspect of the present disclosure, as described above, the controlling the operation of the surgical instrument based on the speed command value and the acceleration command value includes the limiting the speed command value within the range of the speed limit value, and the limiting the acceleration command value within the range of the acceleration limit value. Accordingly, even when the amount of operation received by operation unit is relatively large, both the speed command value and the acceleration command value are limited, and thus an increase in the amount of movement of the manipulator arm per unit time is reduced or prevented. Therefore, rotation of motors provided at joints of the manipulator arm at an excessively high speed is reduced or prevented, and thus components of the joints of the manipulator arm, such as the motors, can be protected. Furthermore, an increase in the amount of movement of the manipulator arm per unit time is reduced or prevented, and thus vibrations of the manipulator arm due to the large amount of movement of the manipulator arm per unit time can be reduced or prevented. Consequently, it is possible to provide the control method of the robotic surgical system capable of protecting the components of the joints of the manipulator arm and reducing or preventing the vibrations of the manipulator arm.
According to the present disclosure, as described above, it is possible to protect the components of the joints of the manipulator arm and reduce or prevent the vibrations of the manipulator arm.
An embodiment embodying the present disclosure is hereinafter described on the basis of the drawings.
The configuration of a surgical system 100 according to this embodiment is now described with reference to
The remote control apparatus 2 is arranged inside or outside the operating room, for example. The remote control apparatus 2 includes operation manipulator arms 21, operation pedals 22, a touch panel 23, a monitor 24, a support arm 25, and a support bar 26. The operation manipulator arms 21 include operation handles for the surgeon to input commands. The operation manipulator arms 21 receive the amount of operation for a surgical instrument 4. The monitor 24 is a scope-type display that displays an image captured by an endoscope. The support arm 25 supports the monitor 24 so as to align the height of the monitor 24 with the height of the surgeon's face. The touch panel 23 is arranged on the support bar 26. The surgeon's head is detected by a sensor (not shown) provided in the vicinity of the monitor 24 such that the medical manipulator 1 can be operated by the remote control apparatus 2. The surgeon operates the operation manipulator arms 21 and the operation pedals 22 while visually recognizing an affected area on the monitor 24. Thus, a command is input to the remote control apparatus 2. The command input to the remote control apparatus 2 is transmitted to the medical manipulator 1. The operation manipulator arms 21 are examples of an “operation unit” in the claims.
The medical cart 3 includes a controller 31 that controls the operation of the medical manipulator 1 and a storage 32 that stores programs or the like to control the operation of the medical manipulator 1. The controller 31 of the medical cart 3 controls the operation of the medical manipulator 1 based on the command input to the remote control apparatus 2. The controller 31 is an example of a “control device of a robotic surgical system” in the claims.
The medical cart 3 includes an input 33. The input 33 receives operations to move a positioner 40, an arm base 50, and a plurality of manipulator arms 60 or change their postures mainly in order to prepare for surgery before the surgery.
The medical manipulator 1 shown in
The positioner 40 includes a 7-axis articulated robot, for example. The positioner 40 is arranged on the medical cart 3. The positioner 40 moves the arm base 50. Specifically, the positioner 40 moves the position of the arm base 50 three-dimensionally.
The positioner 40 includes a base 41 and a plurality of links 42 coupled to the base 41. The plurality of links 42 are coupled to each other by joints 43.
As shown in
As shown in
As shown in
The pair of forceps 4b is attached to the first support 4e so as to rotate about the rotation axis line R1 of the first axis A1. The second support 4f supports the first support 4e such that the first support 4e is rotatable about the second axis A2. That is, the first support 4e is attached to the second support 4f so as to rotate about the rotation axis line R2 of the second axis A2. A portion of the first support 4e on the tip end side (Z1 direction side) has a U-shape. A tool center point (TCP1) is set at the center of the U-shaped portion of the first support 4e on the tip end side in a rotation axis R1 direction.
As shown in
The configuration of the manipulator arms 60 is now described in detail.
As shown in
The translation mechanism 70 is provided on the tip end side of the arm portion 61, and the surgical instrument 4 is attached thereto. The translation mechanism 70 translates the surgical instrument 4 in a direction in which the surgical instrument 4 is inserted into a patient P. Furthermore, the translation mechanism 70 translates the surgical instrument 4 relative to the arm portion 61. Specifically, the translation mechanism 70 includes the holder 71 that holds the surgical instrument 4. The servomotors M2 (see
The arm portion 61 includes a 7-axis articulated robot arm. The arm portion 61 includes the base 62 to attach the arm portion 61 to the arm base 50, and a plurality of links 63 coupled to the base 62. The plurality of links 63 are coupled to each other by the joints 64.
The translation mechanism 70 translates the surgical instrument 4 attached to the holder 71 along the Z direction (a direction in which the shaft 4c extends) by translating the holder 71 along the Z direction. Specifically, the translation mechanism 70 includes a base end side link 72 connected to the tip end of the arm portion 61, a tip end side link 73, and a coupling link 74 provided between the base end side link 72 and the tip end side link 73. The holder 71 is provided on the tip end side link 73.
The coupling link 74 of the translation mechanism 70 is configured as a double speed mechanism that moves the tip end side link 73 relative to the base end side link 72 along the Z direction. The tip end side link 73 is moved along the Z direction relative to the base end side link 72 such that the surgical instrument 4 provided on the holder 71 is translated along the Z direction. The tip end of the arm portion 61 is connected to the base end side link 72 so as to rotate the base end side link 72 about an X direction orthogonal to the Z direction.
As shown in
The switch unit 83 includes a switch 83a to move the surgical instrument 4 in the direction in which the surgical instrument 4 is inserted into the patient P, along the longitudinal direction of the surgical instrument 4, and a switch 83b to move the surgical instrument 4 in a direction opposite to the direction in which the surgical instrument 4 is inserted into the patient P. Both the switch 83a and the switch 83b are push-button switches.
As shown in
As shown in
As shown in
As shown in
The mode indicator 84a also serves as a pivot position indicator that indicates that the pivot position PP has been taught.
As shown in
As shown in
As shown in
The positioner 40 includes a plurality of servomotors M4, encoders E4, and speed reducers (not shown) so as to correspond to a plurality of joints 43 of the positioner 40. The encoders E4 detect the rotation angles of the servomotors M4. The speed reducers slow down rotation of the servomotors M4 to increase the torques.
The medical cart 3 includes servomotors M5 to drive a plurality of front wheels (not shown) of the medical cart 3, respectively, encoders E5, and speed reducers (not shown). The encoders E5 detect the rotation angles of the servomotors M5. The speed reducers slow down rotation of the servomotors M5 to increase the torques.
The controller 31 of the medical cart 3 includes an arm controller 31a to control movement of the plurality of manipulator arms 60 based on commands, and a positioner controller 31b to control movement of the positioner 40 and driving of the front wheels (not shown) of the medical cart 3 based on commands. Servo controllers C1 that control the servomotors M1 to drive the manipulator arm 60 are electrically connected to the arm controller 31a. The encoders E1 that detect the rotation angles of the servomotors M1 are electrically connected to the servo controllers C1.
Servo controllers C2 that control the servomotors M2 to drive the surgical instrument 4 are electrically connected to the arm controller 31a. The encoders E2 that detect the rotation angles of the servomotors M2 are electrically connected to the servo controllers C2. A servo controller C3 that controls the servomotor M3 to translate the translation mechanism 70 is electrically connected to the arm controller 31a. The encoder E3 that detects the rotation angle of the servomotor M3 is electrically connected to the servo controller C3.
An operation command input to the remote control apparatus 2 is input to the arm controller 31a. The arm controller 31a generates position commands based on the input operation command and the rotation angles detected by the encoders E1 (E2, E3) and outputs the position commands to the servo controllers C1 (C2, C3). The servo controllers C1 (C2, C3) generate torque commands based on the position commands input from the arm controller 31a and the rotation angles detected by the encoders E1 (E2, E3), and output the torque commands to the servomotors M1 (M2, M3). Thus, the manipulator arm 60 is moved according to the operation command input to the remote control apparatus 2.
Specifically, in this embodiment, as shown in
More specifically, the controller 31 performs conversion (inverse conversion) using inverse kinematics on the operation (input position command value xr) received by the operation manipulator arms 21 of the remote control apparatus 2 to calculate an operation command value qr, and differentiates the operation command value qr to calculate the speed command value qr1. Then, the controller 31 limits the speed command value qr1 (specifically, the speed command value qr3 to which the correction command value dqr′ has been added) within the range of the speed limit value lim1. The speed limit value lim1 is predetermined according to the specifications of the servomotors M1, for example.
Furthermore, the controller 31 differentiates the speed command value qlim1 limited within the range of the speed limit value lim1 to calculate the acceleration command value qr2. Moreover, the controller 31 feeds back the speed command value q1 described below and subtracts it from the speed command value qlim1 limited within the range of the speed limit value lim1. The controller 31 multiplies the subtracted value (qlim1−q1) by the gain Kvp, and adds the multiplied value ((qlim1−q1)×Kvp) to the acceleration command value qr2. Then, the controller 31 limits the added value (qr2+(qlim1−q1)×Kvp) within the range of the acceleration limit value lim2.
Then, the controller 31 integrates the acceleration command value qlim2 limited within the range of the acceleration limit value lim2 to calculate the speed command value q1. Furthermore, the controller 31 integrates the speed command value q1 to calculate an operation command value q.
The above control by the controller 31 is performed for each axis of the manipulator arm 60.
In this embodiment, the controller 31 calculates the speed command value qr1 and the acceleration command value qr2 for each axis of the plurality of joints 64. Based on the speed command value qr1 and the acceleration command value qr2 for the axis with the largest limited amounts among the axes of the plurality of joints 64, the controller 31 limits the speed command values qr1 and the acceleration command values qr2 for the remaining axes.
Specifically, in this embodiment, the controller 31 limits the speed command values qr1 for the remaining axes by dividing the speed command values qr1 for the remaining axes by a speed excess ratio of an axis with the largest speed excess ratio with respect to the speed limit value lime among the axes of the plurality of joints 64 for which the speed command values qr1 have been calculated. More specifically, a maximum speed excess ratio α1 is calculated based on the following mathematical formula 1:
where qr1i represents the speed command value qr1 for each axis before being limited. The number of axes of the manipulator arm 60 is twelve including the axes of the arm portion 61 and the axes (linear motion axis and forceps axis) of the translation mechanism 70. In this case, i is any value from 1 to 12. Furthermore, lim1i represents a speed limit value for each axis. The speed excess ratio α1 is a value of 1 or more. The speed excess ratio α1 is 1 when none of the speed command values qr1i for the respective axes exceeds the speed limit value lim1i. The above i may be set to 8 in consideration of only the axes of the arm portion 61 and the linear motion axis of the translation mechanism 70.
Then, a limited speed command value q1imli is calculated by the following mathematical formula 2.
In this embodiment, the acceleration command values qr2 for the remaining axes are limited by dividing the acceleration command values qr2 for the remaining axes by an acceleration excess ratio of an axis with the largest acceleration excess ratio with respect to the acceleration limit value lim2 among the axes of the plurality of joints 64 for which the acceleration command values qr2 have been calculated. Specifically, a maximum acceleration excess ratio α2 is calculated based on the following mathematical formula 3:
where qr2i represents the acceleration command value qr2 for each axis before being limited, and lim2i represents an acceleration limit value for each axis. The acceleration excess ratio α2 is a value of 1 or more. The acceleration excess ratio α2 is 1 when none of the acceleration command values qr2i for the respective axes exceeds the acceleration limit value lim2i.
Then, a limited acceleration command value qlim2i is calculated by the following mathematical formula 4.
An image of limitation of the speed command value qr1 is now described with reference to
For example, the speed command values qr11 and qr12 before limitation are assumed to be 10 and 8, respectively. Assuming that the speed limit value lim11 and the speed limit value lim12 are 2, the speed command values qlim11 and qlim12 after limitation are both 2. That is, a ratio between the speed command value qr11 and the speed command value qr12 before limitation is 10:8 while a ratio between the speed command value qlim11 and the speed command value qlim12 after limitation is 2:2. Therefore, the pivot position PP is disadvantageously deviated.
For example, the speed command value qr11 and the speed command value qr12 before limitation are assumed to be 10 and 8, respectively. Assuming that the speed limit value lim11 and the speed limit value lim12 are 2, the speed excess ratio of the J1 axis is 5 (=10/2), the speed excess ratio of the J1 axis is 4 (=8/2), and α1 is 5 based on the above mathematical formula 1. Then, a ratio between the speed command value qlim11 and the speed command value qlim12 after limitation is 2:8/5 based on the above mathematical formula 2, and a ratio (10:8) before limitation is maintained. Thus, a deviation of the pivot position PP is reduced or prevented.
In this embodiment, as shown in
Specifically, in this embodiment, the operation manipulator arms 21 receive an input position command value xr for the surgical instrument 4. The controller 31 feeds back the calculated operation command value q. Then, the controller 31 performs conversion (forward conversion) using forward kinematics on the fed-back operation command value q to calculate a post-forward-kinematics-conversion command value x. Furthermore, the controller 31 performs conversion (inverse conversion) using inverse kinematics on xr′ calculated using the input position command value xr and the post-forward-kinematics-conversion command value x to calculate a post-inverse-kinematics-conversion command value qr′. Then, the controller 31 calculates the correction command value dqr′ for correcting the deviation of the pivot position PP based on the operation command value q and the post-inverse-kinematics-conversion command value qr′.
More specifically, the controller 31 calculates the post-inverse-kinematics-conversion command value qr′ based on the following mathematical formula 5:
x
r
′=x+β(xr−x)
q
r
′=f
−1(xr′) Mathematical Formula 5
where x represents the current position of the tip end of the pair of forceps 4b, β represents a gain, and f−1 represents conversion using inverse kinematics.
Then, the controller 31 subtracts the operation command value q from the post-inverse-kinematics-conversion command value qr′. Furthermore, the controller 31 multiplies the subtracted value by a gain Kp to calculate the correction command value dqr′ for correcting the deviation of the pivot position PP.
Then, in this embodiment, the controller 31 adds the correction command value dqr′ to the speed command value qr1 before being limited within the range of the speed limit value lim1.
In this embodiment, the controller 31 multiplies the calculated speed command value qr1 by a gain KF of a feedforward control. Then, the controller 31 sets the gain KF of the feedforward control based on a difference (distance L) between a target value, which is a value of a target position for movement of the surgical instrument 4, and a current value, which is a value of the current position of the surgical instrument 4, so as to increase the contribution of a feedback control relative to the contribution of the feedforward control to the speed command value qr1. The distance L between the target value and the current value is a distance L between a value of the target position of the surgical instrument 4 on the base side (on the tip end side of the arm portion 61) and a value of the current position of the surgical instrument 4, for example. As the distance L, a distance between a target axis value and a current axis value may be applied.
Specifically, in this embodiment, as shown in
As shown in
As shown in
The controller 31 (arm controller 31a) operates the manipulator arm 60 based on an input signal from the switch unit 83 of the arm operation unit 80. Specifically, the arm controller 31a generates a position command based on the input signal (operation command) input from the switch unit 83 and the rotation angle detected by the encoders E1 or the encoder E3, and outputs the position command to the servo controllers C1 or the servo controller C3. The servo controllers C1 or the servo controller C3 generates a torque command based on the position command input from the arm controller 31a and the rotation angle detected by the encoders E1 or the encoder E3, and outputs the torque command to the servomotors M1 or the servomotor M3. Thus, the manipulator arm 60 is moved according to the operation command input to the switch unit 83.
As shown in
An operation command related to setting of a preparation position, for example, is input from the input 33 to the positioner controller 31b. The positioner controller 31b generates position commands based on the operation command input from the input 33 and the rotation angles detected by the encoders E4, and outputs the position commands to the servo controllers C4. The servo controllers C4 generate torque commands based on the position commands input from the positioner controller 31b and the rotation angles detected by the encoders E4, and output the torque commands to the servomotors M4. Thus, the positioner 40 is moved according to the operation command input to the input 33. Similarly, the positioner controller 31b moves the medical cart 3 according to an operation command from the input 33.
Control Method of Surgical System A control method of the surgical system 100 is now described with reference to
First, in step S1, the controller 31 receive an operation on the surgical instrument 4.
Then, in step S2, the controller 31 calculates the speed command value qr1 for operating the surgical instrument 4 based on the received operation.
Then, in step S3, the controller 31 multiplies the calculated speed command value qr1 by the gain KF of the feedforward control.
Then, in step S4, the controller 31 limits the speed command value qr1 multiplied by the gain KF of the feedforward control within the range of the speed limit value lim1.
Then, in step S5, the controller 31 calculates the acceleration command value qr2 by differentiating the speed command value qlim1 limited within the range of the speed limit value lim1, and limits the acceleration command value qr2 within the range of the acceleration limit value lim2.
Then, in step S6, the controller 31 calculates the operation command value q based on the speed command value qlim1 limited within the range of the speed limit value lim1 and the acceleration command value qlim2 limited within the range of the acceleration limit value lim2, and controls the operation of the surgical instrument 4 based on the operation command value q.
Then, in step S7, the controller 31 feeds back the calculated operation command value q. Then, the controller 31 calculates the correction command value dqr′ for correcting the deviation of the pivot position PP based on the fed-back operation command value q and the input position command value xr. The controller 31 adds the calculated correction command value dqr′ to the speed command value qr1 before being limited within the range of the speed limit value lim1.
The operations in step S1 to step S7 described above are constantly performed during the operation of the manipulator arm 60, and are performed for each of the plurality of manipulator arms 60.
According to this embodiment, the following advantages are achieved.
According to this embodiment, as described above, the controller 31 is configured or programmed to limit the speed command value qr1 within the range of the speed limit value lim1, and limit the acceleration command value qr2 within the range of the acceleration limit value lim2. Accordingly, even when the amount of operation received by the operation manipulator arms 21 is relatively large, both the speed command value qr1 and the acceleration command value qr2 are limited, and thus an increase in the amount of movement of the manipulator arm 60 per unit time is reduced or prevented. Therefore, rotation of the servomotors M1 provided at the joints 64 of the manipulator arm 60 at an excessively high speed is reduced or prevented, and thus components of the joints 64 of the manipulator arm 60, such as the servomotors M1, can be protected. Furthermore, an increase in the amount of movement of the manipulator arm 60 per unit time is reduced or prevented, and thus vibrations of the manipulator arm 60 due to the large amount of movement of the manipulator arm 60 per unit time can be reduced or prevented. Consequently, the components of the joints 64 of the manipulator arm 60 can be protected, and the vibrations of the manipulator arm 60 can be reduced or prevented.
According to this embodiment, as described above, the manipulator arm 60 includes the plurality of joints 64, and the controller 31 is configured or programmed to calculate the speed command value qr1 and the acceleration command value qr2 for each axis of the plurality of joints 64, and limit, based on the limitation ratios of the speed command value qr1 and the acceleration command value qr2 for the axis with the largest limited amounts of the speed command value qr1 and the acceleration command value qr2 among the axes of the plurality of joints 64, the speed command values qr1 and the acceleration command values qr2 for the remaining axes. In the surgical system 100, the pivot position PP that serves as a fulcrum for rotational movement of the surgical instrument 4 is set, and the speed command value qr1 and the acceleration command value qr2 for each axis are set so as not to deviate the pivot position PP. That is, the relationship between the speed command values qr1 for the respective axes is maintained constant, and the relationship between the acceleration command values qr2 for the respective axes is maintained constant. However, when the speed command value qr1 and the acceleration command value qr2 are limited for each axis of the plurality of joints 64, the constant relationship between the speed command values qr1 for the respective axes and the constant relationship between the acceleration command values qr2 for the respective axes are broken. Therefore, as described above, the speed command values qr1 and the acceleration command values qr2 for the remaining axes are limited based on the limitation ratios of the speed command value qr1 and the acceleration command value qr2 for the axis with the largest limited amounts such that the broken constant relationship between the speed command values qr1 for the respective axes and the broken constant relationship between the acceleration command values qr2 for the respective axes are reduced or prevented, and thus the deviation of the pivot position PP can be reduced or prevented while the components of the joints 64 of the manipulator arm 60 are protected, and the vibrations of the manipulator arm 60 are reduced or prevented.
According to this embodiment, as described above, the controller 31 is configured or programmed to limit the speed command values qr1 for the remaining axes by dividing the speed command values qr1 for the remaining axes by the speed excess ratio α1 of the axis with the largest speed excess ratio α1 with respect to the speed limit value lime among the axes of the plurality of joints 64 for which the speed command values qr1 have been calculated, and limit the acceleration command values qr2 for the remaining axes by dividing the acceleration command values qr2 for the remaining axes by the acceleration excess ratio α2 of the axis with the largest acceleration excess ratio α2 with respect to the acceleration limit value lim2 among the axes of the plurality of joints 64 for which the acceleration command values qr2 have been calculated. Accordingly, the speed command values qr1 for the remaining axes are divided by the speed excess ratio α1 of the axis with the largest speed excess ratio α1, and thus the speed command values qr1 for the respective axes can be limited while the relationship between the speed command values qr1 for the respective axes is maintained constant.
Furthermore, the acceleration command values qr2 for the remaining axes are divided by the acceleration excess ratio α2 of the axis with the largest acceleration excess ratio α2 with respect to the acceleration limit value lim2, and thus the acceleration command values qr2 for the respective axes can be limited while the relationship between the acceleration command values qr2 for the respective axes is maintained constant.
According to this embodiment, as described above, the controller 31 is configured or programmed to calculate the operation command value q based on the speed command value qlim1 limited within the range of the speed limit value lime and the acceleration command value qlim2 limited within the range of the acceleration limit value lim2, and calculate the correction command value dqr′ to correct the deviation of the pivot position PP that serves as a fulcrum for rotational movement of the surgical instrument 4 based on the calculated operation command value q. Accordingly, even when the pivot position PP is deviated due to the limitation of the speed command value qr1 and the acceleration command value qr2, the operation command value q is corrected using the correction command value dqr′ for each axis such that the deviation of the pivot position PP can be corrected for each axis.
According to this embodiment, as described above, the controller 31 is configured or programmed to add the correction command value dqr′ to the speed command value qr1 before being limited within the range of the speed limit value lime. Accordingly, the speed command value qr1 can be limited in consideration of the deviation of the pivot position PP.
According to this embodiment, as described above, the controller 31 is configured or programmed to feed back the calculated operation command value q, calculate the post-inverse-kinematics-conversion command value qr′ by performing conversion using inverse kinematics on the fed-back operation command value q (specifically, xr′ based on the operation command value q), and calculate the correction command value dqr′ based on the post-inverse-kinematics-conversion command value qr′. Accordingly, even when the position of the surgical instrument 4 is deviated from the target position due to the limitation of the speed command value qr1 and the acceleration command value qr2, the calculated operation command value q is fed back such that the positional deviation of the surgical instrument 4 can be reduced or prevented.
According to this embodiment, as described above, the operation manipulator arms 21 receive the input position command value xr for the surgical instrument 4, and the controller 31 is configured or programmed to feed back the calculated operation command value q, calculate the post-forward-kinematics-conversion command value x by performing conversion using forward kinematics on the fed-back operation command value q, calculate the post-inverse-kinematics-conversion command value qr′ by performing conversion using inverse kinematics on the input position command value xr and the post-forward-kinematics-conversion command value x, and calculate the correction command value dqr′ based on the operation command value q and the post-inverse-kinematics-conversion command value qr′. Accordingly, the operation command value q representing the displacement of the joints 64 of the manipulator arm 60 is converted into the position of the manipulator arm 60 (surgical instrument 4) using forward kinematics, and thus a feedback control based on a difference between the input position command value xr and the operation command value q can be performed based on the input position command value xr corresponding to the position of the manipulator arm 60 and the operation command value q converted into the position of the manipulator arm 60. Furthermore, the correction command value dqr′ is calculated based on both the operation command value q and the post-inverse-kinematics-conversion command value qr′ such that the deviation of the pivot position PP can be further reduced or prevented.
According to this embodiment, as described above, the controller 31 is configured or programmed to multiply the calculated speed command value qr1 by the gain KF of the feedforward control, and set the gain KF of the feedforward control based on the difference (distance L) between the target value, which is the value of the target position for movement of the surgical instrument 4, and the current value, which is the value of the current position of the surgical instrument 4, so as to increase the contribution of the feedback control relative to the contribution of the feedforward control to the speed command value qr1. While the pivot position PP is not deviated due to the feedforward control at the target position for movement of the surgical instrument 4, the pivot position PP is deviated due to the feedforward control at the current position when the target value and the current value are different from each other.
Therefore, as described above, the gain KF of the feedforward control is set so as to increase the contribution of the feedback control relative to the contribution of the feedforward control to the speed command value qr1 such that the contribution of the feedback control is greater than that of the feedforward control, and thus the positional deviation of the surgical instrument 4 can be reduced or prevented. Thus, the deviation of the pivot position PP can be further reduced or prevented.
According to this embodiment, as described above, the gain KF decreases as the difference (distance L) between the target value and the current value increases. As the difference (distance L) between the target value and the current value increases, the deviation of the pivot position PP increases. Therefore, as described above, the gain KF is decreased as the difference (distance L) between the target value and the current value increases such that even when the difference (distance L) between the target value and the current value increases, the deviation of the pivot position PP can be effectively reduced or prevented.
According to this embodiment, as described above, the gain KF linearly decreases as the difference (distance L) between the target value and the current value increases.
According to this embodiment, as described above, the step of controlling the operation of the surgical instrument 4 based on the speed command value qr1 and the acceleration command value qr2 includes the step of limiting the speed command value qr1 within the range of the speed limit value lim1, and the step of limiting the acceleration command value qr2 within the range of the acceleration limit value lim2. Accordingly, even when the amount of operation received by operation manipulator arms 21 is relatively large, both the speed command value qr1 and the acceleration command value qr2 are limited, and thus an increase in the amount of movement of the manipulator arm 60 per unit time is reduced or prevented. Therefore, rotation of the servomotors M1 provided at the joints 64 of the manipulator arm 60 at an excessively high speed is reduced or prevented, and thus the components of the joints 64 of the manipulator arm 60, such as the servomotors M1, can be protected. Furthermore, an increase in the amount of movement of the manipulator arm 60 per unit time is reduced or prevented, and thus the vibrations of the manipulator arm 60 due to the large amount of movement of the manipulator arm 60 per unit time can be reduced or prevented. Consequently, it is possible to provide the controller 31 of the surgical system 100 capable of protecting the components of the joints 64 of the manipulator arm 60 and reducing or preventing the vibrations of the manipulator arm 60.
The embodiment disclosed this time must be considered as illustrative in all points and not restrictive. The scope of the present disclosure is not shown by the above description of the embodiment but by the scope of claims for patent, and all modifications (modified examples) within the meaning and scope equivalent to the scope of claims for patent are further included.
For example, while the example in which the controller 31 is provided in the medical manipulator 1 has been shown in the aforementioned embodiment, the present disclosure is not limited to this. For example, the controller 31 may be provided in the remote control apparatus 2. Alternatively, the controller 31 may be provided separately from the medical manipulator 1 and the remote control apparatus 2, for example.
While the example in which the speed command values qr1 and the acceleration command values qr2 for the remaining axes are limited based on the limitation ratios of the speed command value qr1 and the acceleration command value qr2 for the axis with the largest limited amounts among the axes of the plurality of joints 64 has been shown in the aforementioned embodiment, the present disclosure is not limited to this. For example, the speed command values qr1 and the acceleration command values qr2 for the remaining axes may be limited based on the limitation ratios of the speed command value qr1 and the acceleration command value qr2 for an axis (such as an axis with the second largest limitation ratios) other than the axis with the largest limited amounts.
While the example in which the feedforward control is performed for the calculated speed command value qr1 has been shown in the aforementioned embodiment, the present disclosure is not limited to this. For example, the feedforward control may not be performed.
While the example in which the gain of the feedforward control linearly decreases has been shown in the aforementioned embodiment, the present disclosure is not limited to this. For example, the gain of the feedforward control may exponentially decrease.
While the example in which four manipulator arms 60 are provided has been shown in the aforementioned embodiment, the present disclosure is not limited to this. In the present disclosure, the number of manipulator arms 60 may be any number as long as at least one manipulator arm 60 is provided.
While the example in which each of the arm portion 61 and the positioner 40 includes a 7-axis articulated robot has been shown in the aforementioned embodiment, the present disclosure is not limited to this. For example, each of the arm portion 61 and the positioner 40 may include an articulated robot having an axis configuration (six axes or eight axes, for example) other than the 7-axis articulated robot.
While the example in which the medical manipulator 1 includes the medical cart 3, the positioner 40, and the arm base 50 has been shown in the aforementioned embodiment, the present disclosure is not limited to this. For example, the medical manipulator 1 may not include the medical cart 3, the positioner 40, or the arm base 50, but may include only the manipulator arms 60.
The functionality of the elements disclosed herein may be implemented using circuitry or processing circuitry that includes general purpose processors, special purpose processors, integrated circuits, application specific integrated circuits (ASICs), conventional circuitry and/or combinations thereof that are configured or programmed to perform the disclosed functionality. Processors are considered processing circuitry or circuitry as they include transistors and other circuitry therein. In the present disclosure, the circuitry, units, or means are hardware that carries out or is programmed to perform the recited functionality. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to carry out the recited functionality. When the hardware is a processor that may be considered a type of circuitry, the circuitry, means, or units are a combination of hardware and software, and the software is used to configure the hardware and/or processor.
Number | Date | Country | Kind |
---|---|---|---|
2020-171024 | Oct 2020 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/032366 | 9/2/2021 | WO |