WO2020116792A1 - 수술용 슬레이브 암을 원격으로 제어하는 방법 및 시스템 - Google Patents
수술용 슬레이브 암을 원격으로 제어하는 방법 및 시스템 Download PDFInfo
- Publication number
- WO2020116792A1 WO2020116792A1 PCT/KR2019/014696 KR2019014696W WO2020116792A1 WO 2020116792 A1 WO2020116792 A1 WO 2020116792A1 KR 2019014696 W KR2019014696 W KR 2019014696W WO 2020116792 A1 WO2020116792 A1 WO 2020116792A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- slave arm
- joint angles
- calculated
- arm
- motion
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
- A61B34/35—Surgical robots for telesurgery
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods, e.g. tourniquets
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
- A61B34/37—Master-slave robots
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/70—Manipulators specially adapted for use in surgery
- A61B34/74—Manipulators with manual electric input means
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/70—Manipulators specially adapted for use in surgery
- A61B34/76—Manipulators having means for providing feel, e.g. force or tactile feedback
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods, e.g. tourniquets
- A61B2017/00017—Electrical control of surgical instruments
- A61B2017/00115—Electrical control of surgical instruments with audible or visual output
- A61B2017/00119—Electrical control of surgical instruments with audible or visual output alarm; indicating an abnormal situation
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods, e.g. tourniquets
- A61B2017/00017—Electrical control of surgical instruments
- A61B2017/00212—Electrical control of surgical instruments using remote controls
Definitions
- a method and system for remotely controlling a surgical slave arm to move within a range of motion is disclosed.
- surgery refers to healing of the skin, mucous membranes, or other tissues by cutting, slitting or manipulating them using a medical machine.
- open surgery to open and cut the skin on the surgical site to treat, shape, or remove the organs in the surgery area has recently been performed using robots due to problems such as bleeding, side effects, patient pain, and scars. It is spotlighted as an alternative.
- Such a surgical robot can be divided into a master arm that generates and transmits a signal required by a doctor's operation, and a slave arm that receives a signal from the operation unit and directly applies the operation required to the patient.
- the master arm and the slave arm may be divided as each part of one surgical robot, or may be configured as separate devices and disposed in the operating room.
- the operator does not directly manipulate the instruments necessary for surgery, but manipulates the master arm so that various instruments mounted on the slave arm perform the operations required for surgery.
- Inverse kinematics may be used in the process in which the operator manipulates the master arm and the movement of the slave arm is remotely controlled.
- position data in a linear space can be converted into joint angles in a joint space.
- the position data includes a distance and a rotation angle in the X-axis, Y-axis, and Z-axis directions with respect to the reference point.
- singularity may occur.
- the slave arm can be controlled to move at an angle and angular velocity outside of the physically movable range of motion.
- An object of the present invention is to provide a method and system for remotely controlling a surgical slave arm to move within a physically movable range of motion.
- a method for remotely controlling a slave arm for surgery includes receiving a command through a master arm from an operator; Calculating target position data of the slave arm based on the received command; Calculating joint angles based on the calculated target position data; Modifying at least one of the calculated joint angles to be included within a range of motion of the slave arm; Determining next joint angles corresponding to the next position of the slave arm based on the modified joint angles and current joint angles corresponding to the current position of the slave arm; And controlling the slave arm to move according to the determined next joint angles.
- the slave arm may be controlled to move to a physically movable position and posture, or may be controlled so that the slave arm does not move at an excessive angle and angular velocity.
- the slave arm can be controlled to move to the position and posture input by the operator command.
- 1 is a plan view showing an embodiment of a surgical robot system.
- FIG. 2 is a flowchart illustrating an example of a method for remotely controlling a slave arm.
- FIG. 3 is a flowchart illustrating an example of a method for determining the next joint angles.
- a method for remotely controlling a slave arm for surgery includes receiving a command through a master arm from an operator; Calculating target position data of the slave arm based on the received command; Calculating joint angles based on the calculated target position data; Modifying at least one of the calculated joint angles to be included within a range of motion of the slave arm; Determining next joint angles corresponding to the next position of the slave arm based on the modified joint angles and current joint angles corresponding to the current position of the slave arm; And controlling the slave arm to move according to the determined next joint angles.
- the step of correcting at least one of the calculated joint angles may include substituting a value included in the movement range for a joint angle outside the movement range of the slave arm among the calculated joint angles. It further includes.
- a joint angle outside the movement range of the slave arm is replaced with a boundary value of the movement range.
- determining the next joint angles of the slave arm further comprises determining whether a difference between the position data calculated based on the corrected joint angles and the target position data exceeds a first reference value.
- determining the next joint angles of the slave arm further includes determining whether the difference between the corrected joint angles and the current joint angles of the slave arm exceeds a second reference value.
- determining the next joint angles of the slave arm may include determining the next joint angles of the slave arm as the slaves when it is determined that the first reference value is exceeded or exceeds the second reference value. Determining the current joint angles of the arm; And otherwise, determining the next joint angles of the slave arm as the modified joint angles.
- the method described above further includes providing an alarm to the operator when the next joint angles of the slave arm are determined as the current joint angles of the slave arm.
- the alarm is displayed, output in the form of sound, or output in the form of vibration occurring in the master arm or the slave arm and provided to the operator.
- a surgical robot system includes a master arm; Slave arm; And at least one processor controlling the slave arm to move based on an operator operating the master arm, wherein the at least one processor comprises: obtaining an instruction input through the master arm from the operator. ; Calculating target position data of the slave arm based on the acquired command; Calculating joint angles based on the calculated target position data; Modifying at least one of the calculated joint angles to be included within a range of motion of the slave arm; Determining next joint angles corresponding to the next position of the slave arm based on the modified joint angles and current joint angles corresponding to the current position of the slave arm; And controlling the slave arm to move according to the determined next joint angles.
- the at least one processor replaces a joint angle out of the range of motion of the slave arm among the calculated joint angles with a value included in the range of motion.
- 1 is a plan view showing an embodiment of a surgical robot system.
- the surgical robot system 1 includes an operator (O) a slave robot 10 and a slave robot 10 performing surgery on a patient P lying on the operating table 2. ) Includes a master console 20 for remote control.
- the surgical robot system 1 may include a vision cart 30. Through the display unit 35 of the vision cart 30, the assistant A can check the progress of the surgery.
- the slave robot 10 may include one or more slave arms 11.
- a robot arm refers to a device having a function similar to a human arm and/or wrist and capable of attaching a predetermined tool to the wrist.
- the slave arm 11 may be defined as a concept encompassing all components, such as upper arm, lower arm, wrist, and elbow, and surgical instruments coupled to the wrist. As such, the slave arm 11 of the slave robot 10 may be implemented to be driven with multiple degrees of freedom.
- the slave arm 11 is, for example, a surgical instrument inserted into the surgical site of the patient P, a transport driving unit for moving the surgical instrument in the longitudinal direction, a rotary driving unit for rotating the surgical instrument, and is installed at the end of the surgical instrument It may be configured to include a surgical instrument drive for cutting or cutting the lesion.
- the configuration of the slave arm 11 is not limited to this, it should be understood that these examples do not limit the scope of the present invention.
- the slave robot 10 may be used as one or more to operate the patient P, and the surgical tool 12 for allowing the surgical site to be displayed as an image image through a display member (not shown) is an independent slave robot. (10).
- embodiments of the present invention can be used universally for surgery using various surgical endoscopes (eg, thoracoscopy, arthroscopy, parenteral, etc.) other than laparoscopic.
- various surgical endoscopes eg, thoracoscopy, arthroscopy, parenteral, etc.
- the master console 20 and the slave robot 10 do not necessarily need to be separated into separate physically independent devices, and can be integrated into one and configured in one piece.
- the master console 20 includes a master arm (not shown) and a display member (not shown).
- the master console 20 may further include an external display device 25 capable of displaying the state of the operator O on the outside.
- the master console 20 is provided with a master arm so that the operator O can operate.
- an operation signal is transmitted to the slave robot 10 through a wired or wireless communication network, and the slave arm 11 is controlled. That is, a surgical operation such as a position movement, rotation, or cutting operation of the slave arm 11 may be performed by operating the master arm of the operator O.
- the image captured through the surgical tool 12 is displayed on the display member of the master console 20 as an image image.
- a predetermined virtual operation panel may be displayed on the display member together with an image photographed through the surgical tool 12 or may be displayed independently.
- the display member may be provided in various forms in which the operator O can check the image.
- a display device may be installed to correspond to both eyes of the operator O.
- one or more monitors may be configured, and information necessary for surgery may be individually displayed on each monitor.
- the number of display members may be variously determined according to the type or type of information requiring display.
- the vision cart 30 is installed spaced apart from the slave robot 10 or the master console 20, and the progress of the operation can be checked from the outside through the display unit 35.
- the image displayed on the display unit 35 may be the same as the image displayed on the display member of the operator O.
- the assistant A may assist the operator O with the surgical operation while checking the image of the display unit 35.
- the assistant A can replace the surgical tool 12 in the instrument cart 3 according to the progress of the surgery.
- the central control unit 40 is connected to the slave robot 10, the master console 20, and the vision cart 30 to transmit and receive each signal.
- the central control unit 40 includes at least one processor that controls the slave arm 11 to move based on the operator O operating the master arm.
- the at least one processor may be implemented as an array of multiple logic gates, or may be implemented as a combination of a general purpose microprocessor and a memory in which programs that can be executed in the microprocessor are stored.
- At least one processor may control the slave arm 11 to move within a physically movable range of motion.
- a method of remotely controlling the slave arm 11 to move within a physically movable range of motion will be described with reference to FIGS. 2 and 3.
- FIG. 2 is a flowchart illustrating an example of a method for remotely controlling a slave arm.
- the at least one processor may receive a command for controlling the slave arm through the master arm from the operator.
- the master arm may include an operation lever, and a command may be input through the operation lever.
- the operation lever can have various mechanical configurations.
- the operation lever may be in the form of a handle.
- the shape of the operation lever is not limited, and may be various types such as a joystick, a keypad, a trackball, and a touch screen.
- step S220 the at least one processor may calculate target position data T_target of the slave arm based on the received command.
- the position data is data representing the position (position and posture) of an object in a linear space, and may include a distance and a rotation angle in the X-axis, Y-axis, and Z-axis directions with respect to a reference point.
- the at least one processor may calculate target position data T_target indicating the target slave arm position based on the received command.
- the target position data T_target may be expressed as Equation 1 below.
- T_target ⁇ X_target, Y_target, Z_target, RX_target, RY_target, RZ_target ⁇
- X_target, Y_target, and Z_target denote target positions in the X-axis, Y-axis, and Z-axis directions of the slave arm, respectively
- RX_target, RY_target, and RZ_target are X-axis and Y of the slave arm, respectively, for the reference point.
- a target rotation angle in the axis and Z axis directions is shown.
- the target posture of the slave arm may be determined by RX_target, RY_target, and RZ_target.
- At step S220 at least one processor may calculate the target position and posture of the slave arm based on the operator operating the master arm.
- the at least one processor may calculate joint angles (q_calculated_1, q_calculated_2, ..., q_calculated_n) based on the calculated target position data T_target.
- the slave arm includes a link and a joint (joint). As the motor mounted on the joint rotates, the link rotates so that the position and posture of the slave arm can be changed. Therefore, in order to control the position and posture of the slave arm to be changed according to the calculated target position data T_target, the joint angle to which the motor should rotate must be calculated.
- the joint angles (q_calculated_1, q_calculated_2, ..., q_calculated_n) can be calculated by inverse kinematics that convert from linear space to joint space.
- the joint angles Q_calculated can be calculated by the following equation (2).
- the at least one processor may convert target position data T_target in the linear space to joint angles Q_calculated in the joint space.
- the at least one processor may modify at least one of the calculated joint angles Q_calculated to be included within the range of motion of the slave arm.
- the calculated joint angles Q_calculated may have a value outside the range of motion of the slave arm.
- the target position data T_target is a position and posture out of the range of motion of the slave arm
- the calculated joint angles Q_calculated may have a value outside the range of motion of the slave arm.
- the range of motion of the slave arm refers to the range of rotation angles at which the joint (joint) of the slave arm can physically move. If the slave arm is controlled to be out of range, it may break or fail.
- At least one processor determines whether the calculated joint angles Q_calculated are outside the range of motion of the slave arm, and corrects the joint angle outside the range of motion to be included within the range of motion.
- the at least one processor may be substituted with a value included in the motion range so that the joint angle outside the motion range is included within the motion range.
- q_calculated_1 among the calculated joint angles when q_calculated_1 among the calculated joint angles is outside the range of motion of the slave arm, q_calculated_1 may be substituted with a value included in the range of motion.
- q_calculated_2 and q_calculated_n among the calculated joint angles are outside the range of motion of the slave arm, q_calculated_2 and q_calculated_n may be modified to values included in the range of motion.
- the at least one processor may substitute the motion range boundary value so that the joint angle outside the motion range is included within the motion range.
- q_calculated_1 may be replaced with 1.5rad.
- the joint angle out of the range of motion of the slave arm among the calculated joint angles may be corrected to be included within the range of motion to prevent the slave arm from deviating from the range of motion.
- the joint angle can be directly substituted to intuitively control the slave arm so that it does not deviate from the range of motion.
- control errors can be detected more quickly.
- the at least one processor may determine and determine the next joint angles Q_next of the slave arm based on the modified joint angles Q_modified and the current joint angles Q_current.
- the current joint angles Q_current mean joint angles corresponding to the current position (position and posture) of the slave arm.
- the next joint angles Q_next mean joint angles corresponding to the next position (position and posture) to which the slave arm should move.
- step S260 the at least one processor may control the slave arm to move according to the joint angles Q_next after being determined.
- At least one processor can control the slave arm to move according to the modified joint angles Q_modified.
- At least one processor may control the slave arm to maintain the current position and posture.
- step S250 To describe step S250 in more detail, see FIG. 3.
- FIG. 3 is a flowchart illustrating an example of a method for determining the next joint angles.
- step S251 the at least one processor determines whether the difference between the position data T_calculated of the slave arm and the target position data T_target of the slave arm calculated based on the modified joint angles Q_modified exceeds the first reference value.
- the position data T_calculated of the slave arm can be calculated from the modified joint angles Q_modified using forward kinematics.
- the position data T_calculated of the slave arm can be calculated by the following equation (3).
- the target position data T_target of the slave arm may be expressed according to Equation 1 above, and the calculated position data T_calculated of the slave arm may be expressed according to Equation 4 below.
- T_calculated ⁇ X_calculated, Y_calculated, Z_calculated, RX_calculated, RY_calculated, RZ_calculated ⁇
- At least one processor may determine whether the norm of the difference between the target position data T_target and the calculated position data T_calculated exceeds the first reference value according to Equation 5 below.
- the first reference value may be a constant.
- At least one processor may determine whether the difference between the elements of the target position data T_target and the calculated position data T_calculated exceeds the first reference value according to Equation 6 below.
- the first reference value may be a vector having constants as elements. Since it is determined whether the difference between the respective elements exceeds the first reference value, it is possible to precisely determine whether the slave arm can move to the target position and posture.
- the at least one processor may compare the difference between the position of the target position data T_target and the calculated position data T_calculated and the difference of the posture with the first reference value, respectively.
- At least one processor may compare the target position data T_target and the calculated position data T_calculated in various ways, and is not limited to the described embodiments.
- the target position data T_target indicates the position and posture input by the operator's command
- the calculated position data T_calculated indicates the position and posture calculated so that the slave arm moves within the movement range. Therefore, by comparing the target position data T_target and the calculated position data T_calculated, whether the slave arm is controlled to move at the position and posture input by the operator command, and whether the slave arm is controlled to move at an excessive angle and angular velocity, etc. I can judge.
- step S252 the at least one processor determines whether the difference between the modified joint angles Q_modified and the current joint angles Q_current exceeds the second reference value.
- the at least one processor may determine whether the norm of the difference between the modified joint angles Q_modified and the current joint angles Q_current exceeds the second reference value. Alternatively, the at least one processor may determine whether the difference between the elements of the modified joint angles Q_modified and the current joint angles Q_current respectively exceeds the second reference value.
- the modified joint angles Q_modified represent the joint angles calculated so that the slave arm moves within the range of motion, and the current joint angles Q_current indicate the joint angles for the position and posture of the current slave arm. Accordingly, it is possible to determine whether the slave arm is controlled to move at an excessive angle and angular velocity by comparing the modified joint angles Q_modified with the current joint angles Q_current.
- step S253 the at least one processor determines the next joint angles Q_next as the current joint angles Q_current of the slave arm.
- Step S253 is a step performed when any one of the conditions of step S251 and the conditions of step S252 is satisfied. That is, in step S253, the difference between the position data T_calculated of the slave arm and the target position data T_target of the slave arm calculated based on the modified joint angles Q_modified exceeds the first reference value, or the corrected joint angles Q_modified and the current joint angle This step is performed when the difference of Q_current exceeds the second reference value.
- step S251 Satisfying either the condition of step S251 or the condition of step S252 means that the slave arm is controlled to move to a position and posture that cannot move, or the slave arm is controlled to move at an excessive angle and angular velocity. In this case, the slave arm may break or fail. Therefore, to prevent this, at least one processor may determine the next joint angles Q_next as the current joint angles Q_current to lock the movement of the slave arm.
- At least one processor may inform the operator that the movement of the slave arm is locked through an alarm.
- the alarm is displayed through the display member of the master console (20 in FIG. 1), an external display device (25 in FIG. 1), a display unit of the vision cart (35 in FIG. 1), etc., and is delivered to the operator, or in the form of sound to the operator. It can be transmitted or transmitted to the operator in the form of vibration occurring in the master arm or slave arm.
- step S254 the at least one processor determines the next joint angles Q_next as modified joint angles Q_modified.
- Step S254 is a step performed when both the conditions of step S251 and the conditions of step S252 are not satisfied. That is, in step S254, the difference between the position data T_calculated of the slave arm and the target position data T_target of the slave arm calculated based on the modified joint angles Q_modified does not exceed the first reference value, and the corrected joint angles Q_modified and the current joint. This step is performed when the difference of angles Q_current does not exceed the second reference value.
- step S251 Not satisfying both the condition of step S251 and the condition of step S252 means that the slave arm is controlled to move to a physically movable position and posture. Accordingly, at least one processor may determine the next joint angles Q_next as the modified joint angles Q_modified, and control the slave arm to move according to the modified joint angles Q_modified.
- a method for remotely controlling a surgical slave arm can be applied to various industrially available robot devices. It can be applied to various types of robot devices, robot systems such as industrial robots, medical robots, mobile robots, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- Robotics (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
일 실시예에 따른 수술용 슬레이브 암을 원격으로 제어하는 방법은, 오퍼레이터로부터 마스터 암을 통해 명령을 입력 받는 단계, 상기 입력 받은 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계, 상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계, 상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계, 상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 위치 및 자세 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 위치 및 자세에 대응되는 다음 조인트 각도들을 결정하는 단계, 및 상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 포함한다.
Description
수술용 슬레이브 암이 운동 범위(運動範圍) 이내에서 움직이도록 원격으로 제어하는 방법 및 시스템에 관한 것이다.
의학적으로 수술이란 피부나 점막, 기타 조직을 의료 기계를 사용하여 자르거나 째거나 조작을 가하여 병을 고치는 것을 말한다. 특히, 수술부위의 피부를 절개하여 열고 그 내부에 있는 기관 등을 치료, 성형하거나 제거하는 개복 수술 등은 출혈, 부작용, 환자의 고통, 흉터 등의 문제로 인하여 최근에는 로봇(robot)을 사용한 수술이 대안으로서 각광받고 있다.
이러한 수술용 로봇은 의사의 조작에 의해 필요한 신호를 생성하여 전송하는 마스터 암(master arm)과, 조작부로부터 신호를 받아 직접 환자에 수술에 필요한 조작을 가하는 슬레이브 암(slave arm)으로 구분될 수 있는데, 마스터 암과 슬레이브 암은 하나의 수술용 로봇의 각 부분으로서 구분되거나, 별도의 장치로 구성되어 수술실에 각각 배치될 수도 있다.
로봇 수술의 경우 오퍼레이터는 수술에 필요한 인스트루먼트를 직접 조작하는 것이 아니라, 마스터 암을 조작하여 슬레이브 암에 장착된 각종 인스트루먼트가 수술에 필요한 동작을 수행하도록 한다.
오퍼레이터가 마스터 암을 조작하고 슬레이브 암의 움직임이 원격으로 제어되는 과정에는 역기구학(inverse kinematics)이 이용될 수 있다. 역기구학에 의해 직선 공간(linear space)의 포지션 데이터(position data)가 조인트 공간(joint space)의 조인트 각도들로 변환될 수 있다. 여기서, 포지션 데이터는 기준점에 대한 X축, Y축, 및 Z축 방향으로의 거리와 회전 각도를 포함한다.
역기구학을 이용하여 포지션 데이터로부터 조인트 각도들을 산출하는 경우, 특이점(singularity)이 발생할 수 있다. 특이점이 발생하면, 슬레이브 암이 물리적으로 움직일 수 있는 운동 범위를 벗어나는 각도 및 각속도로 움직이도록 제어될 수 있다.
이에, 물리적으로 움직일 수 있는 운동 범위 내에서 움직이도록 슬레이브 암을 제어하는 방법이 요구된다.
수술용 슬레이브 암이 물리적으로 움직일 수 있는 운동 범위 내에서 움직이도록 원격으로 제어하는 방법 및 시스템을 제공하고자 한다.
본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
일 실시예에 따른 수술용 슬레이브 암을 원격으로 제어하는 방법은, 오퍼레이터로부터 마스터 암을 통해 명령을 입력 받는 단계; 상기 입력 받은 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계; 상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계; 상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계; 상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및 상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 포함한다.
슬레이브 암이 물리적으로 움직일 수 있는 위치 및 자세로 이동하도록 제어되거나, 슬레이브 암이 과도한 각도 및 각속도로 움직이지 않도록 제어될 수 있다. 또한 슬레이브 암이 오퍼레이터 명령에 의해 입력된 위치 및 자세로 움직이도록 제어될 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 수술용 로봇 시스템의 일 실시예를 나타내는 평면도이다.
도 2는 슬레이브 암을 원격으로 제어하는 방법의 일 예를 나타낸 순서도이다.
도 3은 다음 조인트 각도들을 결정하는 방법의 일 예를 나타낸 순서도이다.
일 실시예에 따른 수술용 슬레이브 암을 원격으로 제어하는 방법은, 오퍼레이터로부터 마스터 암을 통해 명령을 입력 받는 단계; 상기 입력 받은 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계; 상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계; 상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계; 상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및 상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 포함한다.
상술한 방법에서, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계는, 상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 상기 운동 범위에 포함되는 값으로 치환하는 단계를 더 포함한다.
상술한 방법에서, 상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도는 상기 운동 범위의 경계값으로 치환된다.
상술한 방법에서, 상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는, 상기 수정된 조인트 각도들에 기초하여 산출되는 포지션 데이터와 상기 목표 포지션 데이터의 차이가 제1 기준값을 초과하는지 판단하는 단계를 더 포함한다.
상술한 방법에서, 상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는, 상기 수정된 조인트 각도들과 상기 슬레이브 암의 현재 조인트 각도들의 차이가 제2 기준값을 초과하는지 판단하는 단계를 더 포함한다.
상술한 방법에서, 상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는, 상기 제1 기준값을 초과하는 것으로 판단되거나 상기 제2 기준값을 초과하는 것으로 판단되는 경우, 상기 슬레이브 암의 다음 조인트 각도들을 상기 슬레이브 암의 현재 조인트 각도들로 결정하는 단계; 및 그 외의 경우, 상기 슬레이브 암의 다음 조인트 각도들을 상기 수정된 조인트 각도들로 결정하는 단계를 더 포함한다.
상술한 방법은, 상기 슬레이브 암의 다음 조인트 각도들을 상기 슬레이브 암의 현재 조인트 각도들로 결정한 경우, 상기 오퍼레이터에게 알람을 제공하는 단계를 더 포함한다.
상술한 방법에서, 상기 알람은 디스플레이 되거나, 소리의 형태로 출력되거나, 상기 마스터 암 또는 상기 슬레이브 암에 발생하는 진동의 형태로 출력되어 상기 오퍼레이터에게 제공된다.
다른 실시예에 따른 수술용 로봇 시스템은, 마스터 암; 슬레이브 암; 및 오퍼레이터가 상기 마스터 암을 조작하는 것에 기초하여 상기 슬레이브 암이 움직이도록 제어하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 오퍼레이터로부터 상기 마스터 암을 통해 입력된 명령을 획득하는 단계; 상기 획득한 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계; 상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계; 상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계; 상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및 상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 수행한다.
상술한 수술용 로봇 시스템에서, 상기 적어도 하나의 프로세서는, 상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 상기 운동 범위에 포함되는 값으로 치환한다.
이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다. 하기 설명은 실시예들을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 당해 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.
본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
도 1은 수술용 로봇 시스템의 일 실시예를 나타내는 평면도이다.
도 1을 참조하면, 일 실시예에 따른 수술용 로봇 시스템(1)은 수술대(2)에 누워있는 환자(P)에게 수술을 행하는 슬레이브 로봇(10)과, 슬레이브 로봇(10)을 오퍼레이터(O)가 원격 조종하도록 하는 마스터 콘솔(20)을 포함한다. 또한, 수술용 로봇 시스템(1)은 비전 카트(30)를 포함할 수 있다. 비전 카트(30)의 표시부(35)를 통해서, 보조자(A)가 수술의 진행 상황을 확인할 수 있다.
슬레이브 로봇(10)은 하나 이상의 슬레이브 암(11)을 포함할 수 있다. 일반적으로 로봇 암은 인간의 팔 및/또는 손목과 유사한 기능을 가지고 있으며 손목 부위에 소정의 도구를 부착시킬 수 있는 장치를 의미한다. 본 명세서에서 슬레이브 암(11)이란 상박, 하박, 손목, 팔꿈치 등의 구성 요소 및 상기 손목 부위에 결합되는 수술용 인스트루먼트 등을 모두 포괄하는 개념으로 정의할 수 있다. 이와 같은, 슬레이브 로봇(10)의 슬레이브 암(11)은 다자유도를 가지며 구동되도록 구현될 수 있다. 슬레이브 암(11)은 예를 들어 환자(P)의 수술 부위에 삽입되는 수술기구, 수술기구를 길이 방향으로 이동시키는 이송 구동부와, 수술기구를 회전시키는 회전 구동부, 수술기구의 끝단에 설치되어 수술 병변을 절개 또는 절단하는 수술기구 구동부를 포함하여 구성될 수 있다. 다만, 슬레이브 암(11)의 구성이 이에 제한되지는 않으며, 이러한 예시가 본 발명의 권리범위를 제한하지 않는 것으로 이해되어야 한다.
슬레이브 로봇(10)은 환자(P)를 수술하기 위하여 하나 이상으로 이용될 수 있으며, 수술 부위가 디스플레이 부재(미도시)를 통해 화상 이미지로 표시되 도록 하기 위한 수술 도구(12)는 독립된 슬레이브 로봇(10)으로 구현될 수도 있다.
또한, 앞서 설명된 바와 같이, 본 발명의 실시예들은 복강경 이외의 다양한 수술용 내시경(예를 들어, 흉강경, 관절경, 비경 등)이 이용되는 수술들에 범용적으로 사용될 수 있다.
마스터 콘솔(20)과 슬레이브 로봇(10)이 반드시 물리적으로 독립된 별도의 장치로 분리되어야 하는 것은 아니며, 하나로 통합되어 일체형으로 구성될 수 있다.
마스터 콘솔(20)은 마스터 암(미도시) 및 디스플레이 부재(미도시)를 포함한다. 또한, 마스터 콘솔(20)은 추가적으로 외측에 오퍼레이터(O)의 상태를 표시할 수 있는 외부의 디스플레이 장치(25)를 더 구비할 수 있다.
상세히, 마스터 콘솔(20)은 오퍼레이터(O)가 조작할 수 있도록 마스터 암을 구비한다. 오퍼레이터(O)가 마스터 암을 조작하면, 조작 신호가 유선 또는 무선 통신망을 통해 슬레이브 로봇(10)으로 전송되어 슬레이브 암(11)이 제어된다. 즉, 오퍼레이터(O)의 마스터 암 조작에 의해 슬레이브 암(11)의 위치 이동, 회전, 절단 작업 등의 수술 동작이 수행될 수 있다.
마스터 콘솔(20)의 디스플레이 부재에는 수술 도구(12)를 통해 촬영되는 영상이 화상 이미지로 표시된다. 또한 디스플레이 부재에는 소정의 가상 조작판이 상기 수술 도구(12)를 통해 촬영되는 영상과 함께 표시되거나 또는 독립적으로 표시될 수 있다.
디스플레이 부재는 오퍼레이터(O)가 영상을 확인할 수 있는 다양한 형태로 구비될 수 있다. 예를 들어, 오퍼레이터(O)의 양안에 대응하도록 디스플레이 장치가 설치될 수 있다. 다른 예로, 하나 이상의 모니터들로 구성될 수 있으며, 각 모니터에 수술시 필요한 정보들이 개별적으로 표시되도록 할 수 있다. 디스플레이 부재의 수량은 표시를 요하는 정보의 유형이나 종류 등에 따라 다양하게 결정될 수 있다.
비전 카트(30)는 슬레이브 로봇(10)이나 마스터 콘솔(20)에 이격되게 설치되고, 외부에서 수술의 진행상황을 표시부(35)를 통해서 확인할 수 있다.
표시부(35)에서 디스플레이되는 영상은 오퍼레이터(O)의 디스플레이 부재에서 디스플레이 되는 영상과 동일할 수 있다. 보조자(A)는 표시부(35)의 영상을 확인하면서, 오퍼레이터(O)의 수술 작업을 보조할 수 있다. 예를 들어, 보조자(A)는 수술의 진행상태에 따라 수술 도구(12)를 인스트루먼트 카트(3)에서 교체할 수 있다.
중앙 제어부(40)는 슬레이브 로봇(10), 마스터 콘솔(20), 및 비전 카트(30)와 연결되어, 각각의 신호를 송수신 할 수 있다.
중앙 제어부(40)는 오퍼레이터(O)가 마스터 암을 조작하는 것에 기초하여 슬레이브 암(11)이 움직이도록 제어하는 적어도 하나의 프로세서를 포함한다. 적어도 하나의 프로세서는 다수의 논리 게이트들의 어레이로 구현될 수 있고, 범용적인 마이크로 프로세서와 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.
적어도 하나의 프로세서는 슬레이브 암(11)이 물리적으로 이동 가능한 운동 범위 내에서 움직이도록 제어할 수 있다. 이하에서는, 도 2 및 도 3을 참조하여, 슬레이브 암(11)이 물리적으로 이동 가능한 운동 범위 내에서 움직이도록 원격으로 제어하는 방법에 대하여 살펴본다.
도 2는 슬레이브 암을 원격으로 제어하는 방법의 일 예를 나타낸 순서도이다.
단계 S210에서, 적어도 하나의 프로세서는 오퍼레이터로부터 마스터 암을 통해 슬레이브 암을 제어하기 위한 명령을 입력 받을 수 있다. 마스터 암은 조작 레버를 포함할 수 있으며, 조작 레버를 통해 명령이 입력될 수 있다.
조작 레버는 다양한 기구적 구성을 가질 수 있다. 예를 들어, 조작 레버는 핸들 형태일 수 있다. 조작 레버의 형태는 제한되지 않으며, 조이스틱, 키패드, 트랙볼, 터치스크린 등과 같이 다양한 형태일 수 있다.
단계 S220에서, 적어도 하나의 프로세서는 입력 받은 명령에 기초하여 슬레이브 암의 목표 포지션 데이터 T_target를 산출할 수 있다.
포지션 데이터는 선형 공간에서 물체의 포지션(위치 및 자세)을 나타내는 데이터로, 기준점에 대한 X축, Y축, 및 Z축 방향으로의 거리 및 회전 각도를 포함할 수 있다.
적어도 하나의 프로세서는 입력 받은 명령에 기초하여 목표하는 슬레이브 암의 포지션을 나타내는 목표 포지션 데이터 T_target를 산출할 수 있다.
예를 들어, 목표 포지션 데이터 T_target는 다음의 수학식 1과 같이 표현될 수 있다.
(수학식 1)
T_target = {X_target, Y_target, Z_target, RX_target, RY_target, RZ_target}
여기서, X_target, Y_target, Z_target는 각각 기준점에 대한 슬레이브 암의 X축, Y축, 및 Z축 방향으로의 목표하는 위치를 나타내고, RX_target, RY_target, RZ_target는 각각 기준점에 대한 슬레이브 암의 X축, Y축, 및 Z축 방향으로의 목표하는 회전 각도를 나타낸다. RX_target, RY_target, RZ_target에 의해 슬레이브 암의 목표하는 자세가 결정될 수 있다.
즉, 단계 S220에서 적어도 하나의 프로세서는 오퍼레이터가 마스터 암을 조작한 것에 기초하여 슬레이브 암의 목표하는 위치 및 자세를 산출할 수 있다.
단계 S230에서, 적어도 하나의 프로세서는 산출된 목표 포지션 데이터 T_target에 기초하여 조인트 각도들(q_calculated_1, q_calculated_2, ..., q_calculated_n)을 산출할 수 있다.
슬레이브 암은 링크와 조인트(관절)를 포함한다. 조인트에 장착된 모터가 회전함에 따라 링크가 회전하여 슬레이브 암의 위치 및 자세가 변경될 수 있다. 따라서, 산출된 목표 포지션 데이터 T_target에 따라 슬레이브 암의 위치 및 자세가 변경되도록 제어하기 위해서는, 모터가 회전해야 할 조인트 각도가 산출되어야 한다.
조인트 각도들(q_calculated_1, q_calculated_2, ..., q_calculated_n)은 선형 공간에서 조인트 공간으로 변환시키는 역기구학(inverse kinematics)에 의해 산출될 수 있다. 조인트 각도들의 집합을 Q_calculated라 하고, 조인트 공간에서 선형 공간으로 매핑하는 도함수를 J라고 하였을 때, 조인트 각도들 Q_calculated은 다음의 수학식 2에 의해 산출될 수 있다.
(수학식 2)
Q_calculated = J-1 x T_target
즉, 단계 S230에서 적어도 하나의 프로세서는 선형 공간의 목표 포지션 데이터 T_target를 조인트 공간의 조인트 각도들 Q_calculated로 변환할 수 있다.
단계 S240에서, 적어도 하나의 프로세서는 슬레이브 암의 운동 범위 이내에 포함되도록, 산출된 조인트 각도들 Q_calculated 중 적어도 어느 하나를 수정할 수 있다.
역기구학에 의해 조인트 각도들 Q_calculated을 산출하는 과정에서 특이점이 발생하는 경우, 산출된 조인트 각도들 Q_calculated이 슬레이브 암의 운동 범위에서 벗어나는 값을 가질 수 있다. 또는, 목표 포지션 데이터 T_target가 슬레이브 암의 운동 범위에서 벗어나는 위치 및 자세인 경우, 산출된 조인트 각도들 Q_calculated이 슬레이브 암의 운동 범위에서 벗어나는 값을 가질 수 있다.
슬레이브 암의 운동 범위는 슬레이브 암의 조인트(관절)가 물리적으로 움직일 수 있는 회전 각도의 범위를 의미한다. 슬레이브 암이 운동 범위를 벗어나도록 제어되는 경우, 파손되거나 고장 날 수 있다.
적어도 하나의 프로세서는 산출된 조인트 각도들 Q_calculated이 슬레이브 암의 운동 범위를 벗어나는지 여부를 판단하고, 운동 범위를 벗어나는 조인트 각도는 운동 범위 이내에 포함되도록 수정한다.
적어도 하나의 프로세서는 운동 범위를 벗어나는 조인트 각도가 운동 범위 이내에 포함되도록, 운동 범위에 포함되는 값으로 치환할 수 있다.
예를 들어, 산출된 조인트 각도들 중 q_calculated_1이 슬레이브 암의 운동 범위를 벗어나는 경우, q_calculated_1을 운동 범위에 포함되는 값으로 치환할 수 있다. 다른 예를 들어, 산출된 조인트 각도들 중 q_calculated_2 및 q_calculated_n이 슬레이브 암의 운동 범위를 벗어나는 경우, q_calculated_2 및 q_calculated_n을 운동 범위에 포함되는 값으로 수정할 수 있다.
적어도 하나의 프로세서는 운동 범위를 벗어나는 조인트 각도가 운동 범위 이내에 포함되도록, 운동 범위 경계값으로 치환할 수 있다.
예를 들어, 산출된 조인트 각도들 중 q_calculated_1이 슬레이브 암의 운동 범위를 벗어나고, q_calculated_1에 대응되는 조인트의 운동 범위의 경계값이 1.5rad인 경우, q_calculated_1를 1.5rad으로 치환할 수 있다.
이와 같이, 산출된 조인트 각도들 중 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 운동 범위 이내에 포함되도록 수정하여, 슬레이브 암이 운동 범위에서 벗어나는 것을 방지할 수 있다.
또한, 도함수 J를 수정하지 않고, 조인트 각도를 직접 치환하여, 직관적으로 슬레이브 암이 운동 범위에서 벗어나지 않도록 제어할 수 있다. 직관적인 제어 방법을 사용함에 따라, 슬레이브 암이 고장나거나 오작동하는 경우, 제어 오류를 보다 빠르게 발견할 수 있다.
단계 S250에서, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified 및 현재 조인트 각도들 Q_current에 기초하여 슬레이브 암의 다음 조인트 각도들 Q_next을 결정 결정할 수 있다.
여기서, 현재 조인트 각도들 Q_current은 슬레이브 암의 현재 포지션(위치 및 자세)에 대응되는 조인트 각도들을 의미한다. 다음 조인트 각도들 Q_next은 슬레이브 암이 움직여야 할 다음 포지션(위치 및 자세)에 대응되는 조인트 각도들을 의미한다.
단계 S260에서, 적어도 하나의 프로세서는 슬레이브 암이 결정된 다음 조인트 각도들 Q_next에 따라 움직이도록 제어할 수 있다.
다음 조인트 각도들 Q_next이 수정된 조인트 각도들 Q_modified로 결정된 경우, 적어도 하나의 프로세서는 슬레이브 암이 수정된 조인트 각도들 Q_modified에 따라 움직이도록 제어할 수 있다.
다음 조인트 각도들 Q_next이 현재 조인트 각도들 Q_current로 결정된 경우, 적어도 하나의 프로세서는 슬레이브 암이 현재 위치 및 자세를 유지하도록 제어할 수 있다.
단계 S250을 보다 상세하게 설명하기 위하여, 도 3을 참조한다.
도 3은 다음 조인트 각도들을 결정하는 방법의 일 예를 나타낸 순서도이다.
단계 S251에서, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified에 기초하여 산출되는 슬레이브 암의 포지션 데이터 T_calculated와 슬레이브 암의 목표 포지션 데이터 T_target의 차이가 제1 기준값을 초과하는지 판단한다.
슬레이브 암의 포지션 데이터 T_calculated는 정기구학(forward kinematics)을 이용하여 수정된 조인트 각도들 Q_modified로부터 산출될 수 있다. 예를 들어, 조인트 공간에서 선형 공간으로 매핑하는 도함수를 J라고 하였을 때, 슬레이브 암의 포지션 데이터 T_calculated는 다음의 수학식 3에 의해 산출될 수 있다.
(수학식 3)
T_calculated = J x Q_modified
예를 들어, 슬레이브 암의 목표 포지션 데이터 T_target가 상기 수학식 1에 따라 표현되고, 산출된 슬레이브 암의 포지션 데이터 T_calculated가 하기 수학식 4에 따라 표현될 수 있다.
(수학식 4)
T_calculated = {X_calculated, Y_calculated, Z_calculated, RX_calculated, RY_calculated, RZ_calculated}
예를 들어, 적어도 하나의 프로세서는 하기 수학식 5에 따라, 목표 포지션 데이터 T_target과 산출된 포지션 데이터 T_calculated의 차이의 노름(norm)이 제1 기준값을 초과하는지 판단할 수 있다. 이 경우, 제1 기준값은 상수일 수 있다.
(수학식 5)
∥T_calculated - T_target∥
다른 예를 들어, 적어도 하나의 프로세서는 하기 수학식 6에 따라, 목표 포지션 데이터 T_target과 산출된 포지션 데이터 T_calculated의 원소들의 차이가 각각 제1 기준값을 초과하는지 판단할 수 있다. 이 경우, 제1 기준값은 상수들을 원소로 갖는 벡터일 수 있다. 각각의 원소들의 차이가 제1 기준값을 초과하는지 판단하므로, 슬레이브 암이 목표하는 위치 및 자세로 이동할 수 있는지 정밀하게 판단할 수 있다.
(수학식 6)
|X_calculated - X_target|
|Y_calculated - Y_target|
|Z_calculated - Z_target|
|RX_calculated - RX_target|
|RY_calculated - RY_target|
|RZ_calculated - RZ_target|
또 다른 예를 들어, 적어도 하나의 프로세서는 목표 포지션 데이터 T_target와 산출된 포지션 데이터 T_calculated의 위치의 차이와 자세의 차이를 각각 제1 기준값과 비교할 수 있다.
적어도 하나의 프로세서는 그 외에도 다양한 방법으로 목표 포지션 데이터 T_target와 산출된 포지션 데이터 T_calculated를 비교할 수 있으며, 설명된 실시예들로 제한되지 않는다.
목표 포지션 데이터 T_target는 오퍼레이터의 명령에 의해 입력된 위치 및 자세를 나타내고, 산출된 포지션 데이터 T_calculated는 슬레이브 암이 운동 범위 내에서 움직이도록 산출된 위치 및 자세를 나타낸다. 따라서, 목표 포지션 데이터 T_target와 산출된 포지션 데이터 T_calculated를 비교하여, 오퍼레이터 명령에 의해 입력된 위치 및 자세로 슬레이브 암이 움직이도록 제어되는지 여부 및 슬레이브 암이 과도한 각도 및 각속도로 움직이도록 제어되는지 여부 등을 판단할 수 있다.
단계 S252에서, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 차이가 제2 기준값을 초과하는지 판단한다.
단계 S251에서와 같은 방식으로, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 차이의 노름(norm)이 제2 기준값을 초과하는지 판단할 수 있다. 또는, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 원소들의 차이가 각각 제2 기준값을 초과하는지 판단할 수 있다.
수정된 조인트 각도들 Q_modified은 슬레이브 암이 운동 범위 내에서 움직이도록 산출된 조인트 각도들을 나타내고, 현재 조인트 각도들 Q_current은 현재 슬레이브 암의 위치 및 자세에 대한 조인트 각도들을 나타낸다. 따라서, 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current을 비교하여, 슬레이브 암이 과도한 각도 및 각속도로 움직이도록 제어되는지 여부를 판단할 수 있다.
단계 S253에서, 적어도 하나의 프로세서는 다음 조인트 각도들 Q_next을 슬레이브 암의 현재 조인트 각도들 Q_current로 결정한다.
단계 S253은 단계 S251의 조건 및 단계 S252의 조건 중 어느 하나를 만족하는 경우 수행되는 단계이다. 즉, 단계 S253은 수정된 조인트 각도들 Q_modified에 기초하여 산출되는 슬레이브 암의 포지션 데이터 T_calculated와 슬레이브 암의 목표 포지션 데이터 T_target의 차이가 제1 기준값을 초과하거나, 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 차이가 제2 기준값을 초과하는 경우에 수행되는 단계이다.
단계 S251의 조건 및 단계 S252 의 조건 중 어느 하나를 만족하는 것은 슬레이브 암이 움직일 수 없는 위치 및 자세로 이동하도록 제어되거나, 슬레이브 암이 과도한 각도 및 각속도로 움직이도록 제어되는 경우를 의미한다. 이러한 경우, 슬레이브 암이 파손되거나 고장날 수 있다. 따라서 이를 방지하기 위하여, 적어도 하나의 프로세서는 다음 조인트 각도들 Q_next을 현재 조인트 각도들 Q_current로 결정하여, 슬레이브 암의 움직임을 잠글 수 있다.
적어도 하나의 프로세서는 슬레이브 암의 움직임이 잠긴 것을 오퍼레이터에게 알람을 통해 알릴 수 있다. 알람은 마스터 콘솔(도 1의 20)의 디스플레이 부재, 외부 디스플레이 장치(도 1의 25), 비전 카트의 표시부(도 1의 35) 등을 통해 디스플레이 되어 오퍼레이터에게 전달되거나, 소리의 형태로 오퍼레이터에게 전달되거나, 마스터 암 또는 슬레이브 암에 발생하는 진동 형태로 오퍼레이터에게 전달될 수 있다.
단계 S254에서, 적어도 하나의 프로세서는 다음 조인트 각도들 Q_next을 수정된 조인트 각도들 Q_modified로 결정한다.
단계 S254는 단계 S251의 조건 및 단계 S252의 조건을 모두 만족하지 않는 경우 수행되는 단계이다. 즉, 단계 S254는 수정된 조인트 각도들 Q_modified에 기초하여 산출되는 슬레이브 암의 포지션 데이터 T_calculated와 슬레이브 암의 목표 포지션 데이터 T_target의 차이가 제1 기준값을 초과하지 않고, 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 차이가 제2 기준값을 초과하지 않는 경우에 수행되는 단계이다.
단계 S251의 조건 및 단계 S252 의 조건을 모두 만족하지 않는 것은, 슬레이브 암이 물리적으로 움직일 수 있는 위치 및 자세로 이동하도록 제어되는 것을 의미한다. 따라서, 적어도 하나의 프로세서는 다음 조인트 각도들 Q_next을 수정된 조인트 각도들 Q_modified로 결정하여, 슬레이브 암이 수정된 조인트 각도들 Q_modified에 따라 움직이도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
본 발명의 일 실시예에 의하면, 수술용 슬레이브 암을 원격으로 제어하는 방법은 다양한 산업상 이용 가능한 로봇 장치에 적용될 수 있다. 다양한 형태의 로봇 장치, 로봇 시스템 예컨대, 산업용 로봇, 의료용 로봇, 이동 로봇 등에 적용될 수 있다.
Claims (10)
- 수술용 슬레이브 암을 원격으로 제어하는 방법에 있어서,오퍼레이터로부터 마스터 암을 통해 명령을 입력 받는 단계;상기 입력 받은 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계;상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계;상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계;상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 포함하는, 방법.
- 제1항에 있어서,상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계는,상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 상기 운동 범위에 포함되는 값으로 치환하는 단계를 더 포함하는, 방법.
- 제2항에 있어서,상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도는 상기 운동 범위의 경계값으로 치환되는, 방법.
- 제1항에 있어서,상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는,상기 수정된 조인트 각도들에 기초하여 산출되는 포지션 데이터와 상기 목표 포지션 데이터의 차이가 제1 기준값을 초과하는지 판단하는 단계를 더 포함하는, 방법.
- 제4항에 있어서,상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는,상기 수정된 조인트 각도들과 상기 슬레이브 암의 현재 조인트 각도들의 차이가 제2 기준값을 초과하는지 판단하는 단계를 더 포함하는, 방법.
- 제5항에 있어서,상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는,상기 제1 기준값을 초과하는 것으로 판단되거나 상기 제2 기준값을 초과하는 것으로 판단되는 경우, 상기 슬레이브 암의 다음 조인트 각도들을 상기 슬레이브 암의 현재 조인트 각도들로 결정하는 단계; 및그 외의 경우, 상기 슬레이브 암의 다음 조인트 각도들을 상기 수정된 조인트 각도들로 결정하는 단계를 더 포함하는, 방법.
- 제6항에 있어서,상기 슬레이브 암의 다음 조인트 각도들을 상기 슬레이브 암의 현재 조인트 각도들로 결정한 경우, 상기 오퍼레이터에게 알람을 제공하는 단계를 더 포함하는, 방법.
- 제7항에 있어서,상기 알람은 디스플레이 되거나, 소리의 형태로 출력되거나, 상기 마스터 암 또는 상기 슬레이브 암에 발생하는 진동의 형태로 출력되어 상기 오퍼레이터에게 제공되는, 방법.
- 마스터 암;슬레이브 암; 및오퍼레이터가 상기 마스터 암을 조작하는 것에 기초하여 상기 슬레이브 암이 움직이도록 제어하는 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서는,상기 오퍼레이터로부터 상기 마스터 암을 통해 입력된 명령을 획득하는 단계;상기 획득한 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계;상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계;상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계;상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 수행하는, 수술용 로봇 시스템.
- 제9항에 있어서,상기 적어도 하나의 프로세서는,상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 상기 운동 범위에 포함되는 값으로 치환하는, 수술용 로봇 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980079951.3A CN113164216B (zh) | 2018-12-05 | 2019-11-01 | 远程控制手术从臂的方法和系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0155466 | 2018-12-05 | ||
KR1020180155466A KR102221089B1 (ko) | 2018-12-05 | 2018-12-05 | 수술용 슬레이브 암을 원격으로 제어하는 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020116792A1 true WO2020116792A1 (ko) | 2020-06-11 |
Family
ID=70974347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/014696 WO2020116792A1 (ko) | 2018-12-05 | 2019-11-01 | 수술용 슬레이브 암을 원격으로 제어하는 방법 및 시스템 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR102221089B1 (ko) |
CN (1) | CN113164216B (ko) |
WO (1) | WO2020116792A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114770459A (zh) * | 2022-05-18 | 2022-07-22 | 南京佗道医疗科技有限公司 | 一种主控制臂运动控制方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112497215B (zh) * | 2020-11-25 | 2022-08-30 | 惟精医疗器械(天津)有限公司 | 机械臂自动锁定方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100174410A1 (en) * | 2007-04-16 | 2010-07-08 | Alexander Greer | Methods, devices, and systems for autmated movements involving medical robots |
JP2015024036A (ja) * | 2013-07-26 | 2015-02-05 | オリンパス株式会社 | 医療用システムおよびその制御方法 |
KR20150033473A (ko) * | 2013-09-24 | 2015-04-01 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
KR20160132896A (ko) * | 2014-03-17 | 2016-11-21 | 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 | 원격조작 수술 시스템 및 역기구학을 이용한 조인트 한계에서의 제어 방법 |
US20180271607A1 (en) * | 2015-01-09 | 2018-09-27 | Titan Medical Inc. | Autonomous correction of alignment error in a master-slave robotic system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3473834B2 (ja) * | 1999-11-29 | 2003-12-08 | 株式会社安川電機 | ロボットの制御装置 |
KR20090127481A (ko) | 2008-06-09 | 2009-12-14 | (주)미래컴퍼니 | 수술용 로봇의 마스터 인터페이스 및 구동방법 |
US9119655B2 (en) * | 2012-08-03 | 2015-09-01 | Stryker Corporation | Surgical manipulator capable of controlling a surgical instrument in multiple modes |
KR102304096B1 (ko) * | 2012-08-03 | 2021-09-24 | 스트리커 코포레이션 | 로봇 수술을 위한 시스템 및 방법 |
CN103147577B (zh) * | 2013-02-27 | 2015-04-01 | 中联重科股份有限公司 | 多关节类机械臂架的控制方法、设备、系统及工程机械 |
JP6109001B2 (ja) * | 2013-07-26 | 2017-04-05 | オリンパス株式会社 | 医療用システムおよびその作動方法 |
KR101527176B1 (ko) * | 2013-12-09 | 2015-06-09 | (주)미래컴퍼니 | 수술 로봇 장치 및 수술 로봇 장치의 제어 방법 |
JP2015174185A (ja) * | 2014-03-14 | 2015-10-05 | 三菱重工業株式会社 | ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム |
JP2016078149A (ja) * | 2014-10-15 | 2016-05-16 | キヤノン株式会社 | ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体 |
GB201419645D0 (en) * | 2014-11-04 | 2014-12-17 | Cambridge Medical Robotics Ltd | Characterising motion constraints |
CN107589934B (zh) * | 2017-07-24 | 2020-04-07 | 大连理工大学 | 一种关节型机械臂逆运动学解析解的求取方法 |
-
2018
- 2018-12-05 KR KR1020180155466A patent/KR102221089B1/ko active IP Right Grant
-
2019
- 2019-11-01 CN CN201980079951.3A patent/CN113164216B/zh active Active
- 2019-11-01 WO PCT/KR2019/014696 patent/WO2020116792A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100174410A1 (en) * | 2007-04-16 | 2010-07-08 | Alexander Greer | Methods, devices, and systems for autmated movements involving medical robots |
JP2015024036A (ja) * | 2013-07-26 | 2015-02-05 | オリンパス株式会社 | 医療用システムおよびその制御方法 |
KR20150033473A (ko) * | 2013-09-24 | 2015-04-01 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
KR20160132896A (ko) * | 2014-03-17 | 2016-11-21 | 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 | 원격조작 수술 시스템 및 역기구학을 이용한 조인트 한계에서의 제어 방법 |
US20180271607A1 (en) * | 2015-01-09 | 2018-09-27 | Titan Medical Inc. | Autonomous correction of alignment error in a master-slave robotic system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114770459A (zh) * | 2022-05-18 | 2022-07-22 | 南京佗道医疗科技有限公司 | 一种主控制臂运动控制方法 |
CN114770459B (zh) * | 2022-05-18 | 2023-12-08 | 佗道医疗科技有限公司 | 一种主控制臂运动控制方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20200068455A (ko) | 2020-06-15 |
CN113164216B (zh) | 2023-07-07 |
KR102221089B1 (ko) | 2021-02-26 |
CN113164216A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020122416A1 (ko) | 수술용 로봇의 충돌을 완화시키는 방법 및 시스템 | |
US20180185105A1 (en) | Medical Robotic System with Remote Current Controller for Controlling a Plurality of Distally Housed Motors | |
US10022195B2 (en) | User interface for a robot | |
EP3508163B1 (en) | Surgical robot integrated control system based on embedded computer | |
US7979157B2 (en) | Multi-purpose robotic operating system and method | |
US8002694B2 (en) | Master-slave manipulator system | |
WO2020116792A1 (ko) | 수술용 슬레이브 암을 원격으로 제어하는 방법 및 시스템 | |
US20240050180A1 (en) | Input device and surgical robot | |
WO2019240453A1 (ko) | 로봇 암 구조물 및 이를 포함하는 수술 로봇의 매니퓰레이터 | |
US20210244489A1 (en) | Robot arm structure and surgical robot manipulator including same | |
US11880513B2 (en) | System and method for motion mode management | |
WO2013018985A1 (ko) | 수술용 로봇 시스템 | |
US12005589B2 (en) | Redundant robot power and communication architecture | |
WO2011102629A2 (ko) | 로봇의 마스터 조작 디바이스 및 이를 이용한 수술용 로봇 | |
EP4431040A1 (en) | Mechanical arm, slave operation apparatus and surgical robot | |
CN116600732A (zh) | 用于外科机器人的增强现实头戴式耳机 | |
WO2020085748A1 (ko) | 마스터 로봇 및 그 제어 방법 | |
JP2023541787A (ja) | 副ロボットコントローラに制御を移行するための外科用ロボットシステム及び方法 | |
WO2022116845A1 (zh) | 一种机械臂控制方法及腹腔镜手术机器人系统 | |
WO2020085624A1 (ko) | 착용 가능한 수술용 로봇 암 | |
CN217566311U (zh) | 主操作设备和手术机器人 | |
US20220331031A1 (en) | Robotic surgical intervention device with an articulated arm carrying an instrument | |
US20230278222A1 (en) | Robotic system for remote operation of equipment in infectious environments | |
CN117426877A (zh) | 一种医疗设备 | |
JPH0871071A (ja) | 手術用マニピュレータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19892843 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19892843 Country of ref document: EP Kind code of ref document: A1 |