KR102221089B1 - Method and system for remotely controlling surgical slave arm - Google Patents

Method and system for remotely controlling surgical slave arm Download PDF

Info

Publication number
KR102221089B1
KR102221089B1 KR1020180155466A KR20180155466A KR102221089B1 KR 102221089 B1 KR102221089 B1 KR 102221089B1 KR 1020180155466 A KR1020180155466 A KR 1020180155466A KR 20180155466 A KR20180155466 A KR 20180155466A KR 102221089 B1 KR102221089 B1 KR 102221089B1
Authority
KR
South Korea
Prior art keywords
slave arm
joint angles
calculated
arm
slave
Prior art date
Application number
KR1020180155466A
Other languages
Korean (ko)
Other versions
KR20200068455A (en
Inventor
최종도
Original Assignee
(주)미래컴퍼니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)미래컴퍼니 filed Critical (주)미래컴퍼니
Priority to KR1020180155466A priority Critical patent/KR102221089B1/en
Priority to CN201980079951.3A priority patent/CN113164216B/en
Priority to PCT/KR2019/014696 priority patent/WO2020116792A1/en
Publication of KR20200068455A publication Critical patent/KR20200068455A/en
Application granted granted Critical
Publication of KR102221089B1 publication Critical patent/KR102221089B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/35Surgical robots for telesurgery
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/37Master-slave robots
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/76Manipulators having means for providing feel, e.g. force or tactile feedback
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B2017/00017Electrical control of surgical instruments
    • A61B2017/00115Electrical control of surgical instruments with audible or visual output
    • A61B2017/00119Electrical control of surgical instruments with audible or visual output alarm; indicating an abnormal situation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B2017/00017Electrical control of surgical instruments
    • A61B2017/00212Electrical control of surgical instruments using remote controls

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

일 실시예에 따른 수술용 슬레이브 암을 원격으로 제어하는 방법은, 오퍼레이터로부터 마스터 암을 통해 명령을 입력 받는 단계, 상기 입력 받은 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계, 상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계, 상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계, 상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 위치 및 자세 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 위치 및 자세에 대응되는 다음 조인트 각도들을 결정하는 단계, 및 상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 포함한다.A method of remotely controlling a surgical slave arm according to an embodiment includes receiving a command from an operator through a master arm, calculating target position data of the slave arm based on the received command, the calculation Calculating joint angles based on the determined target position data, modifying at least one of the calculated joint angles to be included within the motion range of the slave arm, the modified joint angles and the slave arm Determining next joint angles corresponding to the next position and posture of the slave arm based on current joint angles corresponding to the current position and posture, and controlling the slave arm to move according to the determined next joint angles. Includes.

Description

수술용 슬레이브 암을 원격으로 제어하는 방법 및 시스템{Method and system for remotely controlling surgical slave arm}The method and system for remotely controlling surgical slave arm TECHNICAL FIELD

수술용 슬레이브 암이 운동 범위(運動範圍) 이내에서 움직이도록 원격으로 제어하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for remotely controlling a surgical slave arm to move within a range of motion (運動範圍).

의학적으로 수술이란 피부나 점막, 기타 조직을 의료 기계를 사용하여 자르거나 째거나 조작을 가하여 병을 고치는 것을 말한다. 특히, 수술부위의 피부를 절개하여 열고 그 내부에 있는 기관 등을 치료, 성형하거나 제거하는 개복 수술 등은 출혈, 부작용, 환자의 고통, 흉터 등의 문제로 인하여 최근에는 로봇(robot)을 사용한 수술이 대안으로서 각광받고 있다.Medically, surgery refers to the treatment of diseases by cutting, cutting, or manipulating skin, mucous membranes, and other tissues using a medical machine. In particular, open surgery in which the skin of the surgical site is cut open and the internal organs, etc. are treated, formed or removed, due to problems such as bleeding, side effects, patient pain, and scars, in recent years, surgery using a robot It is in the spotlight as an alternative.

이러한 수술용 로봇은 의사의 조작에 의해 필요한 신호를 생성하여 전송하는 마스터 암(master arm)과, 조작부로부터 신호를 받아 직접 환자에 수술에 필요한 조작을 가하는 슬레이브 암(slave arm)으로 구분될 수 있는데, 마스터 암과 슬레이브 암은 하나의 수술용 로봇의 각 부분으로서 구분되거나, 별도의 장치로 구성되어 수술실에 각각 배치될 수도 있다.These surgical robots can be divided into a master arm that generates and transmits necessary signals by the manipulation of a doctor, and a slave arm that receives signals from the manipulation unit and directly applies necessary manipulations 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.

로봇 수술의 경우 오퍼레이터는 수술에 필요한 인스트루먼트를 직접 조작하는 것이 아니라, 마스터 암을 조작하여 슬레이브 암에 장착된 각종 인스트루먼트가 수술에 필요한 동작을 수행하도록 한다.In the case of robotic surgery, the operator does not directly manipulate instruments required for surgery, but manipulates the master arm so that various instruments mounted on the slave arm perform operations necessary for surgery.

오퍼레이터가 마스터 암을 조작하고 슬레이브 암의 움직임이 원격으로 제어되는 과정에는 역기구학(inverse kinematics)이 이용될 수 있다. 역기구학에 의해 직선 공간(linear space)의 포지션 데이터(position data)가 조인트 공간(joint space)의 조인트 각도들로 변환될 수 있다. 여기서, 포지션 데이터는 기준점에 대한 X축, Y축, 및 Z축 방향으로의 거리와 회전 각도를 포함한다.Inverse kinematics can be used in a process in which the operator manipulates the master arm and the movement of the slave arm is remotely controlled. Position data of a linear space may be converted into joint angles of a joint space by inverse kinematics. Here, the position data includes distances and rotation angles in the X-axis, Y-axis, and Z-axis directions with respect to the reference point.

역기구학을 이용하여 포지션 데이터로부터 조인트 각도들을 산출하는 경우, 특이점(singularity)이 발생할 수 있다. 특이점이 발생하면, 슬레이브 암이 물리적으로 움직일 수 있는 운동 범위를 벗어나는 각도 및 각속도로 움직이도록 제어될 수 있다.When joint angles are calculated from position data using inverse kinematics, singularity may occur. When a singularity occurs, the slave arm can be controlled to move at an angle and angular velocity outside the range of motion in which it can physically move.

이에, 물리적으로 움직일 수 있는 운동 범위 내에서 움직이도록 슬레이브 암을 제어하는 방법이 요구된다.Accordingly, there is a need for a method of controlling a slave arm to move within a range of motion that can be physically movable.

한국 공개특허 제10-2009-0127481호Korean Patent Application Publication No. 10-2009-0127481

수술용 슬레이브 암이 물리적으로 움직일 수 있는 운동 범위 내에서 움직이도록 원격으로 제어하는 방법 및 시스템을 제공하고자 한다.It is intended to provide a method and system for remotely controlling a surgical slave arm to move within a physically movable motion range.

본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the problems mentioned above, and other problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

일 실시예에 따른 수술용 슬레이브 암을 원격으로 제어하는 방법은, 오퍼레이터로부터 마스터 암을 통해 명령을 입력 받는 단계; 상기 입력 받은 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계; 상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계; 상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계; 상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및 상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 포함한다.A method of remotely controlling a surgical slave arm according to an embodiment includes the steps of: receiving a command from an operator through a master arm; 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 the motion range 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.

상술한 방법에서, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계는, 상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 상기 운동 범위에 포함되는 값으로 치환하는 단계를 더 포함한다.In the above-described method, the step of modifying at least one of the calculated joint angles includes replacing a joint angle that is out of the motion range of the slave arm among the calculated joint angles with a value included in the motion range. It includes more.

상술한 방법에서, 상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도는 상기 운동 범위의 경계값으로 치환된다.In the above-described method, among the calculated joint angles, a joint angle out of the motion range of the slave arm is replaced by a boundary value of the motion range.

상술한 방법에서, 상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는, 상기 수정된 조인트 각도들에 기초하여 산출되는 포지션 데이터와 상기 목표 포지션 데이터의 차이가 제1 기준값을 초과하는지 판단하는 단계를 더 포함한다.In the above-described method, the determining of the next joint angles of the slave arm further includes determining whether a difference between the position data calculated based on the modified joint angles and the target position data exceeds a first reference value. Include.

상술한 방법에서, 상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는, 상기 수정된 조인트 각도들과 상기 슬레이브 암의 현재 조인트 각도들의 차이가 제2 기준값을 초과하는지 판단하는 단계를 더 포함한다.In the above-described method, determining the next joint angles of the slave arm further includes determining whether a difference between the modified joint angles and the current joint angles of the slave arm exceeds a second reference value.

상술한 방법에서, 상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는, 상기 제1 기준값을 초과하는 것으로 판단되거나 상기 제2 기준값을 초과하는 것으로 판단되는 경우, 상기 슬레이브 암의 다음 조인트 각도들을 상기 슬레이브 암의 현재 조인트 각도들로 결정하는 단계; 및 그 외의 경우, 상기 슬레이브 암의 다음 조인트 각도들을 상기 수정된 조인트 각도들로 결정하는 단계를 더 포함한다.In the above-described method, the determining of the next joint angles of the slave arm includes: when it is determined that the first reference value is exceeded or the second reference value is determined, the next joint angles of the slave arm are determined as the slave arm. Determining current joint angles of the arm; And otherwise, determining next joint angles of the slave arm as the modified joint angles.

상술한 방법은, 상기 슬레이브 암의 다음 조인트 각도들을 상기 슬레이브 암의 현재 조인트 각도들로 결정한 경우, 상기 오퍼레이터에게 알람을 제공하는 단계를 더 포함한다.The above-described method further includes providing an alarm to the operator when determining the next joint angles of the slave arm as the current joint angles of the slave arm.

상술한 방법에서, 상기 알람은 디스플레이 되거나, 소리의 형태로 출력되거나, 상기 마스터 암 또는 상기 슬레이브 암에 발생하는 진동의 형태로 출력되어 상기 오퍼레이터에게 제공된다.In the above-described method, the alarm is displayed, output in the form of sound, or output in the form of vibration generated in the master arm or the slave arm and provided to the operator.

다른 실시예에 따른 수술용 로봇 시스템은, 마스터 암; 슬레이브 암; 및 오퍼레이터가 상기 마스터 암을 조작하는 것에 기초하여 상기 슬레이브 암이 움직이도록 제어하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 오퍼레이터로부터 상기 마스터 암을 통해 입력된 명령을 획득하는 단계; 상기 획득한 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계; 상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계; 상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계; 상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및 상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 수행한다.A surgical robot system according to another embodiment includes a master arm; Slave arm; And at least one processor for controlling the slave arm to move based on the operator manipulating the master arm, wherein the at least one processor obtains a command input from the operator through the master arm. ; 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 the motion range 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.

상술한 수술용 로봇 시스템에서, 상기 적어도 하나의 프로세서는, 상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 상기 운동 범위에 포함되는 값으로 치환한다.In the above-described surgical robot system, the at least one processor replaces a joint angle out of the motion range of the slave arm among the calculated joint angles with a value included in the motion range.

슬레이브 암이 물리적으로 움직일 수 있는 위치 및 자세로 이동하도록 제어되거나, 슬레이브 암이 과도한 각도 및 각속도로 움직이지 않도록 제어될 수 있다. 또한 슬레이브 암이 오퍼레이터 명령에 의해 입력된 위치 및 자세로 움직이도록 제어될 수 있다.The slave arm may be controlled to move to a position and posture that can be physically moved, or the slave arm may be controlled to not move at an excessive angle and angular velocity. In addition, the slave arm can be controlled to move to the position and posture input by the operator command.

본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the present specification.

도 1은 수술용 로봇 시스템의 일 실시예를 나타내는 평면도이다.
도 2는 슬레이브 암을 원격으로 제어하는 방법의 일 예를 나타낸 순서도이다.
도 3은 다음 조인트 각도들을 결정하는 방법의 일 예를 나타낸 순서도이다.
1 is a plan view showing an embodiment of a surgical robot system.
2 is a flow chart showing an example of a method of remotely controlling a slave arm.
3 is a flow chart illustrating an example of a method of determining the following joint angles.

이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다. 하기 설명은 실시예들을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 당해 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. It goes without saying that the following description is only for specifying the embodiments and does not limit or limit the scope of the invention. What can be easily inferred by experts in the art from the detailed description and examples is interpreted as belonging to the scope of the rights.

본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.The terms “consisting of” or “including” used herein should not be construed as necessarily including all of the various elements or various steps described in the specification, and some of the elements or some steps It should be construed that they may not be included or may further include additional elements or steps.

본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in the present specification have selected general terms that are currently widely used as possible while considering functions in the present invention, but this may vary depending on the intention or precedent of a technician working in the field, the emergence of new technologies, and the like. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning of the terms will be described in detail in the description of the corresponding invention. Therefore, the terms used in the present invention should be defined based on the meaning of the term and the overall contents of the present invention, not a simple name of the term.

도 1은 수술용 로봇 시스템의 일 실시예를 나타내는 평면도이다.1 is a plan view showing an embodiment of a surgical robot system.

도 1을 참조하면, 일 실시예에 따른 수술용 로봇 시스템(1)은 수술대(2)에 누워있는 환자(P)에게 수술을 행하는 슬레이브 로봇(10)과, 슬레이브 로봇(10)을 오퍼레이터(O)가 원격 조종하도록 하는 마스터 콘솔(20)을 포함한다. 또한, 수술용 로봇 시스템(1)은 비전 카트(30)를 포함할 수 있다. 비전 카트(30)의 표시부(35)를 통해서, 보조자(A)가 수술의 진행 상황을 확인할 수 있다.Referring to FIG. 1, a robotic system for surgery 1 according to an embodiment includes a slave robot 10 performing surgery on a patient P lying on an operating table 2, and a slave robot 10 with an operator (O ) Includes a master console 20 for remote control. In addition, 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 operation.

슬레이브 로봇(10)은 하나 이상의 슬레이브 암(11)을 포함할 수 있다. 일반적으로 로봇 암은 인간의 팔 및/또는 손목과 유사한 기능을 가지고 있으며 손목 부위에 소정의 도구를 부착시킬 수 있는 장치를 의미한다. 본 명세서에서 슬레이브 암(11)이란 상박, 하박, 손목, 팔꿈치 등의 구성 요소 및 상기 손목 부위에 결합되는 수술용 인스트루먼트 등을 모두 포괄하는 개념으로 정의할 수 있다. 이와 같은, 슬레이브 로봇(10)의 슬레이브 암(11)은 다자유도를 가지며 구동되도록 구현될 수 있다. 슬레이브 암(11)은 예를 들어 환자(P)의 수술 부위에 삽입되는 수술기구, 수술기구를 길이 방향으로 이동시키는 이송 구동부와, 수술기구를 회전시키는 회전 구동부, 수술기구의 끝단에 설치되어 수술 병변을 절개 또는 절단하는 수술기구 구동부를 포함하여 구성될 수 있다. 다만, 슬레이브 암(11)의 구성이 이에 제한되지는 않으며, 이러한 예시가 본 발명의 권리범위를 제한하지 않는 것으로 이해되어야 한다.The slave robot 10 may include one or more slave arms 11. In general, the robot arm refers to a device that has a function similar to that of a human arm and/or wrist and can attach a predetermined tool to the wrist. In the present specification, 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 transfer driving unit that moves the surgical instrument in the longitudinal direction, a rotation driving unit that rotates the surgical instrument, and is installed at the end of the surgical instrument. It may be configured to include a surgical instrument driving unit for incising or cutting the lesion. However, the configuration of the slave arm 11 is not limited thereto, and it should be understood that this example does not limit the scope of the present invention.

슬레이브 로봇(10)은 환자(P)를 수술하기 위하여 하나 이상으로 이용될 수 있으며, 수술 부위가 디스플레이 부재(미도시)를 통해 화상 이미지로 표시되 도록 하기 위한 수술 도구(12)는 독립된 슬레이브 로봇(10)으로 구현될 수도 있다.One or more slave robots 10 may be used to operate the patient P, and the surgical tool 12 for displaying an image image through a display member (not shown) is an independent slave robot. It may be implemented as (10).

또한, 앞서 설명된 바와 같이, 본 발명의 실시예들은 복강경 이외의 다양한 수술용 내시경(예를 들어, 흉강경, 관절경, 비경 등)이 이용되는 수술들에 범용적으로 사용될 수 있다.In addition, as described above, the embodiments of the present invention can be used universally in operations in which various surgical endoscopes (eg, thoracoscopic, arthroscopic, parenteral, etc.) are used other than laparoscopy.

마스터 콘솔(20)과 슬레이브 로봇(10)이 반드시 물리적으로 독립된 별도의 장치로 분리되어야 하는 것은 아니며, 하나로 통합되어 일체형으로 구성될 수 있다.The master console 20 and the slave robot 10 do not necessarily have to be separated into separate devices that are physically independent, and may be integrated into one and configured as an integral type.

마스터 콘솔(20)은 마스터 암(미도시) 및 디스플레이 부재(미도시)를 포함한다. 또한, 마스터 콘솔(20)은 추가적으로 외측에 오퍼레이터(O)의 상태를 표시할 수 있는 외부의 디스플레이 장치(25)를 더 구비할 수 있다.The master console 20 includes a master arm (not shown) and a display member (not shown). In addition, the master console 20 may further include an external display device 25 capable of displaying the status of the operator O on the outside.

상세히, 마스터 콘솔(20)은 오퍼레이터(O)가 조작할 수 있도록 마스터 암을 구비한다. 오퍼레이터(O)가 마스터 암을 조작하면, 조작 신호가 유선 또는 무선 통신망을 통해 슬레이브 로봇(10)으로 전송되어 슬레이브 암(11)이 제어된다. 즉, 오퍼레이터(O)의 마스터 암 조작에 의해 슬레이브 암(11)의 위치 이동, 회전, 절단 작업 등의 수술 동작이 수행될 수 있다.In detail, the master console 20 has a master arm so that the operator O can operate it. When the operator O manipulates the master arm, 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, surgical operations such as position movement, rotation, and cutting of the slave arm 11 may be performed by manipulating the master arm of the operator O.

마스터 콘솔(20)의 디스플레이 부재에는 수술 도구(12)를 통해 촬영되는 영상이 화상 이미지로 표시된다. 또한 디스플레이 부재에는 소정의 가상 조작판이 상기 수술 도구(12)를 통해 촬영되는 영상과 함께 표시되거나 또는 독립적으로 표시될 수 있다.An image captured by the surgical tool 12 is displayed as an image on the display member of the master console 20. In addition, 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.

디스플레이 부재는 오퍼레이터(O)가 영상을 확인할 수 있는 다양한 형태로 구비될 수 있다. 예를 들어, 오퍼레이터(O)의 양안에 대응하도록 디스플레이 장치가 설치될 수 있다. 다른 예로, 하나 이상의 모니터들로 구성될 수 있으며, 각 모니터에 수술시 필요한 정보들이 개별적으로 표시되도록 할 수 있다. 디스플레이 부재의 수량은 표시를 요하는 정보의 유형이나 종류 등에 따라 다양하게 결정될 수 있다.The display member may be provided in various forms through which the operator O can check an image. For example, a display device may be installed to correspond to both eyes of the operator O. As another example, it may be configured with one or more monitors, 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 required to be displayed.

비전 카트(30)는 슬레이브 로봇(10)이나 마스터 콘솔(20)에 이격되게 설치되고, 외부에서 수술의 진행상황을 표시부(35)를 통해서 확인할 수 있다.The vision cart 30 is installed to be spaced apart from the slave robot 10 or the master console 20, and the progress of the surgery can be checked from the outside through the display unit 35.

표시부(35)에서 디스플레이되는 영상은 오퍼레이터(O)의 디스플레이 부재에서 디스플레이 되는 영상과 동일할 수 있다. 보조자(A)는 표시부(35)의 영상을 확인하면서, 오퍼레이터(O)의 수술 작업을 보조할 수 있다. 예를 들어, 보조자(A)는 수술의 진행상태에 따라 수술 도구(12)를 인스트루먼트 카트(3)에서 교체할 수 있다.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 in the operation while checking the image of the display unit 35. For example, the assistant (A) may replace the surgical tool 12 in the instrument cart 3 according to the progress of the operation.

중앙 제어부(40)는 슬레이브 로봇(10), 마스터 콘솔(20), 및 비전 카트(30)와 연결되어, 각각의 신호를 송수신 할 수 있다.The central control unit 40 is connected to the slave robot 10, the master console 20, and the vision cart 30, and may transmit and receive respective signals.

중앙 제어부(40)는 오퍼레이터(O)가 마스터 암을 조작하는 것에 기초하여 슬레이브 암(11)이 움직이도록 제어하는 적어도 하나의 프로세서를 포함한다. 적어도 하나의 프로세서는 다수의 논리 게이트들의 어레이로 구현될 수 있고, 범용적인 마이크로 프로세서와 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.The central control unit 40 includes at least one processor that controls the slave arm 11 to move based on the operator O manipulating the master arm. At least one processor may be implemented as an array of a plurality of logic gates, and may be implemented as a combination of a general-purpose microprocessor and a memory in which a program executable in the microprocessor is stored.

적어도 하나의 프로세서는 슬레이브 암(11)이 물리적으로 이동 가능한 운동 범위 내에서 움직이도록 제어할 수 있다. 이하에서는, 도 2 및 도 3을 참조하여, 슬레이브 암(11)이 물리적으로 이동 가능한 운동 범위 내에서 움직이도록 원격으로 제어하는 방법에 대하여 살펴본다.At least one processor may control the slave arm 11 to move within a physically movable motion range. Hereinafter, a method of remotely controlling the slave arm 11 to move within a physically movable motion range will be described with reference to FIGS. 2 and 3.

도 2는 슬레이브 암을 원격으로 제어하는 방법의 일 예를 나타낸 순서도이다.2 is a flow chart showing an example of a method of remotely controlling a slave arm.

단계 S210에서, 적어도 하나의 프로세서는 오퍼레이터로부터 마스터 암을 통해 슬레이브 암을 제어하기 위한 명령을 입력 받을 수 있다. 마스터 암은 조작 레버를 포함할 수 있으며, 조작 레버를 통해 명령이 입력될 수 있다.In step S210, at least one processor may receive a command for controlling the slave arm from the operator through the master arm. The master arm may include an operation lever, and a command may be input through the operation lever.

조작 레버는 다양한 기구적 구성을 가질 수 있다. 예를 들어, 조작 레버는 핸들 형태일 수 있다. 조작 레버의 형태는 제한되지 않으며, 조이스틱, 키패드, 트랙볼, 터치스크린 등과 같이 다양한 형태일 수 있다.The operation lever may have various mechanical configurations. For example, the operation lever may be in the form of a handle. The shape of the operation lever is not limited, and may be in various shapes such as a joystick, a keypad, a trackball, and a touch screen.

단계 S220에서, 적어도 하나의 프로세서는 입력 받은 명령에 기초하여 슬레이브 암의 목표 포지션 데이터 T_target를 산출할 수 있다.In step S220, at least one processor may calculate the target position data T_target of the slave arm based on the received command.

포지션 데이터는 선형 공간에서 물체의 포지션(위치 및 자세)을 나타내는 데이터로, 기준점에 대한 X축, Y축, 및 Z축 방향으로의 거리 및 회전 각도를 포함할 수 있다.The position data is data representing a position (position and posture) of an object in a linear space, and may include distances and rotation angles in the X-axis, Y-axis, and Z-axis directions with respect to the reference point.

적어도 하나의 프로세서는 입력 받은 명령에 기초하여 목표하는 슬레이브 암의 포지션을 나타내는 목표 포지션 데이터 T_target를 산출할 수 있다.The at least one processor may calculate target position data T_target indicating the position of the target slave arm based on the received command.

예를 들어, 목표 포지션 데이터 T_target는 다음의 수학식 1과 같이 표현될 수 있다.For example, the target position data T_target may be expressed as Equation 1 below.

(수학식 1)(Equation 1)

T_target = {X_target, Y_target, Z_target, RX_target, RY_target, RZ_target}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에 의해 슬레이브 암의 목표하는 자세가 결정될 수 있다.Here, X_target, Y_target, and Z_target represent target positions in the X-axis, Y-axis, and Z-axis directions of the slave arm with respect to the reference point, respectively, and RX_target, RY_target, and RZ_target are the X-axis and Y of the slave arm with respect to the reference point, respectively. Axis and the target rotation angle in the Z-axis direction. The target posture of the slave arm can be determined by RX_target, RY_target, and RZ_target.

즉, 단계 S220에서 적어도 하나의 프로세서는 오퍼레이터가 마스터 암을 조작한 것에 기초하여 슬레이브 암의 목표하는 위치 및 자세를 산출할 수 있다.That is, in step S220, at least one processor may calculate the target position and posture of the slave arm based on the operator manipulating the master arm.

단계 S230에서, 적어도 하나의 프로세서는 산출된 목표 포지션 데이터 T_target에 기초하여 조인트 각도들(q_calculated_1, q_calculated_2, ..., q_calculated_n)을 산출할 수 있다.In step S230, at least one processor may calculate the joint angles (q_calculated_1, q_calculated_2, ..., q_calculated_n) based on the calculated target position data T_target.

슬레이브 암은 링크와 조인트(관절)를 포함한다. 조인트에 장착된 모터가 회전함에 따라 링크가 회전하여 슬레이브 암의 위치 및 자세가 변경될 수 있다. 따라서, 산출된 목표 포지션 데이터 T_target에 따라 슬레이브 암의 위치 및 자세가 변경되도록 제어하기 위해서는, 모터가 회전해야 할 조인트 각도가 산출되어야 한다.The slave arm contains links and joints. As the motor mounted on the joint rotates, the link rotates, and the position and posture of the slave arm may be changed. Accordingly, in order to control the position and posture of the slave arm to change according to the calculated target position data T_target, the joint angle at which the motor should rotate must be calculated.

조인트 각도들(q_calculated_1, q_calculated_2, ..., q_calculated_n)은 선형 공간에서 조인트 공간으로 변환시키는 역기구학(inverse kinematics)에 의해 산출될 수 있다. 조인트 각도들의 집합을 Q_calculated라 하고, 조인트 공간에서 선형 공간으로 매핑하는 도함수를 J라고 하였을 때, 조인트 각도들 Q_calculated은 다음의 수학식 2에 의해 산출될 수 있다.The joint angles (q_calculated_1, q_calculated_2, ..., q_calculated_n) can be calculated by inverse kinematics converting from linear space to joint space. When the set of joint angles is referred to as Q_calculated and the derivative for mapping from the joint space to the linear space is referred to as J, the joint angles Q_calculated can be calculated by Equation 2 below.

(수학식 2)(Equation 2)

Q_calculated = J-1 x T_targetQ_calculated = J -1 x T_target

즉, 단계 S230에서 적어도 하나의 프로세서는 선형 공간의 목표 포지션 데이터 T_target를 조인트 공간의 조인트 각도들 Q_calculated로 변환할 수 있다.That is, in step S230, at least one processor may convert the target position data T_target in the linear space into joint angles Q_calculated in the joint space.

단계 S240에서, 적어도 하나의 프로세서는 슬레이브 암의 운동 범위 이내에 포함되도록, 산출된 조인트 각도들 Q_calculated 중 적어도 어느 하나를 수정할 수 있다.In step S240, the at least one processor may modify at least one of the calculated joint angles Q_calculated to be included within the motion range of the slave arm.

역기구학에 의해 조인트 각도들 Q_calculated을 산출하는 과정에서 특이점이 발생하는 경우, 산출된 조인트 각도들 Q_calculated이 슬레이브 암의 운동 범위에서 벗어나는 값을 가질 수 있다. 또는, 목표 포지션 데이터 T_target가 슬레이브 암의 운동 범위에서 벗어나는 위치 및 자세인 경우, 산출된 조인트 각도들 Q_calculated이 슬레이브 암의 운동 범위에서 벗어나는 값을 가질 수 있다.When a singularity occurs in the process of calculating the joint angles Q_calculated by inverse kinematics, the calculated joint angles Q_calculated may have a value out of the motion range of the slave arm. Alternatively, when the target position data T_target is a position and posture out of the motion range of the slave arm, the calculated joint angles Q_calculated may have a value out of the motion range of the slave arm.

슬레이브 암의 운동 범위는 슬레이브 암의 조인트(관절)가 물리적으로 움직일 수 있는 회전 각도의 범위를 의미한다. 슬레이브 암이 운동 범위를 벗어나도록 제어되는 경우, 파손되거나 고장 날 수 있다.The motion range of the slave arm refers to the range of the rotation angle in which the joint (joint) of the slave arm can physically move. If the slave arm is controlled beyond its range of motion, it may break or fail.

적어도 하나의 프로세서는 산출된 조인트 각도들 Q_calculated이 슬레이브 암의 운동 범위를 벗어나는지 여부를 판단하고, 운동 범위를 벗어나는 조인트 각도는 운동 범위 이내에 포함되도록 수정한다.The at least one processor determines whether the calculated joint angles Q_calculated out of the motion range of the slave arm, and corrects the joint angle out of the motion range to be included within the motion range.

적어도 하나의 프로세서는 운동 범위를 벗어나는 조인트 각도가 운동 범위 이내에 포함되도록, 운동 범위에 포함되는 값으로 치환할 수 있다.At least one processor may substitute a value included in the motion range so that a joint angle outside the motion range is included within the motion range.

예를 들어, 산출된 조인트 각도들 중 q_calculated_1이 슬레이브 암의 운동 범위를 벗어나는 경우, q_calculated_1을 운동 범위에 포함되는 값으로 치환할 수 있다. 다른 예를 들어, 산출된 조인트 각도들 중 q_calculated_2 및 q_calculated_n이 슬레이브 암의 운동 범위를 벗어나는 경우, q_calculated_2 및 q_calculated_n을 운동 범위에 포함되는 값으로 수정할 수 있다.For example, when q_calculated_1 among the calculated joint angles is out of the motion range of the slave arm, q_calculated_1 may be substituted with a value included in the motion range. For another example, when q_calculated_2 and q_calculated_n among the calculated joint angles are out of the motion range of the slave arm, q_calculated_2 and q_calculated_n may be modified to values included in the motion range.

적어도 하나의 프로세서는 운동 범위를 벗어나는 조인트 각도가 운동 범위 이내에 포함되도록, 운동 범위 경계값으로 치환할 수 있다.The at least one processor may replace the motion range boundary value so that the joint angle outside the motion range is included within the motion range.

예를 들어, 산출된 조인트 각도들 중 q_calculated_1이 슬레이브 암의 운동 범위를 벗어나고, q_calculated_1에 대응되는 조인트의 운동 범위의 경계값이 1.5rad인 경우, q_calculated_1를 1.5rad으로 치환할 수 있다.For example, if q_calculated_1 of the calculated joint angles is out of the motion range of the slave arm and the boundary value of the motion range of the joint corresponding to q_calculated_1 is 1.5 rad, q_calculated_1 may be substituted with 1.5 rad.

이와 같이, 산출된 조인트 각도들 중 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 운동 범위 이내에 포함되도록 수정하여, 슬레이브 암이 운동 범위에서 벗어나는 것을 방지할 수 있다.As described above, among the calculated joint angles, the joint angle that is out of the motion range of the slave arm is modified to be included within the motion range, so that the slave arm can be prevented from being out of the motion range.

또한, 도함수 J를 수정하지 않고, 조인트 각도를 직접 치환하여, 직관적으로 슬레이브 암이 운동 범위에서 벗어나지 않도록 제어할 수 있다. 직관적인 제어 방법을 사용함에 따라, 슬레이브 암이 고장나거나 오작동하는 경우, 제어 오류를 보다 빠르게 발견할 수 있다.In addition, by directly replacing the joint angle without modifying the derivative J, it is possible to intuitively control the slave arm so that it does not deviate from the motion range. By using an intuitive control method, if a slave arm fails or malfunctions, control errors can be detected more quickly.

단계 S250에서, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified 및 현재 조인트 각도들 Q_current에 기초하여 슬레이브 암의 다음 조인트 각도들 Q_next을 결정 결정할 수 있다.In step S250, the at least one processor may determine next joint angles Q_next of the slave arm based on the modified joint angles Q_modified and the current joint angles Q_current.

여기서, 현재 조인트 각도들 Q_current은 슬레이브 암의 현재 포지션(위치 및 자세)에 대응되는 조인트 각도들을 의미한다. 다음 조인트 각도들 Q_next은 슬레이브 암이 움직여야 할 다음 포지션(위치 및 자세)에 대응되는 조인트 각도들을 의미한다.Here, the current joint angles Q_current mean joint angles corresponding to the current position (position and posture) of the slave arm. Next joint angles Q_next mean joint angles corresponding to the next position (position and posture) in which the slave arm should move.

단계 S260에서, 적어도 하나의 프로세서는 슬레이브 암이 결정된 다음 조인트 각도들 Q_next에 따라 움직이도록 제어할 수 있다.In step S260, the at least one processor may control the slave arm to move according to the joint angles Q_next after being determined.

다음 조인트 각도들 Q_next이 수정된 조인트 각도들 Q_modified로 결정된 경우, 적어도 하나의 프로세서는 슬레이브 암이 수정된 조인트 각도들 Q_modified에 따라 움직이도록 제어할 수 있다.When the next joint angles Q_next are determined as the modified joint angles Q_modified, at least one processor may control the slave arm to move according to the modified joint angles Q_modified.

다음 조인트 각도들 Q_next이 현재 조인트 각도들 Q_current로 결정된 경우, 적어도 하나의 프로세서는 슬레이브 암이 현재 위치 및 자세를 유지하도록 제어할 수 있다.When the next joint angles Q_next are determined as the current joint angles Q_current, at least one processor may control the slave arm to maintain the current position and posture.

단계 S250을 보다 상세하게 설명하기 위하여, 도 3을 참조한다. In order to describe step S250 in more detail, refer to FIG. 3.

도 3은 다음 조인트 각도들을 결정하는 방법의 일 예를 나타낸 순서도이다. 3 is a flow chart illustrating an example of a method of determining the following joint angles.

단계 S251에서, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified에 기초하여 산출되는 슬레이브 암의 포지션 데이터 T_calculated와 슬레이브 암의 목표 포지션 데이터 T_target의 차이가 제1 기준값을 초과하는지 판단한다.In step S251, the at least one processor determines whether a difference between the position data T_calculated of the slave arm and target position data T_target of the slave arm, calculated based on the modified joint angles Q_modified, exceeds a first reference value.

슬레이브 암의 포지션 데이터 T_calculated는 정기구학(forward kinematics)을 이용하여 수정된 조인트 각도들 Q_modified로부터 산출될 수 있다. 예를 들어, 조인트 공간에서 선형 공간으로 매핑하는 도함수를 J라고 하였을 때, 슬레이브 암의 포지션 데이터 T_calculated는 다음의 수학식 3에 의해 산출될 수 있다.The position data T_calculated of the slave arm may be calculated from the joint angles Q_modified modified using forward kinematics. For example, when J is a derivative mapping from a joint space to a linear space, the position data T_calculated of the slave arm may be calculated by Equation 3 below.

(수학식 3)(Equation 3)

T_calculated = J x Q_modifiedT_calculated = J x Q_modified

예를 들어, 슬레이브 암의 목표 포지션 데이터 T_target가 상기 수학식 1에 따라 표현되고, 산출된 슬레이브 암의 포지션 데이터 T_calculated가 하기 수학식 4에 따라 표현될 수 있다.For example, target position data T_target of the slave arm may be expressed according to Equation 1, and the calculated position data T_calculated of the slave arm may be expressed according to Equation 4 below.

(수학식 4)(Equation 4)

T_calculated = {X_calculated, Y_calculated, Z_calculated, RX_calculated, RY_calculated, RZ_calculated}T_calculated = {X_calculated, Y_calculated, Z_calculated, RX_calculated, RY_calculated, RZ_calculated}

예를 들어, 적어도 하나의 프로세서는 하기 수학식 5에 따라, 목표 포지션 데이터 T_target과 산출된 포지션 데이터 T_calculated의 차이의 노름(norm)이 제1 기준값을 초과하는지 판단할 수 있다. 이 경우, 제1 기준값은 상수일 수 있다.For example, the at least one processor may determine whether a norm of a 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. In this case, the first reference value may be a constant.

(수학식 5)(Equation 5)

∥T_calculated - T_target∥∥T_calculated-T_target∥

다른 예를 들어, 적어도 하나의 프로세서는 하기 수학식 6에 따라, 목표 포지션 데이터 T_target과 산출된 포지션 데이터 T_calculated의 원소들의 차이가 각각 제1 기준값을 초과하는지 판단할 수 있다. 이 경우, 제1 기준값은 상수들을 원소로 갖는 벡터일 수 있다. 각각의 원소들의 차이가 제1 기준값을 초과하는지 판단하므로, 슬레이브 암이 목표하는 위치 및 자세로 이동할 수 있는지 정밀하게 판단할 수 있다.For another example, the at least one processor may determine whether a difference between 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. In this case, the first reference value may be a vector having constants as elements. Since it is determined whether the difference between each element exceeds the first reference value, it is possible to precisely determine whether the slave arm can move to a target position and posture.

(수학식 6)(Equation 6)

|X_calculated - X_target||X_calculated-X_target|

|Y_calculated - Y_target||Y_calculated-Y_target|

|Z_calculated - Z_target||Z_calculated-Z_target|

|RX_calculated - RX_target||RX_calculated-RX_target|

|RY_calculated - RY_target||RY_calculated-RY_target|

|RZ_calculated - RZ_target||RZ_calculated-RZ_target|

또 다른 예를 들어, 적어도 하나의 프로세서는 목표 포지션 데이터 T_target와 산출된 포지션 데이터 T_calculated의 위치의 차이와 자세의 차이를 각각 제1 기준값과 비교할 수 있다. For another example, the at least one processor may compare a difference between a position and a posture between the target position data T_target and the calculated position data T_calculated with the first reference value, respectively.

적어도 하나의 프로세서는 그 외에도 다양한 방법으로 목표 포지션 데이터 T_target와 산출된 포지션 데이터 T_calculated를 비교할 수 있으며, 설명된 실시예들로 제한되지 않는다.The at least one processor may compare the target position data T_target and the calculated position data T_calculated in various other ways, and is not limited to the described embodiments.

목표 포지션 데이터 T_target는 오퍼레이터의 명령에 의해 입력된 위치 및 자세를 나타내고, 산출된 포지션 데이터 T_calculated는 슬레이브 암이 운동 범위 내에서 움직이도록 산출된 위치 및 자세를 나타낸다. 따라서, 목표 포지션 데이터 T_target와 산출된 포지션 데이터 T_calculated를 비교하여, 오퍼레이터 명령에 의해 입력된 위치 및 자세로 슬레이브 암이 움직이도록 제어되는지 여부 및 슬레이브 암이 과도한 각도 및 각속도로 움직이도록 제어되는지 여부 등을 판단할 수 있다.The target position data T_target represents the position and posture input by the operator's command, and the calculated position data T_calculated represents the calculated position and posture so that the slave arm moves within the motion range. Therefore, by comparing the target position data T_target and the calculated position data T_calculated, it is determined whether the slave arm is controlled to move with 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. I can judge.

단계 S252에서, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 차이가 제2 기준값을 초과하는지 판단한다.In step S252, the at least one processor determines whether a difference between the modified joint angles Q_modified and the current joint angles Q_current exceeds a second reference value.

단계 S251에서와 같은 방식으로, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 차이의 노름(norm)이 제2 기준값을 초과하는지 판단할 수 있다. 또는, 적어도 하나의 프로세서는 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 원소들의 차이가 각각 제2 기준값을 초과하는지 판단할 수 있다.In the same manner as in step S251, the at least one processor may determine whether a 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 a difference between elements of the modified joint angles Q_modified and the current joint angles Q_current exceeds the second reference value, respectively.

수정된 조인트 각도들 Q_modified은 슬레이브 암이 운동 범위 내에서 움직이도록 산출된 조인트 각도들을 나타내고, 현재 조인트 각도들 Q_current은 현재 슬레이브 암의 위치 및 자세에 대한 조인트 각도들을 나타낸다. 따라서, 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current을 비교하여, 슬레이브 암이 과도한 각도 및 각속도로 움직이도록 제어되는지 여부를 판단할 수 있다.The modified joint angles Q_modified represent joint angles calculated so that the slave arm moves within the range of motion, and the current joint angles Q_current represent joint angles with respect to the position and posture of the current slave arm. Accordingly, by comparing the modified joint angles Q_modified and the current joint angles Q_current, it is possible to determine whether the slave arm is controlled to move at an excessive angle and angular velocity.

단계 S253에서, 적어도 하나의 프로세서는 다음 조인트 각도들 Q_next을 슬레이브 암의 현재 조인트 각도들 Q_current로 결정한다.In step S253, the at least one processor determines the next joint angles Q_next as current joint angles Q_current of the slave arm.

단계 S253은 단계 S251의 조건 및 단계 S252의 조건 중 어느 하나를 만족하는 경우 수행되는 단계이다. 즉, 단계 S253은 수정된 조인트 각도들 Q_modified에 기초하여 산출되는 슬레이브 암의 포지션 데이터 T_calculated와 슬레이브 암의 목표 포지션 데이터 T_target의 차이가 제1 기준값을 초과하거나, 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 차이가 제2 기준값을 초과하는 경우에 수행되는 단계이다.Step S253 is a step performed when any one of the condition of step S251 and the condition of step S252 is satisfied. That is, in step S253, the difference between the slave arm position data T_calculated and the slave arm target position data T_target calculated based on the corrected joint angles Q_modified exceeds the first reference value, or the modified joint angles Q_modified and the current joint angle This step is performed when the difference between the Q_currents exceeds the second reference value.

단계 S251의 조건 및 단계 S252 의 조건 중 어느 하나를 만족하는 것은 슬레이브 암이 움직일 수 없는 위치 및 자세로 이동하도록 제어되거나, 슬레이브 암이 과도한 각도 및 각속도로 움직이도록 제어되는 경우를 의미한다. 이러한 경우, 슬레이브 암이 파손되거나 고장날 수 있다. 따라서 이를 방지하기 위하여, 적어도 하나의 프로세서는 다음 조인트 각도들 Q_next을 현재 조인트 각도들 Q_current로 결정하여, 슬레이브 암의 움직임을 잠글 수 있다.Satisfying either the condition of step S251 and the condition of step S252 means a case where the slave arm is controlled to move to a position and posture where it cannot be moved, or the slave arm is controlled to move at an excessive angle and angular velocity. In this case, the slave arm may be damaged or broken. Accordingly, in order to prevent this, at least one processor may lock the movement of the slave arm by determining the next joint angles Q_next as the current joint angles Q_current.

적어도 하나의 프로세서는 슬레이브 암의 움직임이 잠긴 것을 오퍼레이터에게 알람을 통해 알릴 수 있다. 알람은 마스터 콘솔(도 1의 20)의 디스플레이 부재, 외부 디스플레이 장치(도 1의 25), 비전 카트의 표시부(도 1의 35) 등을 통해 디스플레이 되어 오퍼레이터에게 전달되거나, 소리의 형태로 오퍼레이터에게 전달되거나, 마스터 암 또는 슬레이브 암에 발생하는 진동 형태로 오퍼레이터에게 전달될 수 있다.At least one processor may notify 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), and the display unit of the vision cart (35 in Fig. 1), and transmitted to the operator, or to the operator in the form of sound. It may be transmitted or transmitted to the operator in the form of vibrations generated by the master arm or the slave arm.

단계 S254에서, 적어도 하나의 프로세서는 다음 조인트 각도들 Q_next을 수정된 조인트 각도들 Q_modified로 결정한다.In step S254, the at least one processor determines the next joint angles Q_next as modified joint angles Q_modified.

단계 S254는 단계 S251의 조건 및 단계 S252의 조건을 모두 만족하지 않는 경우 수행되는 단계이다. 즉, 단계 S254는 수정된 조인트 각도들 Q_modified에 기초하여 산출되는 슬레이브 암의 포지션 데이터 T_calculated와 슬레이브 암의 목표 포지션 데이터 T_target의 차이가 제1 기준값을 초과하지 않고, 수정된 조인트 각도들 Q_modified과 현재 조인트 각도들 Q_current의 차이가 제2 기준값을 초과하지 않는 경우에 수행되는 단계이다.Step S254 is a step performed when both the condition of step S251 and the condition of step S252 are not satisfied. That is, in step S254, the difference between the slave arm position data T_calculated 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 modified joint angles Q_modified and the current joint This step is performed when the difference between the angles Q_current does not exceed the second reference value.

단계 S251의 조건 및 단계 S252 의 조건을 모두 만족하지 않는 것은, 슬레이브 암이 물리적으로 움직일 수 있는 위치 및 자세로 이동하도록 제어되는 것을 의미한다. 따라서, 적어도 하나의 프로세서는 다음 조인트 각도들 Q_next을 수정된 조인트 각도들 Q_modified로 결정하여, 슬레이브 암이 수정된 조인트 각도들 Q_modified에 따라 움직이도록 제어할 수 있다.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 control the slave arm to move according to the modified joint angles Q_modified by determining the next joint angles Q_next as the modified joint angles Q_modified.

이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.Although the embodiments have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also the scope of the present invention. Belongs to.

1: 수술용 로봇 시스템 10: 슬레이브 로봇
11: 슬레이브 암 20: 마스터 콘솔
30: 비전 카트 40: 중앙 제어부
1: surgical robot system 10: slave robot
11: slave arm 20: master console
30: vision cart 40: central control unit

Claims (10)

수술용 슬레이브 암을 원격으로 제어하는 방법에 있어서,
오퍼레이터로부터 마스터 암을 통해 명령을 입력 받는 단계;
상기 입력 받은 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계;
상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계;
상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계;
상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및
상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 포함하고,
상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계는,
상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 상기 운동 범위에 포함되는 값으로 치환하는 단계를 포함하는, 방법.
In a method for remotely controlling a surgical slave arm,
Receiving a command from an operator through a master arm;
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 the motion range 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 modifying at least one of the calculated joint angles,
And substituting a joint angle out of the motion range of the slave arm among the calculated joint angles with a value included in the motion range.
삭제delete 제1항에 있어서,
상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도는 상기 운동 범위의 경계값으로 치환되는, 방법.
The method of claim 1,
Among the calculated joint angles, a joint angle out of the motion range of the slave arm is replaced by a boundary value of the motion range.
제1항에 있어서,
상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는,
상기 수정된 조인트 각도들에 기초하여 산출되는 포지션 데이터와 상기 목표 포지션 데이터의 차이가 제1 기준값을 초과하는지 판단하는 단계를 더 포함하는, 방법.
The method of claim 1,
The step of determining the next joint angles of the slave arm,
The method further comprising determining whether a difference between the position data calculated based on the modified joint angles and the target position data exceeds a first reference value.
제4항에 있어서,
상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는,
상기 수정된 조인트 각도들과 상기 슬레이브 암의 현재 조인트 각도들의 차이가 제2 기준값을 초과하는지 판단하는 단계를 더 포함하는, 방법.
The method of claim 4,
The step of determining the next joint angles of the slave arm,
And determining whether a difference between the modified joint angles and the current joint angles of the slave arm exceeds a second reference value.
제5항에 있어서,
상기 슬레이브 암의 다음 조인트 각도들을 결정하는 단계는,
상기 제1 기준값을 초과하는 것으로 판단되거나 상기 제2 기준값을 초과하는 것으로 판단되는 경우, 상기 슬레이브 암의 다음 조인트 각도들을 상기 슬레이브 암의 현재 조인트 각도들로 결정하는 단계; 및
그 외의 경우, 상기 슬레이브 암의 다음 조인트 각도들을 상기 수정된 조인트 각도들로 결정하는 단계를 더 포함하는, 방법.
The method of claim 5,
The step of determining the next joint angles of the slave arm,
Determining the next joint angles of the slave arm as current joint angles of the slave arm when it is determined that it exceeds the first reference value or exceeds the second reference value; And
Otherwise, the method further comprising determining next joint angles of the slave arm as the modified joint angles.
제6항에 있어서,
상기 슬레이브 암의 다음 조인트 각도들을 상기 슬레이브 암의 현재 조인트 각도들로 결정한 경우, 상기 오퍼레이터에게 알람을 제공하는 단계를 더 포함하는, 방법.
The method of claim 6,
And providing an alarm to the operator when determining the next joint angles of the slave arm as current joint angles of the slave arm.
제7항에 있어서,
상기 알람은 디스플레이 되거나, 소리의 형태로 출력되거나, 상기 마스터 암 또는 상기 슬레이브 암에 발생하는 진동의 형태로 출력되어 상기 오퍼레이터에게 제공되는, 방법.
The method of claim 7,
The alarm is displayed, output in the form of sound, or output in the form of vibration generated in the master arm or the slave arm and provided to the operator.
마스터 암;
슬레이브 암; 및
오퍼레이터가 상기 마스터 암을 조작하는 것에 기초하여 상기 슬레이브 암이 움직이도록 제어하는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는,
상기 오퍼레이터로부터 상기 마스터 암을 통해 입력된 명령을 획득하는 단계;
상기 획득한 명령에 기초하여 상기 슬레이브 암의 목표 포지션 데이터를 산출하는 단계;
상기 산출된 목표 포지션 데이터에 기초하여 조인트 각도들을 산출하는 단계;
상기 슬레이브 암의 운동 범위 이내에 포함되도록, 상기 산출된 조인트 각도들 중 적어도 어느 하나를 수정하는 단계;
상기 수정된 조인트 각도들 및 상기 슬레이브 암의 현재 포지션에 대응되는 현재 조인트 각도들에 기초하여 상기 슬레이브 암의 다음 포지션에 대응되는 다음 조인트 각도들을 결정하는 단계; 및
상기 슬레이브 암이 상기 결정된 다음 조인트 각도들에 따라 움직이도록 제어하는 단계를 수행하고,
상기 적어도 하나의 프로세서는,
상기 산출된 조인트 각도들 중 상기 슬레이브 암의 운동 범위를 벗어나는 조인트 각도를 상기 운동 범위에 포함되는 값으로 치환하는, 수술용 로봇 시스템.
Master arm;
Slave arm; And
At least one processor for controlling the slave arm to move based on an operator manipulating the master arm,
The at least one processor,
Acquiring a command 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 the motion range 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
Performing the step of controlling the slave arm to move according to the determined next joint angles,
The at least one processor,
Among the calculated joint angles, a joint angle outside the motion range of the slave arm is substituted with a value included in the motion range.
삭제delete
KR1020180155466A 2018-12-05 2018-12-05 Method and system for remotely controlling surgical slave arm KR102221089B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180155466A KR102221089B1 (en) 2018-12-05 2018-12-05 Method and system for remotely controlling surgical slave arm
CN201980079951.3A CN113164216B (en) 2018-12-05 2019-11-01 Method and system for remotely controlling a surgical slave arm
PCT/KR2019/014696 WO2020116792A1 (en) 2018-12-05 2019-11-01 Method and system for remotely controlling surgical slave arm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180155466A KR102221089B1 (en) 2018-12-05 2018-12-05 Method and system for remotely controlling surgical slave arm

Publications (2)

Publication Number Publication Date
KR20200068455A KR20200068455A (en) 2020-06-15
KR102221089B1 true KR102221089B1 (en) 2021-02-26

Family

ID=70974347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180155466A KR102221089B1 (en) 2018-12-05 2018-12-05 Method and system for remotely controlling surgical slave arm

Country Status (3)

Country Link
KR (1) KR102221089B1 (en)
CN (1) CN113164216B (en)
WO (1) WO2020116792A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112497215B (en) * 2020-11-25 2022-08-30 惟精医疗器械(天津)有限公司 Automatic mechanical arm locking method, device and system
CN114770459B (en) * 2022-05-18 2023-12-08 佗道医疗科技有限公司 Main control arm motion control method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170000577A1 (en) * 2012-08-03 2017-01-05 Stryker Corporation Manipulator and Method for Controlling the Manipulator Based on Joint Limits

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3473834B2 (en) * 1999-11-29 2003-12-08 株式会社安川電機 Robot control device
JP2010524547A (en) * 2007-04-16 2010-07-22 ニューロアーム サージカル リミテッド Method, apparatus, and system for automated motion for medical robots
KR20090127481A (en) 2008-06-09 2009-12-14 (주)미래컴퍼니 Master interface and driving method of surgical robot
US9119655B2 (en) * 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
CN103147577B (en) * 2013-02-27 2015-04-01 中联重科股份有限公司 Control method, equipment, system and construction machinery for multi-joint mechanical arm support
JP6109001B2 (en) * 2013-07-26 2017-04-05 オリンパス株式会社 Medical system and operating method thereof
JP6164964B2 (en) * 2013-07-26 2017-07-19 オリンパス株式会社 Medical system and control method thereof
KR20150033473A (en) * 2013-09-24 2015-04-01 삼성전자주식회사 Robot and control method thereof
KR101527176B1 (en) * 2013-12-09 2015-06-09 (주)미래컴퍼니 Surgical Robot Apparatus and Method for Controlling Surgical Robot Apparatus
JP2015174185A (en) * 2014-03-14 2015-10-05 三菱重工業株式会社 Robot simulation device and method, control device, and robot system
CN106456265B (en) * 2014-03-17 2019-07-30 直观外科手术操作公司 Use remote control operation surgery systems and control method of the inverse kinematics under the limit of joint
JP2016078149A (en) * 2014-10-15 2016-05-16 キヤノン株式会社 Robot device control method, robot device, program and recording medium
GB201419645D0 (en) * 2014-11-04 2014-12-17 Cambridge Medical Robotics Ltd Characterising motion constraints
WO2016109886A1 (en) * 2015-01-09 2016-07-14 Titan Medical Inc. Autonomous correction of alignment error in a master-slave robotic system
CN107589934B (en) * 2017-07-24 2020-04-07 大连理工大学 Solving method for inverse kinematics analytic solution of joint type mechanical arm

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170000577A1 (en) * 2012-08-03 2017-01-05 Stryker Corporation Manipulator and Method for Controlling the Manipulator Based on Joint Limits

Also Published As

Publication number Publication date
CN113164216A (en) 2021-07-23
KR20200068455A (en) 2020-06-15
WO2020116792A1 (en) 2020-06-11
CN113164216B (en) 2023-07-07

Similar Documents

Publication Publication Date Title
JP6617114B2 (en) Application of force feedback at the input device that prompts the operator of the input device to command the joint device to take a suitable posture
CN111050686B (en) Camera control for surgical robotic system
US9731415B2 (en) Method for the alignment of a multiaxial manipulator with an input device
US20180098817A1 (en) Medical system
US9259283B2 (en) Medical master slave manipulator system
EP1973021B1 (en) Master-slave manipulator system
US20130178868A1 (en) Surgical robot and method for controlling the same
US11801103B2 (en) Surgical system and method of controlling surgical system
KR102149008B1 (en) Method and system for mitigating impact of a surgical robot
KR102221089B1 (en) Method and system for remotely controlling surgical slave arm
US11832911B2 (en) Surgical platform supported by multiple arms
US11880513B2 (en) System and method for motion mode management
US20230172672A1 (en) Surgical Robotic System and Method for Transitioning Control to a Secondary Robot Controller
JP2023175889A (en) Controlling movement of surgical robot arm
US20220175479A1 (en) Surgical operation system and method of controlling surgical operation system
JP5800609B2 (en) Medical master-slave manipulator
CN112888398B (en) Main robot and control method thereof
US20220296323A1 (en) Moveable display unit on track
WO2023185699A1 (en) Surgical robot and control method
US20200117176A1 (en) Robot arm controller and robot arm system
CN117752424A (en) Master-slave control method and device of flexible surgical robot, robot and medium
JPH0871071A (en) Operating manipulator apparatus

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant