Surgery support system, method for controlling surgery support system and program
By scaling both translational and rotational components of the surgical instrument's movement and updating scaling values when necessary, the system ensures precise and accurate robot arm posture control, addressing the limitations of conventional systems that only scale translational movements.
Patent Information
- Application Number
- JP2025153360
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-16
- Publication Date
- 2025-11-14
AI Technical Summary
Conventional surgical assistance systems inadequately scale the posture of a robot arm due to scaling only on translational movement, leading to ineffective posture changes even with small movements of the end effector.
The system performs first scaling on both translational and rotational components of the surgical instrument's movement, updating the scaling value if the rotational speed of the joint axis exceeds a limit, ensuring effective posture control of the robot arm.
This approach effectively scales the posture of the robot arm, providing precise and accurate surgical movements by considering both translational and rotational components.
Smart Images

Figure 2025170145000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a surgery assistance system, a control method and a program for a surgery assistance system, and in particular to a surgery assistance system including an operation unit that accepts operations by an operator, and a control method and a program for a surgery assistance system. [Background technology]
[0002] Conventionally, a surgical assistance system including a master handle that accepts operation by an operator has been known. In Patent Document 1, a surgeon moves the master handle, which moves an end effector attached to a robot arm. In Patent Document 1, scaling is performed so that the movement amount of the end effector is smaller than the movement amount of the master handle by the surgeon. Specifically, when the surgeon moves the master handle, a control device calculates a difference value between the position of the master handle after the movement and the position of the master handle before the movement. The control device then multiplies the calculated difference value by a scale factor. The scale factor is smaller than 1. The control device moves the end effector based on the difference value multiplied by the scale factor. Because the scale factor is smaller than 1, the movement amount of the end effector is smaller than the movement amount of the master handle by the surgeon. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] U.S. Patent No. 6,994,703 Summary of the Invention [Problem to be solved by the invention]
[0004] In a conventional surgical assistance system such as that described in Patent Document 1, when a surgeon moves a master handle, the control device calculates the rotation angle of the joint axis of the robot arm by performing inverse kinematics calculation on the translational component for the translational movement of the end effector and the rotational component for the rotation of the end effector, which are among the operation amounts received by the master handle. In Patent Document 1, scaling is performed by multiplying the difference between the master handle's positions before and after the movement by a scale factor. Because the change in position is a translational movement, scaling is performed only on the translational component of the end effector. Depending on the robot arm's posture, the posture of the robot arm may change significantly even if the movement of the tip of the end effector is relatively small. In such a case, scaling only on the translational movement, as in Patent Document 1, may result in ineffective scaling of the posture of the robot arm.
[0005] This disclosure has been made to solve the above-mentioned problems, and one purpose of this disclosure is to provide a surgical assistance system, a control method for a surgical assistance system, and a program that can effectively scale the posture of a robot arm. [Means for solving the problem]
[0006] In order to achieve the above object, a surgical assistance system according to a first aspect of this disclosure comprises a patient-side device including a robotic arm having a surgical instrument attached to its tip, and a control device that controls the translational movement and rotation of the surgical instrument based on an input signal, wherein the control device performs first scaling on at least the rotational component of the translational movement and rotational components of the surgical instrument in the input signal using a first scaling value used in the previous control cycle, calculates the rotational angle of the joint axis of the robotic arm by performing inverse kinematics calculation on the translational movement component and rotational component after the first scaling, and updates the first scaling value if the rotational speed of the joint axis of the robotic arm becomes greater than a limit value so that the rotational speed of the joint axis of the robotic arm becomes less than or equal to the limit value.
[0007] In the surgical support robot according to the first aspect of this disclosure, as described above, the control device performs first scaling on at least the rotational component of the translational component of the surgical instrument and the rotational component of the surgical instrument among the received operation amounts, and calculates the rotation angle of the joint axis of the robot arm by performing inverse kinematics calculation on the translational component and the rotational component after the first scaling. Because the rotational component significantly contributes to the posture of the robot arm, performing the first scaling on at least the rotational component makes it possible to effectively scale the posture of the robot arm.
[0008] A control method for a surgical assistance system according to a second aspect of this disclosure is a control method for a surgical assistance system comprising a patient-side device including a robotic arm having a surgical instrument attached to its tip, and a control device that controls the translational movement and rotation of the surgical instrument based on an input signal, wherein the control device scales at least the rotational component of the translational movement and rotational components of the surgical instrument in the input signal using a scaling value used in the previous control cycle, the control device calculates the rotational angles of the joint axes of the robotic arm and the surgical instrument by performing inverse kinematics calculations on the translational movement component and rotational component after scaling, and the control device updates the scaling value if the rotational speed of the joint axis of the robotic arm becomes greater than a limit value so that the rotational speed of the joint axis of the robotic arm becomes less than or equal to the limit value.
[0009] As described above, the control method for a surgery assistance system according to the second aspect of this disclosure scales at least the rotational component of the translational component and the rotational component of the surgical instrument among the received operation amounts. Because the rotational component significantly contributes to the posture of the robot arm, scaling at least the rotational component can provide a control method for a surgery assistance system that can effectively scale the posture of the robot arm. A program according to a third aspect of this disclosure is a program that executes a control method for a surgical assistance system that includes a patient-side device including a robotic arm with a surgical instrument attached to its tip, and a control device that controls the translational movement and rotation of the surgical instrument based on an input signal, wherein the control device scales at least the rotational component of the translational movement and rotational components of the surgical instrument in the input signal using a scaling value used in the previous control cycle, calculates the rotational angles of the joint axes of the robotic arm and the surgical instrument by performing inverse kinematics calculations on the translational movement component and rotational component after scaling, and updates the scaling value when the rotational speed of the joint axis of the robotic arm becomes greater than a limit value so that the rotational speed of the joint axis of the robotic arm becomes less than or equal to the limit value, thereby executing the control method for a surgical assistance system. [Effects of the Invention]
[0010] According to the present disclosure, it is possible to effectively scale the posture of a robot arm. [Brief explanation of the drawings]
[0011] [Figure 1] 1 is a diagram showing the configuration of a surgery support system according to a first embodiment. [Figure 2] 1A and 1B are diagrams showing the configuration of a medical manipulator according to a first embodiment. [Figure 3] 1 is a perspective view showing a configuration of an operation unit of a remote control device according to a first embodiment. FIG. [Figure 4] 1A and 1B are diagrams showing the configuration of an operating handle according to a first embodiment. [Figure 5] 1A and 1B are diagrams illustrating the configuration of a foot pedal according to a first embodiment. [Figure 6] 1A and 1B are diagrams showing the configuration of an arm of a medical manipulator according to a first embodiment. [Figure 7] FIG. [Figure 8] FIG. 1 is a perspective view showing the configuration of a medical cart according to a first embodiment. [Figure 9]FIG. 2 is a perspective view showing the configuration of an operation unit of the medical manipulator according to the first embodiment. [Figure 10] FIG. 1 is a diagram showing an endoscope. [Figure 11] FIG. 10 is a diagram showing a pivot position teaching tool. [Figure 12] FIG. 10 is a diagram for explaining translational movement of a robot arm. [Figure 13] FIG. 10 is a diagram for explaining the rotational movement of the robot arm. [Figure 14] FIG. 2 is a control block diagram of the medical manipulator according to the first embodiment. [Figure 15] FIG. 2 is a control block diagram of the robot arm according to the first embodiment. [Figure 16] FIG. 2 is a control block diagram of the medical cart and positioner according to the first embodiment. [Figure 17] FIG. 2 is a control block diagram of an operation unit of the remote control device according to the first embodiment. [Figure 18] 10A and 10B are diagrams for explaining translational movement and rotation of an operating handle. [Figure 19] 10A and 10B are diagrams for explaining translation and rotation of a surgical instrument. [Figure 20] FIG. 3 is a diagram for explaining operator-set scaling, translational scaling, and rotational scaling according to the first embodiment. [Figure 21] FIG. 4 is a diagram illustrating linear interpolation of translation scaling values according to the first embodiment. [Figure 22] FIG. 4 is a diagram illustrating spherical linear interpolation of rotational scaling values according to the first embodiment. [Figure 23] FIG. 4 is a flow diagram illustrating updating of translational and rotational scaling values according to the first embodiment. [Figure 24] FIG. 3 is a diagram for explaining a virtual axis according to the first embodiment. [Figure 25] FIG. 2 is a diagram for explaining a control flow of the control device according to the first embodiment. [Figure 26]FIG. 10 is a flow diagram illustrating updating of translational and rotational scaling values according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] Hereinafter, embodiments embodying the present disclosure will be described with reference to the drawings.
[0013] [First embodiment] 1 to 24, the configuration of a surgery support system 100 according to a first embodiment will be described. The surgery support system 100 includes a medical manipulator 1, which is a patient-side device, and a remote control device 2, which is an operator-side device for operating the medical manipulator 1. The medical manipulator 1 includes a medical cart 3 and is configured to be movable. The remote control device 2 is located at a position separated from the medical manipulator 1, and the medical manipulator 1 is configured to be remotely controlled by the remote control device 2. An operator such as a doctor inputs commands to the remote control device 2 to cause the medical manipulator 1 to perform a desired operation. The remote control device 2 transmits the input commands to the medical manipulator 1. The medical manipulator 1 operates based on the received commands. The medical manipulator 1 is also located in an operating room, which is a sterilized sterile field.
[0014] The remote control device 2 is placed, for example, inside or outside an operating room. The remote control device 2 includes an operation unit 120 including an arm 121 and an operation handle 21 shown in Fig. 3, a foot pedal 22, a touch panel 23, a monitor 24, a support arm 25, and a support bar 26. The operation unit 120 constitutes an operation handle that allows an operator such as a doctor to input commands.
[0015] 3, operation unit 120 includes operation unit 120L, which is located on the left side when viewed from an operator such as a doctor and is operated with the operator's left hand, and operation unit 120R, which is located on the right side and is operated with the operator's right hand. Note that operation units 120L and 120R have the same configuration.
[0016] The operation unit 120 includes a substantially L-shaped arm 121. The arm 121 has a first link portion 121a, a second link portion 121b, and a third link portion 121c. The upper end of the first link portion 121a is attached to the main body of the remote control device 2 so as to be rotatable around the A1 axis along the vertical direction. The upper end of the second link portion 121b is attached to the lower end of the first link portion 121a so as to be rotatable around the A2 axis along the horizontal direction. One end of the third link portion 121c is attached to the lower end of the second link portion 121b so as to be rotatable around the A3 axis along the horizontal direction. The operation handle 21 is attached to the other end of the third link portion 121c so as to be rotatable around the A4 axis.
[0017] The arm 121 supports the operating handle 21 so that it can move within a predetermined three-dimensional operation range. Specifically, the arm 121 supports the operating handle 21 so that it can move up and down, left and right, and front and back. The robot arm 60 moves three-dimensionally in response to the three-dimensional operation of the arm 121.
[0018] The operating handle 21 is configured to operate the surgical instrument 4. The operating handle 21 also receives an operating amount for the surgical instrument 4. The operating handle 21 includes an operating handle 21L that is located on the left side as viewed from an operator such as a doctor and is operated with the operator's left hand, and an operating handle 21R that is located on the right side and is operated with the operator's right hand.
[0019] 4, the operating handle 21 includes link portions 21a, 21b, 21c, and link portion 21d that is operated by an operator such as a doctor. Link portion 21a rotates around the A4 axis. Link portion 21b rotates around the A5 axis relative to link portion 21a. Link portion 21c rotates around the A6 axis relative to link portion 21b. Link portion 21d rotates around the A7 axis relative to link portion 21c.
[0020] Furthermore, a pair of grip members 21f are provided on link portion 21d of operating handle 21, and cylindrical finger insertion portions 21e are provided on grip member 21f. The operator inserts his or her fingers into pair of finger insertion portions 21e to operate operating handle 21. The base ends of each of pair of grip members 21f are rotatably connected to link portion 21d, and by increasing or decreasing the angle between pair of grip members 21f, the opening angle between jaw member 104a and jaw member 104b, which will be described later, can be changed.
[0021] Furthermore, the operating handle 21 changes the amount of movement of the robot arm 60 and the surgical instrument 4 in response to the amount of operation received by the operating handle 21. This change is called scaling. For example, if the magnification of the amount of movement is set to 1 / 2, the surgical instrument 4 is controlled to move a distance that is 1 / 2 of the movement distance of the operating handle 21. This allows delicate surgery to be performed accurately.
[0022] As shown in FIG. 5 , a plurality of foot pedals 22 are provided to perform functions related to the surgical instrument 4. The plurality of foot pedals 22 are arranged on the base 28. The foot pedals 22 include a switching pedal 22a, a clutch pedal 22b, a camera pedal 22c, an incision pedal 22d, and a coagulation pedal 22e. The switching pedal 22a, the clutch pedal 22b, the camera pedal 22c, the incision pedal 22d, and the coagulation pedal 22e are operated by the operator's feet. The incision pedal 22d includes a incision pedal 22dR for the right robot arm 60 and a incision pedal 22dL for the left robot arm 60. The coagulation pedal 22e includes a coagulation pedal 22eR for the right robot arm 60 and a coagulation pedal 22eL for the left robot arm 60.
[0023] The switching pedal 22a is configured to switch the robot arm 60 operated by the operating handle 21. In the first embodiment, the clutch pedal 22b is configured to perform a clutch operation that temporarily disconnects the operational connection between the robot arm 60 and the operating handle 21. While the clutch pedal 22b is depressed by the operator, the operation by the operating handle 21 is not transmitted to the robot arm 60. Furthermore, while the operator is depressing the camera pedal 22c, the operating handle 21 can be used to operate the robot arm 60 to which the endoscope 6 is attached. While the operator is depressing the incision pedal 22d or the coagulation pedal 22e, the electrosurgical device is activated.
[0024] As shown in FIG. 1, the monitor 24 is a scope-type display device for displaying an image captured by the endoscope 6. A support arm 25 supports the monitor 24 so that the height of the monitor 24 is at the same height as the face of an operator such as a doctor. The touch panel 23 is disposed on a support bar 26. A sensor provided near the monitor 24 detects the operator's head, enabling the medical manipulator 1 to be operated by the remote control device 2. The operator operates the operating handle 21 and foot pedal 22 while visually checking the affected area on the monitor 24. This inputs commands to the remote control device 2. The commands input to the remote control device 2 are transmitted to the medical manipulator 1.
[0025] The medical cart 3 is also provided with an input device 33. The input device 33 is configured to receive operations for moving and changing the posture of the positioner 40, the arm base 50, and the multiple robot arms 60, mainly for preparing for surgery before the procedure.
[0026] The medical manipulator 1 shown in FIGS. 1 and 2 is placed in an operating room. The medical manipulator 1 includes a medical cart 3, a positioner 40, an arm base 50, and multiple robot arms 60. The arm base 50 is attached to the tip of the positioner 40. The arm base 50 has a relatively long rod shape. In other words, the arm base 50 has an elongated shape. Furthermore, the base ends of each of the multiple robot arms 60 are attached to the arm base 50. The multiple robot arms 60 are configured to be able to assume a folded storage position. The arm base 50 and the multiple robot arms 60 are covered with a sterile drape when in use. Furthermore, the robot arms 60 support a surgical instrument 4.
[0027] The positioner 40 is configured, for example, by a seven-axis articulated robot. The positioner 40 is placed on the medical cart 3. The positioner 40 moves the arm base 50. Specifically, the positioner 40 is configured to move the position of the arm base 50 in three dimensions.
[0028] The positioner 40 also includes a base portion 41 and a plurality of link portions 42 connected to the base portion 41. The plurality of link portions 42 are connected to each other by joint portions 43.
[0029] As shown in Fig. 1, a surgical tool 4 is attached to the tip of each of the multiple robot arms 60. The surgical tool 4 includes, for example, replaceable instruments and an endoscope 6 shown in Fig. 10 for capturing an image of the surgical site.
[0030] As shown in FIG. 6, the instrument includes a driven unit 4a driven by a servo motor M2 mounted on a holder 71 of the robot arm 60. The instrument also includes a forceps 4b at its tip. In addition to the forceps 4b, the instrument also includes other jointed instruments, such as scissors, graspers, a needle holder, a microdissector, a stable applier, a tacker, a suction / irrigation tool, a snare wire, and a clip applier. The instrument also includes other non-jointed instruments, such as a cutting blade, a cauterization probe, an irrigator, a catheter, and a suction orifice. The surgical instrument 4 also includes a shaft 4c connecting the driven unit 4a and the forceps 4b. The driven unit 4a, the shaft 4c, and the forceps 4b are arranged along the Z direction.
[0031] As shown in FIG. 7 , the instrument includes a first support 4e that supports the proximal ends of jaw members 104a and 104b at the distal end so that they can rotate around the JT11 axis; a second support 4f that supports the proximal end of first support 4e at the distal end so that they can rotate around the JT10 axis; and a shaft 4c connected to the proximal end of second support 4f. The driven unit 4a, shaft 4c, second support 4f, first support 4e, and forceps 4b are arranged along the Z direction. The JT11 axis is perpendicular to the Z direction, which is the direction in which shaft 4c extends. The JT10 axis is spaced from the JT11 axis in the direction in which shaft 4c extends and is perpendicular to the direction in which shaft 4c extends and the JT11 axis. Jaw members 104a and 104b are examples of a first jaw member and a second jaw member, respectively. The JT10 axis is an example of a wrist joint that bends a jaw provided on the distal end side of the shaft 4c.
[0032] The forceps 4b are attached to the first support 4e so as to rotate about the axis of the JT11 shaft. The second support 4f supports the first support 4e rotatably about the JT10 shaft. That is, the first support 4e is attached to the second support 4f so as to rotate about the axis of the JT10 shaft. The Z1 direction side, which is the tip side of the first support 4e, has a U-shape. TCP1, which serves as a tool center point, is set in the center of the axis of the JT11 shaft at the tip side of the U-shape of the first support 4e.
[0033] Furthermore, the forceps 4b serving as the surgical instrument 4 includes a JT9 axis as the rotation axis of the shaft 4c and a JT12 axis as the opening / closing axis of the jaw members 104a and 104b. The rotation axis of the shaft 4c is an axis along the direction in which the shaft 4c extends. A plurality of servo motors M2 are provided in the holder 71 of the robot arm 60, and the rotating body of the driven unit 4a is driven by the plurality of servo motors M2. As a result, the surgical instrument 4 is driven around the J9 axis to the J12 axis. For example, four servo motors M2 are provided.
[0034] As shown in FIG. 10, the TCP2 of the endoscope 6 is set at the tip of the endoscope 6.
[0035] 8, a display unit 33a is disposed on the medical cart 3. The display unit 33a is disposed on the input device 33 of the medical cart 3. A joystick 33b for controlling the movement of the positioner 40 is disposed near the display unit 33a of the medical cart 3. The positioner 40 can be operated three-dimensionally by selecting an operation mode displayed on the display unit 33a and operating the joystick 33b. During roll-in, the positioner 40 is moved by operating the joystick 33b so that the arm base 50 moves on a two-dimensional plane.
[0036] An enable switch 33c that permits or prohibits movement of the positioner 40 is disposed near the joystick 33b of the medical cart 3. When the enable switch 33c is pressed down to permit movement of the positioner 40, the joystick 33b is operated to move the positioner 40. Specifically, the enable switch 33c is disposed in the input device 33 below the display unit 33a and adjacent to the joystick 33b.
[0037] The medical cart 3 includes an operating handle 35 that receives steering input from an operator. The medical cart 3 moves the robot main body 1a based on the received steering input. The operating handle 35 is located near the display unit 33a of the medical cart 3. The operating handle 35 has a throttle unit 35a that is gripped and rotated by an operator such as a nurse or technician to control the movement of the medical cart 3. Specifically, the operating handle 35 is located below the input device 33. The throttle unit 35a is located on one side of the operating handle 35. The medical cart 3 moves forward when the throttle unit 35a is rotated from the front side to the back side. The medical cart 3 moves backward when the throttle unit 35a is rotated from the back side to the front side. The speed of the medical cart 3 is changed depending on the amount of rotation of the throttle unit 35a. The operating handle 35 is configured to be rotatable left and right in the direction R, and the medical cart 3 rotates together with the rotation of the operating handle 35.
[0038] An enable switch 35b that permits or prohibits movement of the medical cart 3 is disposed on the operating handle 35 of the medical cart 3. When the enable switch 35b is pressed down to permit movement of the medical cart 3, the medical cart 3 is moved by operating the throttle portion 35a of the operating handle 35.
[0039] Next, the configuration of the robot arm 60 will be described in detail.
[0040] As shown in FIG. 6, the robot arm 60 includes an arm unit 61 and a translational movement mechanism 70 provided at the tip of the arm unit 61. The arm unit 61 includes a base unit 62, a link unit 63, and a joint unit 64. The translational movement mechanism 70 includes a base-end link unit 72 connected to the tip of the arm unit 61, a tip-end link unit 73, and a connecting link unit 74 provided between the base-end link unit 72 and the tip-end link unit 73. The robot arm 60 is configured to move the tip side in three dimensions relative to an arm base 50 at the base side of the robot arm 60. The arm unit 61 is also configured as a seven-axis articulated robot arm. Note that the multiple robot arms 60 have similar configurations.
[0041] As shown in Fig. 6, the robot arm 60 has JT1 to JT7 axes as rotation axes and J8 axis as a linear motion axis. The JT1 to JT7 axes correspond to the rotation axes of the joint unit 64 of the arm unit 61. The JT7 axis corresponds to the base end link unit 72 of the translational movement mechanism 70. The JT8 axis corresponds to an axis that moves the tip end link unit 73 of the translational movement mechanism 70 relative to the base end link unit 72 in the Z direction. That is, the servo motor M1 shown in Fig. 15 is provided to correspond to the JT1 to JT7 axes of the robot arm 60. The servo motor M3 is provided to correspond to the JT8 axis.
[0042] The translational movement mechanism 70 is provided at the tip of the arm 61, and has the surgical instrument 4 attached thereto. The translational movement mechanism 70 translates the surgical instrument 4 in the direction of insertion into the patient P. The translational movement mechanism 70 is also configured to translate the surgical instrument 4 relative to the arm 61. Specifically, the translational movement mechanism 70 is provided with a holder 71 that holds the surgical instrument 4. The holder 71 houses a servo motor M2 shown in FIG. 15.
[0043] 9, the medical manipulator 1 is attached to a robot arm 60 and includes an operation unit 80 for operating the robot arm 60. The operation unit 80 includes an enable switch 81, a joystick 82, and a switch unit 83. The enable switch 81 permits or prohibits movement of the robot arm 60 using the joystick 82 and the switch unit 83. When an operator such as a nurse or an assistant holds the operation unit 80 and presses the enable switch 81, the operation unit 80 is set to a state permitting movement of the surgical instrument 4 by the robot arm 60.
[0044] The switch unit 83 includes a switch unit 83a that moves the surgical instrument 4 in the direction along the longitudinal direction of the surgical instrument 4 toward the direction in which the surgical instrument 4 is inserted into the patient P, and a switch unit 83b that moves the surgical instrument 4 in the direction opposite to the direction in which the surgical instrument 4 is inserted into the patient P. Both the switch unit 83a and the switch unit 83b are configured as push button switches.
[0045] As shown in FIG. 9, the operating unit 80 includes a pivot button 85 that teaches a pivot position PP, which serves as a fulcrum (as shown in FIG. 13) for the movement of the surgical instrument 4 attached to the robot arm 60. The pivot button 85 is provided on a surface 80b of the operating unit 80 adjacent to the enable switch 81. When the tip of the endoscope 6 shown in FIG. 10 or the pivot position teaching instrument 7 shown in FIG. 11 is moved to a position corresponding to the insertion position of the trocar T inserted into the body surface S of the patient P, the pivot button 85 is pressed to teach the pivot position PP, which is then stored in the memory unit 32. Note that when teaching the pivot position PP, the pivot position PP is set as a single point, and teaching the pivot position PP does not set the direction of the surgical instrument 4.
[0046] As shown in FIG. 1 , an endoscope 6 is attached to the distal end of one of the robot arms 60, for example, robot arm 60c, and surgical instruments 4 other than the endoscope 6 are attached to the distal ends of the remaining robot arms 60a, 60b, and 60d. Specifically, during surgery, an endoscope 6 is attached to one of the four robot arms 60, and surgical instruments 4 other than the endoscope 6, such as forceps 4b, are attached to three of the robot arms 60. A pivot position PP is taught to the robot arm 60 to which the endoscope 6 is attached, with the endoscope 6 attached. Furthermore, a pivot position teaching instrument 7 is attached to the robot arm 60 to which the surgical instrument 4 other than the endoscope 6 is attached, with the pivot position teaching instrument 7 attached. The endoscope 6 is attached to one of the two central robot arms 60b and 60c of the four robot arms 60 arranged adjacent to each other. That is, the pivot position PP is set individually for each of the multiple robot arms 60. The robot arms 60a, 60b, and 60d are examples of second robot arms, and the robot arm 60c is an example of a first robot arm.
[0047] 9, an adjustment button 86 for optimizing the position of the robot arm 60 is provided on the surface 80b of the operation unit 80. After teaching the pivot position PP for the robot arm 60 to which the endoscope 6 is attached, pressing the adjustment button 86 optimizes the positions of the other robot arms 60 and the arm base 50.
[0048] As shown in Fig. 9, the operation unit 80 includes a mode switching button 84 that switches between a translational movement mode shown in Fig. 12 and a rotational movement mode shown in Fig. 13 of the surgical instrument 4 attached to the robot arm 60. A mode indicator 84a is provided near the mode switching button 84. The mode indicator 84a indicates the switched mode. Specifically, when the mode indicator 84a is lit, it indicates the rotational movement mode, and when it is unlit, it indicates the translational movement mode.
[0049] The mode indicator 84a also serves as a pivot position indicator that indicates that the pivot position PP has been taught.
[0050] As shown in Fig. 12, in a mode in which the robot arm 60 is moved translationally, the robot arm 60 is moved so that the tip 4d of the surgical instrument 4 moves on the XY plane. Also, as shown in Fig. 13, in a mode in which the robot arm 60 is moved rotationally, when a pivot position PP has not been taught, the robot arm 60 is moved so that the surgical instrument 4 is moved rotationally around the forceps 4b, and when a pivot position PP has been taught, the robot arm 60 is moved so that the surgical instrument 4 is moved rotationally around the pivot position PP as a fulcrum. Note that the surgical instrument 4 is moved rotationally with the shaft 4c of the surgical instrument 4 inserted into the trocar T.
[0051] As shown in FIG. 14, the surgery assistance system 100 includes a control device 130 that controls the entire surgery assistance system 100. The control device 130 is disposed inside the medical manipulator 1. The robot arm 60 includes an arm control unit 31a that controls the robot arm 60. The arm control unit 31a is disposed in each of the multiple robot arms 60. The medical cart 3 includes a positioner control unit 31b that controls the positioner 40 and the medical cart 3. The operation unit 120 includes an operation control unit 110 that controls the operation unit 120. The operation control unit 110 is disposed in each of the operation units 120L and 120R. The control device 130 communicates with each of the positioner control unit 31b, the arm control unit 31a, and the operation control unit 110. The control device 130 controls each of the positioner control unit 31b, the arm control unit 31a, and the operation control unit 110.
[0052] 15, the arm 61 is provided with a plurality of servo motors M1, an encoder E1, and a reducer so as to correspond to a plurality of joints 64. The encoder E1 is configured to detect the rotation angle of the servo motor M1. The reducer is configured to reduce the rotation speed of the servo motor M1 to increase the torque.
[0053] A servo control unit C1 for controlling the servo motor M1 is disposed on the robot arm 60. An encoder E1 for detecting the rotation angle of the servo motor M1 is electrically connected to the servo control unit C1.
[0054] 15, the translational movement mechanism 70 includes a servo motor M2 for rotating a rotor provided in the driven unit 4a of the surgical instrument 4, a servo motor M3 for translating the surgical instrument 4, an encoder E2, an encoder E3, and a reducer. The encoders E2 and E3 are configured to detect the rotation angles of the servo motors M2 and M3, respectively. The reducers are configured to decelerate the rotation of the servo motors M2 and M3, respectively, to increase the torque.
[0055] The robot arm 60 is provided with a servo control unit C2 for controlling a servo motor M2 that drives the surgical instrument 4. An encoder E2 for detecting the rotation angle of the servo motor M2 is electrically connected to the servo control unit C2. The robot arm 60 is also provided with a servo control unit C3 for controlling a servo motor M3 that translates the translational movement mechanism 70. An encoder E3 for detecting the rotation angle of the servo motor M3 is electrically connected to the servo control unit C3.
[0056] The amount of operation received by the operation unit 120 of the remote operation device 2 is input to the control device 130 via the operation control unit 110. The control device 130 generates a position command for driving the robot arm 60 and the surgical instrument 4 based on the received amount of operation and the rotation angle detected by the encoders E1 to E3. The generated position command is input to the servo control units C1 to C3 via the arm control unit 31a. The servo control units C1 to C3 generate current commands based on the position command input from the control device 130 via the arm control unit 31a and the rotation angle detected by the encoders E1 to E3, and output the current commands to the servo motors M1 to M3. As a result, the robot arm 60 is moved in accordance with the operation received by the operation unit 120 of the remote operation device 2.
[0057] As shown in FIG. 14, the control device 130 is configured to operate the robot arm 60 based on an operation received by a joystick 82 of the operation unit 80. Specifically, the arm control unit 31a outputs an input signal input from the joystick 82 to the control device 130. The control device 130 generates a position command based on the received input signal and a rotation angle detected by the encoder E1, and outputs the position command to the servo control unit C1 via the arm control unit 31a. The servo control unit C1 generates a current command based on the position command input from the arm control unit 31a and the rotation angle detected by the encoder E1, and outputs the current command to the servo motor M1. As a result, the robot arm 60 is moved in accordance with the operation command input to the joystick 82.
[0058] The control device 130 operates the robot arm 60 based on an input signal from the switch unit 83 of the operation unit 80. Specifically, the arm control unit 31a outputs the input signal input from the switch unit 83 to the control device 130. The control device 130 generates a position command based on the received input signal and the rotation angle detected by the encoder E1 or E3, and outputs the position command to the servo control unit C1 or C3 via the arm control unit 31a. The servo control unit C1 or C3 generates a current command based on the position command input from the arm control unit 31a and the rotation angle detected by the encoder E1 or E3, and outputs the current command to the servo motor M1 or M3. As a result, the robot arm 60 moves in accordance with the operation command input to the switch unit 83.
[0059] 16, the positioner 40 is provided with a plurality of servo motors M4, an encoder E4, and a reducer so as to correspond to a plurality of joints 43 of the positioner 40. The encoder E4 is configured to detect the rotation angle of the servo motor M4. The reducer is configured to reduce the rotation speed of the servo motor M4 to increase the torque.
[0060] The medical cart 3 has front wheels as drive wheels and rear wheels steered by an operating handle 35. The rear wheels are located closer to the operating handle 35 than the front wheels. The medical cart 3 is also equipped with a servo motor M5 that drives each of the front wheels of the medical cart 3, an encoder E5, a reducer, and a brake. The reducer is configured to reduce the rotation speed of the servo motor M5 and increase the torque. The operating handle 35 of the medical cart 3 is also equipped with a potentiometer P1 (see FIG. 8), and the servo motor M5 of the front wheels is driven based on the rotation angle detected by the potentiometer P1 in response to the twist of the throttle unit 35a. The rear wheels of the medical cart 3 are dual-wheel type, and are steered based on the left and right rotation of the operating handle 35. 2 is disposed on the operating handle 35 of the medical cart 3, and a servomotor M5a, an encoder E5a, and a reducer are disposed on the rear wheels of the medical cart 3. The reducer is configured to reduce the rotation speed of the servomotor M5a to increase the torque. The servomotor M6 is driven based on the rotation angle detected by the potentiometer P2 in response to the left and right rotation of the operating handle 35. In other words, the steering of the rear wheels 3b caused by the left and right rotation of the operating handle 35 is configured to be power-assisted by the servomotor M5a.
[0061] The front wheels of the medical cart 3 are driven to move forward and backward, and the rear wheels are steered by turning the operating handle 35 of the medical cart 3, causing the medical cart 3 to turn left and right.
[0062] As shown in Fig. 16, the positioner 40 is provided with a servo control unit C4 for controlling a servo motor M4 that moves the positioner 40. An encoder E4 for detecting the rotation angle of the servo motor M4 is electrically connected to the servo control unit C4. The medical cart 3 is provided with a servo control unit C5 for controlling a servo motor M5 that drives the front wheels of the medical cart 3. An encoder E5 for detecting the rotation angle of the servo motor M5 is electrically connected to the servo control unit C5. A servo control unit C5a is provided with a servo motor M5a that power-assists the steering of the rear wheels of the medical cart 3. An encoder E5a for detecting the rotation angle of the servo motor M5a is electrically connected to the servo control unit C5a.
[0063] As shown in FIG. 14, operation information regarding the setting of the preparation position and the like is input from the input device 33 to the control device 130 via the positioner control unit 31b. The control device 130 generates a position command based on the operation information input from the input device 33 and the rotation angle detected by the encoder E4, and outputs the position command to the servo control unit C4 via the positioner control unit 31b. The servo control unit C4 generates a current command based on the position command input from the positioner control unit 31b and the rotation angle detected by the encoder E4, and outputs the current command to the servo motor M4. This causes the positioner 40 to move in accordance with the operation command input to the input device 33. Similarly, the control device 130 moves the medical cart 3 based on the operation information from the input device 33.
[0064] 17, the remote control device 2 includes an operation control section 110. The operation section 120 is provided with servo control sections C6a-6g for controlling servo motors M6a-M6g provided corresponding to axes A1-A7 that are rotation axes of the operation section 120 including the arm 121 and the operation handle 21. Encoders E6a-E6g for detecting the rotation angles of the servo motors M6a-6g are electrically connected to the servo control sections C6a-6g. The servo motors M6a-M6g, servo control sections C6a-6g, and encoders E6a-E6g are provided in the operation section 120L and the operation section 120R, respectively.
[0065] The control device 130 controls the servo motors M6a to M6g via the operation control unit 110 so as to generate torques that cancel out the gravitational torques generated on the rotation axes A1 to A7 of the servo motors M6a to M6g in accordance with the attitude of the operation unit 120. This enables the operator to operate the operation unit 120 with a relatively small force.
[0066] The control device 130 controls the servo motors M6a to M6g via the operation control section 110 to generate torque on the rotation axes A1 to A7 of the servo motors M6a to M6g in response to the operation of the operation unit 120, thereby assisting the operation by the operator, thereby enabling the operator to operate the operation unit 120 with a relatively small force.
[0067] As shown in the left diagram of FIG. 18, when the operator inserts fingers into the pair of finger insertion portions 21e of the grip member 21f and translates the operating handle 21, the surgical instrument 4 translates, as shown in the left diagram of FIG. 19. That is, the positions of the base ends of the jaw members 104a and 104b translate without changing the posture of the jaw members 104a and 104b. The position of the base ends is the JT11 axis. The jaw members 104a and 104b also translate about the pivot position PP. The robot arm 60 and the shaft 4c also move so that the jaw members 104a and 104b translate about the pivot position PP.
[0068] As shown in the center diagram of Fig. 18, when the operator inserts his or her fingers into a pair of finger insertion portions 21e of grip member 21f and rotates operating handle 21, jaw member 104a and jaw member 104b of surgical instrument 4 rotate as shown in the center diagram of Fig. 19. Jaw members 104a and 104b also rotate around pivot position PP as a fulcrum. Robot arm 60 and shaft 4c also move so that jaw members 104a and 104b rotate around pivot position PP as a fulcrum.
[0069] Furthermore, as shown in the right diagrams of FIG. 18 and FIG. 19, both translation and rotation may be performed by a single operation.
[0070] Next, the control of the control device 130 when the operation unit 120 receives an operation from the operator will be described. The control of the control device 130 described below is performed in the same way for the robot arm 60c having an endoscope 6 attached to its tip, and the robot arms 60a, 60b, and 60d having a surgical instrument 4 other than the endoscope 6 attached to its tip. The control is also performed in the same way for driving the surgical instrument 4.
[0071] As shown in FIG. 20 , an operation by the operator is accepted by the operation unit 120. This generates a homogeneous transformation matrix corresponding to the accepted operation. The homogeneous transformation matrix is a 4×4 matrix. The homogeneous transformation matrix includes a translational component for translating the surgical instrument 4 and a rotational component for rotating the surgical instrument 4. The control device 130 calculates the difference between the current position of the surgical instrument 4 and the target position accepted by the operation unit 120. The position corresponds to the translational component of the homogeneous transformation matrix. The control device 130 calculates the difference between the current orientation of the surgical instrument 4 and the target orientation accepted by the operation unit 120. The orientation corresponds to the rotational component of the homogeneous transformation matrix. The control device 130 calculates the target homogeneous transformation matrix based on the calculated difference value. In other words, the homogeneous transformation matrix is updated. The control device 130 performs inverse kinematics calculation on the updated homogeneous transformation matrix. The control device 130 calculates the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4 through the inverse kinematics calculation. In this way, the control device 130 controls the translation and rotation of the surgical instrument 4 based on the received operation amount.
[0072] In the first embodiment, the remote control device 2 receives an operator-defined scaling value for translational movement of the surgical instrument 4 by the operator. For example, the operator-defined scaling value is received via the touch panel 23 of the remote control device 2. The control device 130 performs operator-defined scaling on the translational movement component of the operation received by the operation unit 120. Here, operator-defined scaling means moving the surgical instrument 4 by an amount obtained by multiplying the amount of operation by the operator on the operation unit 120 by a ratio corresponding to the operator-defined scaling value. For example, if the operator-defined scaling value is set to 3:1, when the amount of operation by the operator is 3, the surgical instrument 4 is translated by 1. Operator-defined scaling is not performed on the rotational component. The touch panel 23 is an example of a receiving unit. Furthermore, the operator-defined scaling is an example of second scaling.
[0073] The remote control device 2 accepts operator-set scaling values for the robot arms 60a, 60b, and 60d to which surgical instruments 4 other than the endoscope 6 are attached. In the first embodiment, when an operator-set scaling value for one of the robot arms 60a, 60b, and 60d is accepted by the remote control device 2, the control device 130 changes the operator-set scaling value for the robot arm 60c to which the endoscope 6 is attached in conjunction with the accepted operator-set scaling value. For example, when an operator-set scaling value of 3:1 is accepted for one of the robot arms 60a, 60b, and 60d, an operator-set scaling value of 3:1 is automatically set for the robot arm 60c.
[0074] In the first embodiment, when an operation to increase the operator-defined scaling value for one of the robot arms 60a, 60b, and 60d is accepted from the remote operation device 2, the control device 130 increases the operator-defined scaling value for the robot arm 60c. For example, when a change to increase the operator-defined scaling value for one of the robot arms 60a, 60b, and 60d from 3:1 to 2:1 is accepted, the control device 130 automatically increases the operator-defined scaling value for the robot arm 60c from 3:1 to 2.3:1. Furthermore, when a change to increase the operator-defined scaling value for one of the robot arms 60a, 60b, and 60d from 2:1 to 1.5:1 is accepted, the control device 130 automatically increases the operator-defined scaling value for the robot arm 60c from 2.3:1 to 2:1.
[0075] Here, in the first embodiment, the control device 130 performs rotational scaling on at least the rotational component of the translational component of the surgical instrument 4 and the rotational component of the surgical instrument 4 among the received operation amounts. Specifically, in the first embodiment, the control device 130 performs translational scaling on the translational component and rotational scaling on the rotational component. For the translational movement of the surgical instrument 4, the control device 130 performs translational scaling on the translational component for which operator-set scaling has been performed. For the rotation of the surgical instrument 4, the control device 130 performs only rotational scaling. Note that the translational scaling and rotational scaling are an example of first scaling.
[0076] In the first embodiment, the control device 130 performs translational scaling and rotational scaling so that the rotational speeds of the joint axes of the robot arm 60 and the surgical instrument 4 are equal to or less than the limit value. Note that the control device 130 does not perform translational scaling or rotational scaling when the rotational speeds of the joint axes of the robot arm 60 and the surgical instrument 4 are less than the limit value. The control device 130 performs only operator-set scaling, which will be described later. A detailed description of translational scaling and rotational scaling will be given later. Note that the joint axes of the surgical instrument 4 refer to the multiple joint axes of the surgical instrument 4, including the roll rotation axis of the shaft 4c and the JT10 axis, which is the rotation axis of the wrist joint.
[0077] In the first embodiment, the control device 130 performs a first round of translational scaling on the translational components using the translational scaling value used in the previous control cycle. The control device 130 also performs a first round of rotational scaling on the rotational components using the rotational scaling value used in the previous control cycle. This results in a first update of the homogeneous transformation matrix. The control device 130 then performs a first inverse kinematics calculation on the translational components after translational scaling and the rotational components after rotational scaling to calculate the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4. The control device 130 updates the translational scaling value and the rotational scaling value so that the rotation speed of the joint axes of the robot arm 60 is equal to or less than a limit value. The control device 130 performs a second round of translational scaling using the updated translational scaling value and a second round of rotational scaling using the updated rotational scaling value. This results in a second update of the homogeneous transformation matrix. The control device 130 then performs a second inverse kinematics calculation on the translational components and rotational components to calculate the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4. The translation scaling value and rotation scaling value are automatically adjusted by the control device 130 and cannot be adjusted by the operator. Note that the unit delay in FIG. 20 means that the translation and rotation scaling values used in the previous control cycle are used. Note that the initial values of the translation scaling value and rotation scaling value are set to 1. However, this is not limited to this as long as they are positive values.
[0078] (translational scaling) 21, the control device 130 calculates the translational movement component to be used in the current control cycle by linearly interpolating the translational movement component used in the previous control cycle and the translational movement component corresponding to the operation amount received by the operation unit 120 based on the translational scaling value. In this way, translational scaling is performed. In the first translational scaling, the translational scaling value used in the previous control cycle is used. In the second translational scaling, a translational scaling value updated so that the rotational speed of the joint axis of the robot arm 60 is equal to or less than the limit value is used.
[0079] Even when translational scaling is performed, the direction of movement of the surgical instrument 4 does not change, but the amount of movement of the surgical instrument 4 becomes smaller than the amount of operation by the operator on the operation unit 120. On the other hand, because operator-set scaling is also performed on the translational movement component of the surgical instrument 4, the operator feels little discomfort even if the amount of movement of the surgical instrument 4 is reduced by translational scaling.
[0080] (Rotation Scaling) As shown in Fig. 22, the control device 130 calculates the rotation component to be used in the current control cycle by performing spherical linear interpolation, which interpolates along a spherical surface, between the rotation component used in the previous control cycle and the rotation component corresponding to the operation amount received by the operation unit 120 based on the rotation scaling value. This performs rotation scaling. In the first rotation scaling, the rotation scaling value used in the previous control cycle is used. In the second rotation scaling, an updated rotation scaling value is used so that the rotation speed of the joint axis of the robot arm 60 is equal to or less than the limit value.
[0081] Even if the rotational speed of the joint axis of the robot arm 60 is limited to a limit value or less by rotation scaling, the surgical instrument 4 does not rotate as accepted by the operation unit 120 immediately after the rotational speed is limited. Immediately after the rotational speed is limited, the surgical instrument 4 gradually rotates to catch up with the accepted operation. The surgical instrument 4 eventually rotates to correspond to the accepted operation. Since it is important that the posture of the surgical instrument 4 is the posture intended by the operator, it is important for the surgical instrument 4 to eventually assume a posture corresponding to the accepted operation. Note that the posture refers to the direction in which the forceps 4b or scissors serving as the surgical instrument 4 are facing.
[0082] (Update translation and rotation scaling values) The updating of the translational scaling value and the rotational scaling value will be described with reference to Figure 23. In step S1, the control device 130 performs a first translational scaling on the translational movement component using the previous translational scaling value, and performs a first rotational scaling on the rotational component using the rotational scaling value used in the previous control cycle. Then, the control device 130 calculates the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4 by performing a first inverse kinematic calculation on the homogeneous transformation matrix after the first translational scaling and the first rotational scaling.
[0083] In the first embodiment, in step S2, the control device 130 calculates the rotation angles of the multiple joint axes of the robot arm 60 and the surgical instrument 4. The control device 130 calculates the rotation speed of each of the multiple joint axes based on the rotation angle of each of the multiple joint axes. The control device 130 calculates, for each axis, the absolute value of the ratio of the calculated rotation speed to the limit value of each axis. The control device 130 sets the maximum value of the calculated absolute values of the ratios for each axis as max_speed_ratio.
[0084] In step S3, the control device 130 determines whether the maximum rotation speed among the rotation speeds of the plurality of joint axes is equal to or greater than a limit value. Specifically, the control device 130 determines whether max_speed_ratio is equal to or greater than 1.
[0085] If the answer is yes in step S3, the process proceeds to step S4. That is, if the maximum rotational speed among the rotational speeds of the multiple joint axes is equal to or greater than the limit value, the control device 130 changes the translation scaling value and the rotation scaling value so that they become smaller in step S4. Specifically, in the first embodiment, the control device 130 sets the changed translation scaling value to a value obtained by dividing the translation scaling value used in the previous control cycle by a value based on the maximum rotational speed. The control device 130 sets the changed rotation scaling value to a value obtained by dividing the rotation scaling value used in the previous control cycle by a value based on the maximum rotational speed. More specifically, the control device 130 sets the updated translation scaling value to a value obtained by dividing the previous translation scaling value by max_speed_ratio. The control device 130 sets the updated rotation scaling value to a value obtained by dividing the previous rotational scaling value by max_speed_ratio. Then, the process proceeds to step S6.
[0086] If the result of step S3 is no, the process proceeds to step S5. That is, if the maximum rotational speed among the rotational speeds of the multiple joint axes is smaller than the limit value, the control device 130 changes the translational scaling value and the rotational scaling value so that they are larger. Specifically, in the first embodiment, the control device 130 multiplies the smaller of the reciprocal of max_speed_ratio, which is the maximum absolute value of the ratio of the calculated rotational speed of each of the multiple joint axes to the limit value of that axis, and 1 + SCALING_ADJUSTMENT_RATIO, by the translational scaling value used in the previous control cycle, to determine the changed translational scaling value. The control device 130 multiplies the smaller of the reciprocal of max_speed_ratio, which is the maximum absolute value of the ratio of the calculated rotational speed of each of the multiple joint axes to the limit value of that axis, and 1 + SCALING_ADJUSTMENT_RATIO, by the rotational scaling value used in the previous control cycle, to determine the changed rotational scaling value. SCALING_ADJUSTMENT_RATIO is, for example, 0.03.
[0087] Next, in step S6, the control device 130 performs a second translational scaling based on the updated translational scaling value, and a second rotational scaling based on the updated rotational scaling value, and then performs a second inverse kinematics calculation on the translational movement component subjected to the second translational scaling and the rotational component subjected to the second rotational scaling.
[0088] Next, in step S7, the control device 130 calculates the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4. Furthermore, translational scaling and rotational scaling are performed using the same algorithms shown in steps S1 to S7 above.
[0089] (joint axes subject to translational and rotational scaling) In the first embodiment, for the robot arms 60a, 60b, and 60d to which a surgical instrument 4 other than an endoscope 6 is attached at its tip, the control device 130 performs translational scaling and rotational scaling on multiple joint axes other than the joint axis related to the opening and closing of the jaw members 104a and 104b of the surgical instrument 4. The joint axes related to the opening and closing of the jaw members 104a and 104b are the JT11 axis and the JT12 axis. Furthermore, the multiple joint axes other than the joint axes related to the opening and closing of the jaw members 104a and 104b are the JT1 axis to the JT10 axis.
[0090] In the first embodiment, as shown in FIG. 24 , for the robot arms 60a, 60b, and 60d to which a surgical instrument 4 other than an endoscope 6 is attached at its tip, the control device 130 performs translational scaling and rotational scaling on a virtual axis B about which the surgical instrument 4 rotates, in addition to multiple joint axes other than the joint axes related to the opening and closing of the jaw members 104a and 104b of the surgical instrument 4. Note that the predetermined point is the point where a line L1 extending in the direction of the shaft 4c intersects with a line L2 extending in the vertical direction. That is, when the surgical instrument 4 moves so as to rotate around the axis B, the control device 130 performs translational scaling and rotational scaling so that the rotational speed of the joint axes of the robot arm 60 and the surgical instrument 4 is equal to or less than a limit value. That is, translational scaling and rotational scaling are performed so that the angular velocity of the angle θ formed by the lines L1 and L2 is equal to or less than a limit value.
[0091] The control device 130 performs translational scaling and rotational scaling on the JT1 to JT9 axes and the virtual axis B for the robot arm 60c to which the endoscope 6 is attached at the tip.
[0092] By operating the operation unit 80 attached to the robot arm 60, the operator can move the robot arm 60 and the surgical instrument 4 so that they approach a singular posture. A singular posture is a posture in which the robot arm 60 and the surgical instrument 4 become uncontrollable. For example, a singular posture is a posture in which the robot arm 60 and the surgical instrument 4 are fully extended. When the robot arm 60 and the surgical instrument 4 approach a singular posture, the rotational speed of the joint axis increases sharply. However, by performing translational scaling and rotational scaling, it is possible to suppress this sudden increase in the rotational speed of the joint axis.
[0093] Next, a control method of the surgery assistance system 100 will be described with reference to FIG.
[0094] In step S11, operation unit 120 accepts an operation.
[0095] In step S12, the control device 130 performs operator-set scaling on the translational movement components of the homogeneous transformation matrix corresponding to the operation amount of the received operation. The operator-set scaling value is received in advance via the touch panel 23 of the remote operation device 2.
[0096] In step S13, the control device 130 performs a first translation scaling using the previous translation scaling value for the translational movement component and the rotational component of the homogeneous transformation matrix after the operator-set scaling has been performed, and a first rotational scaling using the previous rotational scaling value for each.
[0097] In step S14, the control device 130 calculates the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4 by performing a first inverse kinematics calculation on the homogeneous transformation matrix after the first translational scaling and the first rotational scaling.
[0098] In step S15, the control device 130 updates the translation scaling value and the rotation scaling value so that the rotation speeds of the joint axes of the robot arm 60 and the surgical instrument 4 are equal to or less than the limit value.
[0099] In step S16, the control device 130 performs a second translation scaling on the translation components and rotation components of the homogeneous transformation matrix using the updated translation scaling values, and performs a second rotation scaling on the translation components and rotation components of the homogeneous transformation matrix using the updated rotation scaling values.
[0100] In step S17, the control device 130 performs a second inverse kinematics calculation on the homogeneous transformation matrix after the second translational scaling and the second rotational scaling, thereby calculating the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4. The operations of steps S11 to S17 are repeated for each control cycle.
[0101] [Effects of the first embodiment] In the first embodiment, the following effects can be obtained.
[0102] In the first embodiment, as described above, the control device 130 performs translational scaling on the translational movement component of the surgical instrument 4 among the received operation amounts, and performs rotational scaling on the rotational component of the surgical instrument 4. Since the rotational component significantly contributes to the posture of the robot arm 60, by performing rotational scaling on at least the rotational component, it is possible to effectively perform rotational scaling on the posture of the robot arm 60.
[0103] In the first embodiment, as described above, the control device 130 performs translational and rotational scaling so that the rotational speeds of the joint axes of the robot arm 60 and the surgical instrument 4 are equal to or less than the limit value. This makes it possible to prevent the joint axes of the robot arm 60 from being driven at a speed exceeding the rotational speed.
[0104] In the first embodiment, as described above, the control device 130 performs translational and rotational scaling using the translational and rotational scaling values used in the previous control cycle, performs inverse kinematics calculations on the translational components and rotational components after the translational and rotational scaling, and calculates the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4. The control device 130 then updates the translational and rotational scaling values so that the rotational speeds of the joint axes of the robot arm 60 and the surgical instrument 4 are equal to or less than the limit value. Then, the control device 130 performs inverse kinematics calculations on the translational components and rotational components after the translational and rotational scaling using the updated translational and rotational scaling values, thereby calculating the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4. If the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4 are calculated and then corrected to be equal to or less than the limit value, the trajectory of the movement of the surgical instrument 4 may deviate from the trajectory intended by the operator. For example, when the surgical instrument 4 is being translated, the direction of the translational movement may be shifted obliquely due to the rotational speed being limited. Furthermore, in the surgery assistance system, the robot arm 60 is driven so that the surgical instrument 4 rotates around a preset pivot position PP as a fulcrum. However, due to limitations on the rotation speed, the surgical instrument 4 may rotate around a position that is shifted from the pivot position PP as a fulcrum. Therefore, by performing inverse kinematics calculations on the translational movement components and rotational components after translational and rotational scaling, it is possible to prevent the movement trajectory of the surgical instrument 4 from deviating from the trajectory intended by the operator.
[0105] In the first embodiment, as described above, the control device 130 calculates the rotation angles of a plurality of joint axes, calculates the rotation speed of each of the plurality of joint axes based on the rotation angles of each of the plurality of joint axes, and, if the maximum rotation speed among the rotation speeds of the plurality of joint axes is equal to or greater than the limit value, changes the translation and rotation scaling values so that the translation and rotation scaling values are reduced. As a result, since the translation and rotation scaling values are changed based on the maximum rotation speed, even if there are a plurality of joint axes whose rotation speeds are equal to or greater than the limit value, it is possible to make the rotation speeds of all of the joint axes whose rotation speeds are equal to or greater than the limit value smaller than the limit value.
[0106] In the first embodiment, as described above, the control device 130 sets the changed translation and rotation scaling values to values obtained by dividing the translation and rotation scaling values used in the previous control cycle by a value based on the maximum rotation speed. This makes the changed translation and rotation scaling values relatively small, making it possible to quickly prevent the rotation speed from exceeding the limit value.
[0107] In the first embodiment, as described above, when the maximum rotational speed among the rotational speeds of the multiple joint axes is smaller than the limit value, the control device 130 changes the translational and rotational scaling values so that they are larger. As a result, when the rotational speed does not exceed the limit value, translational and rotational scaling is performed so that the rotational speed approaches the accepted operation amount. This allows the movement amount of the surgical instrument 4 to approach the operation amount of the operator's operation.
[0108] In the first embodiment, as described above, the control device 130 sets the post-change translation and rotation scaling values to the smaller of a value obtained by dividing the translation and rotation scaling values used in the previous control cycle by a value based on the maximum rotation speed or a predetermined value greater than 1, and multiplying the translation and rotation scaling values used in the previous control cycle by the smaller value. This makes the difference between the translation and rotation scaling values before and after the change relatively small, allowing the movement amount of the surgical instrument 4 to smoothly approximate the operation amount of the operator's operation.
[0109] In the first embodiment, as described above, the control device 130 calculates the translational movement component to be used in the current control cycle based on the changed translational and rotational scaling values by linearly interpolating the translational movement component used in the previous control cycle and the translational movement component corresponding to the operation amount received by the operating handle 21. This allows the translational movement component to be used in the current control cycle to be calculated by relatively simple linear interpolation, thereby reducing the control load on the control device 130.
[0110] In the first embodiment, as described above, the control device 130 calculates the rotation component to be used in the current control cycle based on the changed translation and rotation scaling values by performing spherical linear interpolation, which interpolates along a spherical surface, between the rotation component used in the previous control cycle and the rotation component corresponding to the operation amount received by the operating handle 21. This allows the rotation component to be calculated in the current control cycle by relatively simple spherical linear interpolation, thereby reducing the control load on the control device 130.
[0111] In the first embodiment, as described above, the control device 130 performs translational and rotational scaling on both the translational component and the rotational component. In the surgery assistance system 100, when the distance between the pivot position PP and the tip of the surgical instrument 4 is small, the robot arm 60 is moved a relatively large distance in order to move the tip of the surgical instrument 4 a desired distance. In such a case, the rotational speed of the joint axis of the robot arm 60 becomes relatively high. Therefore, performing translational and rotational scaling on both the translational component and the rotational component is particularly effective in preventing the rotational speed of the joint axis of the robot arm 60 from becoming excessively high.
[0112] In the first embodiment, as described above, the control device 130 performs operator-defined scaling on the translational movement components based on the received operator-defined scaling value, and performs translational scaling on the operator-scaled translational movement components. This allows the operator to adjust the amount of translational movement of the surgical instrument 4 to suit the operator's preferences by changing the operator-defined scaling value.
[0113] In the first embodiment, as described above, when the receiving unit receives the operator-defined scaling values for the robot arms 60a, 60b, and 60d, the control device 130 changes the operator-defined scaling value for the robot arm 60c in conjunction with the received operator-defined scaling value. This causes the operator-defined scaling values for the robot arm 60c and the robot arms 60a, 60b, and 60d to be changed in conjunction with each other. This makes it possible to prevent a discrepancy between the operator's operational feel for the robot arm 60c and the operator's operational feel for the robot arms 60a, 60b, and 60d.
[0114] In the first embodiment, as described above, when the receiving unit receives an operation to increase the operator-defined scaling values for the robot arms 60a, 60b, and 60d, the control device 130 increases the operator-defined scaling values for the robot arms 60a, 60b, and 60d. This causes the operator-defined scaling values for the robot arm 60c and the robot arms 60a, 60b, and 60d to be changed in the same direction in an interlocking manner. This effectively prevents a discrepancy between the operator's operational feel for the robot arm 60c and the operator's operational feel for the robot arms 60a, 60b, and 60d.
[0115] In the first embodiment, as described above, the control device 130 performs translational and rotational scaling on multiple joint axes other than the joint axis related to the opening and closing of the jaw members 104a and 104b of the surgical instrument 4. Here, if translational and rotational scaling is performed due to the opening and closing of the jaw members 104a and 104b, unnecessary translational and rotational scaling may be performed on the movement of the robot arm 60. Therefore, in the first embodiment, by performing translational and rotational scaling on multiple joint axes other than the joint axis related to the opening and closing of the jaw members 104a and 104b of the surgical instrument 4, unnecessary translational and rotational scaling on the movement of the robot arm 60 can be prevented.
[0116] In the first embodiment, as described above, the control device 130 performs translational and rotational scaling with respect to the virtual axis B about which the robot arm 60 and the surgical instrument 4 rotate around a predetermined point. This makes it possible to prevent the entire robot arm 60 from moving excessively fast with respect to the virtual axis B.
[0117] In the first embodiment, as described above, the predetermined point is the point where the straight line L1 along the extension direction of the shaft 4c intersects with the straight line L2 along the vertical direction, which prevents the robot arm 60 and the surgical instrument 4 from moving at excessively high speed around the point where the straight line L1 along the extension direction of the shaft 4c intersects with the straight line L2 along the vertical direction.
[0118] [Second embodiment] Referring to FIG. 26, updating of translational scaling values and rotational scaling values according to the second embodiment will be described.
[0119] 26, in step S21, the control device 130 performs a first translational scaling on the translational movement component using the previous translational scaling value, and performs a first rotational scaling on the rotational component using the rotational scaling value used in the previous control cycle. Then, the control device 130 calculates the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4 by performing a first inverse kinematic calculation on the homogeneous transformation matrix subjected to the first translational scaling and the first rotational scaling.
[0120] In step S22, the control device 130 calculates the rotation angles of the multiple joint axes of the robot arm 60 and the surgical instrument 4. The control device 130 calculates the rotation speed of each of the multiple joint axes based on the rotation angle of each of the multiple joint axes. The control device 130 calculates, for each axis, the absolute value of the ratio of the calculated rotation speed to the limit value of each axis. The control device 130 sets the maximum value of the calculated absolute values of the ratios for each axis as max_speed_ratio.
[0121] In step S23, the control device 130 determines whether the maximum rotation speed among the rotation speeds of the joint axes is greater than a limit value. Specifically, the control device 130 determines whether max_speed_ratio is greater than 1.
[0122] If the answer is yes in step S23, proceed to step S24. The control device 130 multiplies the translation scaling value used in the previous control cycle by 1-SCALING_ADJUSTMENT_RATIO to obtain the changed translation scaling value. The control device 130 also multiplies the rotation scaling value used in the previous control cycle by 1-SCALING_ADJUSTMENT_RATIO to obtain the changed rotation scaling value. Next, proceed to step S25.
[0123] In step S25, the control device 130 performs translational scaling using the changed translational scaling value, and performs a second inverse kinematics calculation on the homogeneous transformation matrix after rotational scaling using the changed rotational scaling value, and then returns to step S22.
[0124] If the answer is no in step S23, the process proceeds to step S27. In step S27, the control device 130 determines whether max_speed_ratio is less than 1. If the answer is yes in step S27, the process proceeds to step S26, where the control device 130 outputs the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4.
[0125] If the answer is yes in step S27, the control device 130 proceeds to step S28, where it multiplies the translation scaling value used in the previous control cycle by 1+SCALING_ADJUSTMENT_RATIO to set the changed translation scaling value. Also, the control device 130 multiplies the rotation scaling value used in the previous control cycle by 1+SCALING_ADJUSTMENT_RATIO to set the changed rotation scaling value.
[0126] In step S29, if the changed translation scaling value is greater than the first reference value, the control device 130 sets the changed translation scaling to the first reference value. If the changed rotation scaling value is greater than the second reference value, the control device 130 sets the changed rotation scaling to the second reference value. The first reference value is a predetermined scaling reference value. The second reference value is 1. Then, the process proceeds to step S25, and then returns to step S22.
[0127] After the loop of steps S22, S23, S24, and S25, or the loop of steps S22, S23, S27, S28, S29, and S25, is repeated SCALING_ADJUSTMENT_LOOPMAX times, the process proceeds to step S26, where the control device 130 outputs the rotation angles of the joint axes of the robot arm 60 and the surgical instrument 4. Note that SCALING_ADJUSTMENT_LOOPMAX is the number of times the calculation is repeated in one control cycle of the control device 130. SCALING_ADJUSTMENT_LOOPMAX is, for example, 5 times. By repeatedly performing the calculations in the above loop, the rotation speed of the joint axis approaches the limit value without exceeding the limit value. Furthermore, translational scaling and rotational scaling are performed using the same algorithm shown in steps S21 to S29 above.
[0128] [Variations] It should be noted that the embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is defined by the claims, not by the description of the above embodiments, and further includes all modifications and variations within the meaning and scope of the claims.
[0129] For example, in the above first and second embodiments, an example was shown in which calculations such as translational scaling, rotational scaling, and inverse kinematics calculations were performed by the control device 130 that controls the entire surgery assistance system 100, but the present disclosure is not limited to this. Calculations such as translational scaling, rotational scaling, and inverse kinematics calculations may be performed by a control device other than the control device 130 that controls the entire surgery assistance system 100.
[0130] In addition, in the above-described first and second embodiments, an example was shown in which the control device 130 was arranged inside the medical manipulator 1, but the present disclosure is not limited to this. For example, the control device 130 may be arranged outside the medical manipulator 1.
[0131] In addition, in the first and second embodiments described above, an example was shown in which the control device 130 performs both translational scaling and rotational scaling, but the present disclosure is not limited to this. For example, the control device 130 may perform only rotational scaling.
[0132] Furthermore, in the above first and second embodiments, examples have been shown in which translational scaling and rotational scaling are performed on multiple joint axes of the robot arm 60 and the surgical instrument 4, but the present disclosure is not limited to this. For example, translational scaling and rotational scaling may be performed on only one joint axis of the multiple joint axes of the robot arm 60 and the surgical instrument 4.
[0133] Furthermore, in the above first and second embodiments, an example has been shown in which the translational movement component used in the previous control cycle and the translational movement component corresponding to the operation amount received by the operation unit 120 are linearly interpolated, but the present disclosure is not limited to this. The translational movement component used in the previous control cycle and the translational movement component corresponding to the operation amount received by the operation unit 120 may be interpolated by a method other than linear interpolation.
[0134] Furthermore, in the first and second embodiments, an example was described in which spherical linear interpolation was performed between the rotation component used in the previous control cycle and the rotation component corresponding to the operation amount received by the operation unit 120. However, the present disclosure is not limited to this. For example, elemental interpolation of Euler angles may be performed between the rotation component used in the previous control cycle and the rotation component corresponding to the operation amount received by the operation unit 120. Euler angles refer to the rotation angles RX, RY, and RZ around the X-axis, Y-axis, and Z-axis, respectively. Elemental interpolation of Euler angles refers to spline interpolation of rotations around each axis between the previous control cycle and the current control cycle. For example, for a robot arm 60c having an endoscope 6 attached to its tip, the rotation angles of the joints may be calculated using the variables RX, RY, RZ, and Z. The control device 130 interpolates the variables RX, RY, RZ, and Z for the robot arm 60c between the previous control cycle and the current control cycle. As a result, the control device 130 calculates the rotation angles of the joint axes of the robot arm 60c.
[0135] Furthermore, in the above first and second embodiments, examples have been shown in which the operator-set scaling values of the robot arms 60a, 60b, and 60d, to the distal end of which a surgical instrument 4 other than the endoscope 6 is attached, and the robot arm 60c, to the distal end of which an endoscope 6 is attached, are changed in conjunction with each other, but the present disclosure is not limited to this. For example, the operator-set scaling values of the robot arms 60a, 60b, and 60d, to the distal end of which a surgical instrument 4 other than the endoscope 6 is attached, and the operator-set scaling value of the robot arm 60c, to the distal end of which an endoscope 6 is attached, may be set separately.
[0136] In addition, although the first and second embodiments have been described above as an example in which four robot arms 60 are provided, the present disclosure is not limited to this. In the present disclosure, the number of robot arms 60 may be any other number as long as there is at least one robot arm 60 provided.
[0137] In the first and second embodiments, the arm unit 61 and the positioner 40 are configured as a seven-axis articulated robot, but the present disclosure is not limited to this. For example, the arm unit 61 and the positioner 40 may be configured as an articulated robot with an axis configuration other than a seven-axis articulated robot. An example of an axis configuration other than a seven-axis articulated robot is a six-axis or eight-axis robot.
[0138] In the first and second embodiments, the medical manipulator 1 includes the medical cart 3, the positioner 40, and the arm base 50. However, the present disclosure is not limited to this. For example, the medical cart 3, the positioner 40, and the arm base 50 are not necessarily required, and the medical manipulator 1 may include only the robot arm 60.
[0139] In addition, in the above-described first and second embodiments, examples have been shown in which translational and rotational scaling is performed on the joint axes of the robot arm 60 and the surgical instrument 4, but the present disclosure is not limited to this. For example, translational and rotational scaling may be performed on only the joint axes of the robot arm 60.
[0140] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, application-specific integrated circuits (ASICs), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuitry. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or processor. [Explanation of symbols]
[0141] 1. Medical manipulator (patient side device) 2 Remote control device (operator side device) 4 Surgical instruments 4c shaft 23 Touch panel (reception area) 60 Robot Arm 60a, 60b, 60d Robot arm (second robot arm) 60c Robot Arm (First Robot Arm) 100 Surgical Support System 104a jaw member (first jaw member) 104b jaw member (second jaw member) 120 Operation section 130 Control device B Imaginary axis L1 A straight line along the shaft extension direction L2 Vertical line
Claims
1. a patient-side device including a robot arm to which a surgical instrument is attached at the tip; a control device that controls the translation and rotation of the surgical instrument based on an input signal; The control device performing first scaling on at least the rotational component of the translational component and the rotational component of the input signal of the surgical instrument using a first scaling value used in the previous control cycle; calculating a rotation angle of a joint axis of the robot arm by performing inverse kinematics calculation on the translational movement component and the rotational component after the first scaling; A surgical assistance system that updates the first scaling value when the rotational speed of the joint axis of the robot arm becomes greater than a limit value so that the rotational speed of the joint axis of the robot arm becomes less than or equal to the limit value.
2. The control device 2. The surgical assistance system according to claim 1, wherein the rotation angle of the joint axis of the robot arm is calculated by performing inverse kinematics calculation on the translational movement component and the rotational component after the first scaling using the updated first scaling value, so that the rotation speed of the joint axis of the robot arm is equal to or less than a limit value.
3. the robot arm has a plurality of joint axes; The control device calculating rotation angles of the plurality of joint axes; calculating a rotational speed of each of the plurality of joint shafts based on the rotation angle of each of the plurality of joint shafts; 3. The surgical assistance system according to claim 2, wherein, when the maximum rotational speed among the rotational speeds of each of the plurality of joint axes is equal to or greater than a limit value, the first scaling value is reduced and the first scaling value is changed so that the rotational speed of the joint axis of the robot arm is equal to or less than the limit value.
4. 4. The surgical support system according to claim 3, wherein, when the maximum rotational speed among the rotational speeds of each of the plurality of joint axes is equal to or greater than a limit value, the control device reduces the first scaling value by dividing the first scaling value used in the previous control cycle by the maximum absolute value of the ratios of the calculated rotational speeds of each of the plurality of joint axes to the limit value of each axis, and setting the resultant value as the changed first scaling value.
5. The control device 5. The surgical assistance system according to claim 3, wherein when the maximum rotational speed among the rotational speeds of each of the plurality of joint axes is smaller than a limit value, the first scaling value is changed so as to be larger.
6. 6. The surgery support system according to claim 5, wherein, when the maximum rotational speed among the rotational speeds of the joint axes is smaller than a limit value, the control device sets the changed first scaling value to a value obtained by multiplying the smaller of the reciprocal of the maximum value among the absolute values of the ratios of the calculated rotational speeds of the joint axes to the limit value of each axis, and a predetermined value greater than 1, by the first scaling value used in the previous control cycle.
7. The surgical support system according to any one of claims 2 to 6, wherein the control device calculates the translational movement component to be used in the current control cycle by linearly interpolating the translational movement component used in the previous control cycle and the translational movement component corresponding to the input signal based on the first scaling value.
8. The surgical support system according to any one of claims 2 to 7, wherein the control device calculates the rotational component to be used in the current control cycle by performing spherical linear interpolation, based on the first scaling value, between the rotational component used in the previous control cycle and the rotational component corresponding to the input signal, interpolating along a spherical surface.
9. The surgical instrument comprises: A shaft, a wrist joint for bending a jaw provided on the distal end side of the shaft, the control device performs the first scaling on at least the rotational components of a plurality of joint axes of the surgical instrument, including a roll rotation axis of the shaft and a rotation axis of the wrist joint; calculating a rotation angle of a joint axis of the surgical instrument by performing inverse kinematics calculation on the translational movement component and the rotational component after the first scaling; updating the first scaling value so that the rotational speed of the joint shaft of the surgical instrument is equal to or less than a limit value; The surgical support system according to any one of claims 2 to 8, wherein the rotation angle of the joint axis of the surgical instrument is calculated by performing inverse kinematics calculation on the translational movement component and the rotational component after the first scaling is performed using the updated first scaling value.
10. The surgical support system according to any one of claims 2 to 9, wherein the control device performs the first scaling when the surgical instrument moves in a rotational manner around a predetermined point where a straight line extending in the direction in which the shaft of the surgical instrument extends intersects with a straight line extending in the vertical direction.
11. The surgery assistance system according to any one of claims 2 to 10, wherein the control device performs the first scaling on both the translational movement component and the rotational movement component.
12. a receiving unit configured to receive a second scaling value for translational movement of the surgical instrument by an operator; The control device performing second scaling on the translational movement component based on the received second scaling value; The surgery assistance system according to any one of claims 2 to 11, wherein the first scaling is performed on the translational movement component that has been subjected to the second scaling.
13. The robot arm a first robot arm having an endoscope attached to its tip; a second robot arm to the tip of which the surgical instrument other than the endoscope is attached, 13. The surgical assistance system according to claim 12, wherein when the second scaling value for the second robot arm is accepted by the accepting unit, the control device changes the second scaling value for the first robot arm in conjunction with the accepted second scaling value.
14. A control method for a surgery assistance system including a patient-side device including a robot arm having a surgical instrument attached to a tip thereof, and a control device that controls translational movement and rotation of the surgical instrument based on an input signal, comprising: the control device performs scaling on at least the rotational component of the translational component and the rotational component of the input signal of the surgical instrument using a scaling value used in a previous control cycle; the control device calculates rotation angles of the joint axes of the robot arm and the surgical instrument by performing inverse kinematics calculations on the translational movement components and the rotational components after the scaling; A control method for a surgical assistance system, wherein the control device updates the scaling value when the rotational speed of the joint axis of the robot arm becomes greater than a limit value so that the rotational speed of the joint axis of the robot arm is less than or equal to the limit value.
15. A program for executing a control method for a surgery assistance system including a patient-side device including a robot arm having a surgical instrument attached to a tip thereof, and a control device that controls translational movement and rotation of the surgical instrument based on an input signal, the control device performs scaling on at least the rotational component of the translational component and the rotational component of the input signal of the surgical instrument using a scaling value used in a previous control cycle; the control device calculates rotation angles of the joint axes of the robot arm and the surgical instrument by performing inverse kinematics calculations on the translational movement components and the rotational components after the scaling; A program that executes a control method for a surgical assistance system, in which the control device updates the scaling value when the rotational speed of the joint axis of the robot arm becomes greater than a limit value so that the rotational speed of the joint axis of the robot arm becomes equal to or less than the limit value.
Citation Information
Patent Citations
Method and apparatus for performing minimally invasive cardiac procedures
US6994703B2