KR102188100B1 - 로봇 및 그 제어방법 - Google Patents

로봇 및 그 제어방법 Download PDF

Info

Publication number
KR102188100B1
KR102188100B1 KR1020130028308A KR20130028308A KR102188100B1 KR 102188100 B1 KR102188100 B1 KR 102188100B1 KR 1020130028308 A KR1020130028308 A KR 1020130028308A KR 20130028308 A KR20130028308 A KR 20130028308A KR 102188100 B1 KR102188100 B1 KR 102188100B1
Authority
KR
South Korea
Prior art keywords
tool
joint
robot
freedom
tools
Prior art date
Application number
KR1020130028308A
Other languages
English (en)
Other versions
KR20140113209A (ko
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 KR1020130028308A priority Critical patent/KR102188100B1/ko
Priority to EP14160269.8A priority patent/EP2777597B1/en
Priority to JP2014053809A priority patent/JP6415065B2/ja
Priority to CN201410099195.XA priority patent/CN104042344B/zh
Priority to US14/217,808 priority patent/US9566709B2/en
Publication of KR20140113209A publication Critical patent/KR20140113209A/ko
Application granted granted Critical
Publication of KR102188100B1 publication Critical patent/KR102188100B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • 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
    • 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
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • A61B90/361Image-producing devices, e.g. surgical cameras
    • 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
    • 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/00225Systems for controlling multiple different instruments, e.g. microsurgical systems
    • 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
    • A61B2034/302Surgical robots specifically adapted for manipulations within body cavities, e.g. within abdominal or thoracic cavities
    • 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
    • A61B2034/742Joysticks
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • A61B90/37Surgical systems with images on a monitor during operation
    • A61B2090/373Surgical systems with images on a monitor during operation using light, e.g. by using optical scanners
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • A61B90/37Surgical systems with images on a monitor during operation
    • A61B2090/378Surgical systems with images on a monitor during operation using ultrasound
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39079Solve inverse differential kinematics in closed, feedback loop, iterate
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40182Master has different configuration than slave manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40333Singularity, at least one movement not possible, kinematic redundancy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40336Optimize multiple constraints or subtasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40338Task priority redundancy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40352Combination of priority, basic task, tip position, and task for link movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40371Control trajectory to avoid joint limit as well as obstacle collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45117Medical, radio surgery manipulator

Abstract

가이드 튜브 및 가이드 튜브와 연동하여 동작하며 가이드 튜브로부터 분기되는 복수의 툴로 이루어지는 멀티 툴 모듈, 멀티 툴 모듈은 여유 자유도를 가지며; 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 기초하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하되, 여유 자유도를 활용하여 제어신호를 생성하는 제어부를 포함함으로써, 툴의 활동 영역(workspace)을 확장시키고 통상적인 툴 제어 방식으로는 불가능한 작업을 수행할 수 있으며, 툴의 관절별 필요 강성을 최소화하고, 툴과 주변 장애물 간의 충돌 가능성을 최소화할 수 있으며, 툴의 필요 자유도를 최소화하고, 기존에 불가능했던 복합적인 작업(complex task)을 수행할 수 있다.

Description

로봇 및 그 제어방법{ROBOT AND CONTROL METHOD THEREOF}
복수의 툴을 가지는 로봇 및 그 제어방법에 관한 것이다.
일반적으로, 전기적 또는 자기적인 작용을 이용하여 인간의 동작과 닮은 운동을 행하는 기계장치를 로봇이라고 한다. 최근 들어 로봇은 제어기술의 발달로 다양한 분야에서 활용되고 있으며, 그 예로는 수술 로봇, 가사 도우미 로봇, 공공장소용 서비스 로봇, 우주 항공 원격 로봇, 위험물 처리 로봇 등을 들 수 있다. 이러한 로봇은 전기적·기계적 메커니즘에 의해서 팔이나 손의 동작에 가깝게 운동할 수 있도록 만들어진 매니퓰레이터(manipulator)를 이용하여 작업을 수행한다.
전술한 다양한 로봇들 가운데 수술 로봇(surgical robot)은 조작자(주로, 의사)의 조작에 의해 필요한 신호를 생성하여 전송하는 마스터(master) 장치와, 마스터 장치로부터 신호를 받아 직접 환자에 대해 수술에 필요한 조작을 가하는 슬레이브(slave) 로봇으로 이루어지는데, 마스터 장치와 슬레이브 로봇을 유, 무선 방식으로 연결하여 원격으로 수술을 진행하게 된다.
기존의 수술 로봇을 이용한 최소 침습 수술(Minimally Invasive Surgery)은 말단부에 엔드 이펙터(end-effector)가 부착된 복수의 수술 기구(surgical instrument)를 복수의 절개공을 통해 환자의 체내로 진입시키는 방식의 멀티 포트 수술(Multi-Port Surgery)이 주를 이루고 있었으나, 최근 들어 복수의 수술 기구를 하나의 절개공을 통해 환자의 체내로 진입시키는 방식의 싱글 포트 수술(Single-Port Surgery)을 시행하는 사례가 증가하고 있다. 싱글 포트 수술은 멀티 포트 수술에 비해 치유 기간이 짧고 외관상 수술 흔적이 적게 남는 등 여러 가지 유리한 점이 있으나, 수술 기구들 간의 간섭이 발생할 가능성이 있고 수술 기구의 활동 영역(workspace)에 제한이 많아서 적용할 수 있는 수술의 범위가 한정될 수 밖에 없다는 문제점이 있다.
마운팅 암, 마운팅 암에 장착되는 가이드 튜브 및 각각 엔드 이펙터를 가지며 가이드 튜브로부터 분기되어 나오는 복수의 툴을 포함하고, 마운팅 암, 가이드 튜브 및 복수의 툴이 연동하여 동작하도록 제어하는 로봇에서, 근위부(몸 중심부, proximal end) 즉 마운팅 암 및 가이드 튜브의 자유도로 인해 발생하는 여유 자유도(redundancy)를 활용함으로써, 툴의 활동 영역(workspace)을 확장시키고 통상적인 툴 제어 방식으로는 불가능한 작업을 수행할 수 있는 로봇 및 그 제어방법을 제안하고자 한다.
또한 마운팅 암, 마운팅 암에 장착되는 가이드 튜브 및 각각 엔드 이펙터를 가지며 가이드 튜브로부터 분기되어 나오는 복수의 툴을 포함하고, 마운팅 암, 가이드 튜브 및 복수의 툴이 연동하여 동작하도록 제어하는 로봇에서, 근위부 즉 마운팅 암 및 가이드 튜브의 자유도로 인해 발생하는 여유 자유도를 활용함으로써, 툴의 관절별 필요 강성을 최소화하고, 툴과 주변 장애물 간의 충돌 가능성을 최소화할 수 있는 로봇 및 그 제어방법을 제안하고자 한다.
또한 마운팅 암, 마운팅 암에 장착되는 가이드 튜브 및 각각 엔드 이펙터를 가지며 가이드 튜브로부터 분기되어 나오는 복수의 툴을 포함하고, 마운팅 암, 가이드 튜브 및 복수의 툴이 연동하여 동작하도록 제어하는 로봇에서, 근위부 즉 마운팅 암 및 가이드 튜브의 자유도로 인해 발생하는 여유 자유도를 활용함으로써, 툴의 필요 자유도를 최소화하고, 기존에 불가능했던 복합적인 작업(complex task)을 수행할 수 있는 로봇 및 그 제어방법을 제안하고자 한다.
로봇은 가이드 튜브 및 가이드 튜브와 연동하여 동작하며 가이드 튜브로부터 분기되는 복수의 툴로 이루어지는 멀티 툴 모듈, 멀티 툴 모듈은 여유 자유도를 가지며; 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 기초하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하되, 여유 자유도를 활용하여 제어신호를 생성하는 제어부를 포함한다.
또한 가이드 튜브 및 복수의 툴 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어지고, 복수의 툴의 각 말단부에는 엔드 이펙터가 장착된다.
또한 제어부는 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 대응하는 자코비언 행렬을 산출하고, 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보 및 산출된 자코비언 행렬에 기초하여 여유 자유도를 활용하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성한다.
삭제
삭제
삭제
삭제
삭제
또한 제어부는 제어신호의 생성 과정에서 로봇의 목적 함수를 산출하되, 목적 함수는 복수의 개별 목적 함수의 가중합으로 표현된다.
삭제
삭제
삭제
또한 개별 목적 함수는 각각의 툴과 기구적 한계(joint limit) 간의 거리의 역수, 각각의 툴과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합 및 각각의 툴과 주변 장애물 간의 거리의 역수를 포함한다.
또한 제어부는 산출된 로봇의 목적 함수를 최소화하는 관절 공간에서의 모션에 관한 제어신호를 생성한다.
또한 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 로봇의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 로봇이 수행하는 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치를 저장하는 저장부를 더 포함한다.
또한 제어부는 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 우선순위가 설정되어 있을 때, 우선순위가 높은 작업 공간에서의 모션 명령 정보 및 우선순위가 낮은 작업 공간에서의 모션 명령 정보에 대응하는 자코비언 행렬들을 산출하고, 우선순위가 설정된 작업 공간에서의 모션 명령 정보들 및 산출된 자코비언 행렬들에 기초하여 여유 자유도를 활용하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성한다.
삭제
삭제
삭제
삭제
삭제
또한 제어부는 제어신호의 생성 과정에서 로봇의 목적 함수를 산출하되, 목적 함수는 복수의 개별 목적 함수의 가중합으로 표현된다.
삭제
삭제
삭제
또한 개별 목적 함수는 각각의 툴과 기구적 한계(joint limit) 간의 거리의 역수, 각각의 툴과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합 및 각각의 툴과 주변 장애물 간의 거리의 역수를 포함한다.
또한 제어부는 산출된 로봇의 목적 함수를 최소화하는 관절 공간에서의 모션에 관한 제어신호를 생성한다.
또한 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 설정된 우선순위, 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 로봇의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 로봇이 수행하는 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치를 저장하는 저장부를 더 포함한다.
로봇은 마운팅 암; 가이드 튜브 및 가이드 튜브와 연동하여 동작하며 가이드 튜브로부터 분기되는 복수의 툴로 이루어지는 멀티 툴 모듈, 멀티 툴 모듈은 마운팅 암에 연결되고, 마운팅 암과 멀티 툴 모듈로 이루어지는 기구부는 여유 자유도를 가지며; 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 기초하여 마운팅 암 및 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하되, 여유 자유도를 활용하여 제어신호를 생성하는 제어부를 포함한다.
로봇의 제어방법은 가이드 튜브 및 가이드 튜브와 연동하여 동작하며 가이드 튜브로부터 분기되는 복수의 툴로 이루어지는 멀티 툴 모듈을 포함하는 로봇의 제어방법에 있어서, 멀티 툴 모듈은 여유 자유도를 가지며, 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보를 생성하고; 생성된 작업 공간에서의 모션 명령 정보에 기초하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하되, 여유 자유도를 활용하여 제어신호를 생성한다.
또한 가이드 튜브 및 복수의 툴 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어지고, 복수의 툴의 각 말단부에는 엔드 이펙터가 장착된다.
또한 여유 자유도를 활용하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 것은 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 대응하는 자코비언 행렬을 산출하고, 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보 및 산출된 자코비언 행렬에 기초하여 제어신호를 생성하는 것이다.
삭제
삭제
삭제
삭제
삭제
또한 여유 자유도를 활용하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하는 것은 로봇의 목적 함수를 산출하고, 산출된 로봇의 목적 함수를 최소화하는 관절 공간에서의 모션에 관한 제어신호를 생성하는 것이다.
삭제
삭제
삭제
또한 목적 함수는 복수의 개별 목적 함수의 가중합으로 표현된다.
또한 개별 목적 함수는 각각의 툴과 기구적 한계(joint limit) 간의 거리의 역수, 각각의 툴과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합 및 각각의 툴과 주변 장애물 간의 거리의 역수를 포함한다.
또한 여유 자유도를 활용하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하는 것은 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 우선순위가 설정되어 있을 때, 우선순위가 높은 작업 공간에서의 모션 명령 정보 및 우선순위가 낮은 작업 공간에서의 모션 명령 정보에 대응하는 자코비언 행렬들을 산출하고, 우선순위가 설정된 작업 공간에서의 모션 명령 정보들 및 산출된 자코비언 행렬들에 기초하여 여유 자유도를 활용하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하는 로봇의 제어방법.
삭제
삭제
삭제
삭제
삭제
또한 여유 자유도를 활용하여 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하는 것은 로봇의 목적 함수를 산출하고, 산출된 로봇의 목적 함수를 최소화하는 관절 공간에서의 모션에 관한 제어신호를 생성하는 것이다.
삭제
삭제
삭제
또한 목적 함수는 복수의 개별 목적 함수의 가중합으로 표현된다.
또한 개별 목적 함수는 각각의 툴과 기구적 한계(joint limit) 간의 거리의 역수, 각각의 툴과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합 및 각각의 툴과 주변 장애물 간의 거리의 역수를 포함한다.
로봇의 제어방법은 마운팅 암, 가이드 튜브 및 가이드 튜브와 연동하여 동작하며 가이드 튜브로부터 분기되는 복수의 툴로 이루어지는 멀티 툴 모듈을 포함하는 로봇의 제어방법에 있어서, 멀티 툴 모듈은 마운팅 암에 연결되고, 마운팅 암과 멀티 툴 모듈로 이루어지는 기구부는 여유 자유도를 가지며, 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보를 생성하고; 생성된 작업 공간에서의 모션 명령 정보에 기초하여 마운팅 암및 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하되, 여유 자유도를 활용하여 제어신호를 생성한다.
제안된 로봇 및 그 제어방법에 의하면, 마운팅 암, 마운팅 암에 장착되는 가이드 튜브 및 각각 엔드 이펙터를 가지며 가이드 튜브로부터 분기되어 나오는 복수의 툴을 포함하고, 마운팅 암, 가이드 튜브 및 복수의 툴이 연동하여 동작하도록 제어하는 로봇에서, 근위부 즉 마운팅 암 및 가이드 튜브의 자유도로 인해 발생하는 여유 자유도를 활용함으로써, 툴의 활동 영역(workspace)을 증가시키고 통상적인 툴 제어 방식으로는 불가능한 작업을 수행할 수 있다.
또한 제안된 로봇 및 그 제어방법에 의하면, 마운팅 암, 마운팅 암에 장착되는 가이드 튜브 및 각각 엔드 이펙터를 가지며 가이드 튜브로부터 분기되어 나오는 복수의 툴을 포함하고, 마운팅 암, 가이드 튜브 및 복수의 툴이 연동하여 동작하도록 제어하는 로봇에서, 근위부 즉 마운팅 암 및 가이드 튜브의 자유도로 인해 발생하는 여유 자유도를 활용함으로써, 툴의 관절별 필요 강성을 최소화하고, 툴과 주변 장애물 간의 충돌 가능성을 최소화할 수 있다.
또한 제안된 로봇 및 그 제어방법에 의하면, 마운팅 암, 마운팅 암에 장착되는 가이드 튜브 및 각각 엔드 이펙터를 가지며 가이드 튜브로부터 분기되어 나오는 복수의 툴을 포함하고, 마운팅 암, 가이드 튜브 및 복수의 툴이 연동하여 동작하도록 제어하는 로봇에서, 근위부 즉 마운팅 암 및 가이드 튜브의 자유도로 인해 발생하는 여유 자유도를 활용함으로써, 툴의 필요 자유도를 최소화하고, 기존에 불가능했던 복합적인 작업을 수행할 수 있다.
도 1은 수술 로봇의 전체 구조를 나타낸 사시도이다.
도 2는 도 1에 도시한 “A” 부분의 내부 모습을 나타낸 도면이다.
도 3a는 수술 로봇을 이루는 슬레이브 로봇의 외관 사시도이고, 도 3b는 케이싱 내에 내장되는 멀티 툴 모듈 및 구동부의 구조를 나타낸 도면이고, 도 3c는 도 3b에 도시한 “B” 부분(가이드 튜브(212)의 말단부)에서 두 개의 툴과 한 개의 내시경이 전개된 모습을 나타낸 도면이다.
도 4는 수술 로봇의 제어 블록도이다.
도 5는 개시된 발명에 의해 달성되는 툴의 활동 영역(workspace) 확장을 설명하기 위한 개념도이다.
도 6은 개시된 발명에 의해 달성되는 툴의 관절별 필요 강성 최소화를 설명하기 위한 개념도이다.
도 7은 개시된 발명에 의해 달성되는 툴과 주변 장애물 간의 충돌 가능성 최소화를 설명하기 위한 개념도이다.
도 8은 개시된 발명에 의해 달성되는 툴의 필요 자유도 최소화를 설명하기 위한 개념도이다.
도 9는 개시된 발명에 의해 달성되는 복합적인 작업 수행을 설명하기 위한 개념도이다.
도 10은 수술 로봇의 제어방법을 도시한 흐름도이다.
도 11은 수술 로봇의 제어 블록도이다.
도 12는 수술 로봇의 제어방법을 도시한 흐름도이다.
도 13은 휴머노이드 로봇의 외관 구성도이다.
도 14는 휴머노이드 로봇의 제어 블록도이다.
도 15는 휴머노이드 로봇의 제어방법을 도시한 흐름도이다.
도 16은 휴머노이드 로봇의 제어 블록도이다.
도 17은 휴머노이드 로봇의 제어방법을 도시한 흐름도이다.
이하에서는 첨부된 도면을 참조하여 실시예들을 상세하게 설명하도록 한다.
도 1은 수술 로봇의 전체 구조를 나타낸 사시도이고, 도 2는 도 1에 도시한 “A” 부분의 내부 구조를 나타낸 도면이다. 특히, 도 1은 말단부에 수술 도구(surgical tool)가 부착된 복수의 수술 기구(surgical instrument)를 하나의 절개공(single-port)을 통해 환자의 체내로 진입시켜, 인체 내 다양한 장소에서 수술이 가능하도록 한 싱글 포트 수술 로봇(Single-Port Surgical Robot)을 도시하고 있다. 싱글 포트 수술 로봇을 이용한 수술에서는 이하에서 설명하는 여러 가지 요건들이 필요하다. 첫 번째로, 복수의 수술 기구가 하나의 절개공을 통해 체내로 진입한 후 수술 작업을 위해 임의의 위치로 이동 가능해야 하기 때문에, 수술 기구의 활동 영역(workspace)이 넓어야 한다. 두 번째로, 수술 기구가 높은 자유도를 가져 다양한 작업이 가능하면서도, 복강벽 등 인체 조직과의 충돌은 최소화해야 한다. 세 번째로, 수술 기구가 체내로 진입할 때에는 유연해야 하고, 수술 작업을 수행할 때에는 높은 강성을 가져야 한다. 즉, 싱글 포트 수술 로봇을 이용한 수술 시에는 수술 기구가 자유롭게 이동할 수 있는 넓은 활동 영역과 고자유도(高自由度, high degree of freedom), 고강성(高剛性, high rigidity) 및 유연성을 동시에 충족시킬 수 있는 수술 기구가 확보되어야 한다.
여기서, 자유도(Degree of Freedom, DOF)란 기구학(Kinematics) 또는 역기구학(Inverse Kinematics)에서의 자유도를 말한다. 기구의 자유도란 기구의 독립적인 운동의 수 또는 각 링크 간의 상대 위치의 독립된 운동을 결정하는 변수의 수를 말한다. 예를 들어, x축, y축, z축으로 이루어진 3차원 공간상의 물체는 물체의 공간적인 위치(position)를 결정하기 위한 3자유도(각 축에서의 위치)와, 물체의 공간적인 자세(orientation)를 결정하기 위한 3자유도(각 축에 대한 회전 각도) 중에서 하나 이상의 자유도를 가진다. 만약 물체가 각각의 축을 따라 이동 가능하고, 각각의 축을 기준으로 회전 가능하다고 한다면, 이 물체는 6자유도를 갖는 것으로 이해할 수 있다.
도 1에 도시한 바와 같이, 수술 로봇은 수술대에 누워있는 환자에게 수술을 행하는 슬레이브 로봇(200)과 슬레이브 로봇(200)을 조작자(주로, 의사)가 원격 조종하는 마스터 장치(100)를 포함하여 이루어진다. 마스터 장치(100)는 조작자(주로, 의사)의 조작에 따른 제어신호를 생성하여 슬레이브 로봇(200)으로 전송한다. 한편, 슬레이브 로봇(200)은 마스터 장치(100)로부터 제어신호를 수신하고, 수신된 제어신호에 따라 움직여 수술에 필요한 조작을 환자에게 가한다. 여기서, 마스터 장치(100)와 슬레이브 로봇(200)이 반드시 물리적으로 독립된 별도의 장치로 분리되어야 하는 것은 아니며, 하나로 통합되어 일체형으로 구성될 수도 있다.
도 1에 도시한 바와 같이, 슬레이브 로봇(200)은 마운팅 암(202) 및 원통형의 케이싱(208)을 포함할 수 있다.
슬레이브 로봇(200)의 마운팅 암(202)은 다자유도를 가지며 구동되도록 구현할 수 있다. 마운팅 암(202)은 복수의 링크(도 3a의 206a, 206b, 206c 참조) 및 복수의 관절(도 3a의 204a, 204b, 204c 참조)로 이루어진다.
또한 마운팅 암(202)의 상부에는 원통형의 케이싱(208)이 연결된다. 케이싱(208)에는 내부에 복수의 툴(214a, 214b) 및/또는 내시경(216)을 포함하는 가이드 튜브(212)와, 복수의 툴(214a, 214b) 및/또는 내시경(216)과 가이드 튜브(212)의 구동을 위한 구동부(도 3b의 270 참조)가 내장될 수 있다. 여기서, 가이드 튜브(212)는 마운팅 암(202)에 연결 설치된다. 슬레이브 로봇(200)이 수술을 수행하지 않을 때에는 가이드 튜브(212)가 케이싱(208) 내에 내장되어 있다가, 슬레이브 로봇(200)이 수술을 수행할 때에는 도 1 및 도 2에 도시한 바와 같이 케이싱(208) 내에 내장되어 있던 가이드 튜브(212)가 밖으로 나와 환자의 체내로 삽입된다. 가이드 튜브(212)가 환자의 체내로 삽입되어 수술 작업을 수행하는 모습 즉, 도 1에 도시한 “A” 부분의 내부 모습을 보다 자세히 살펴보면 도 2에 도시한 바와 같이, 가이드 튜브(212)가 환자의 피부에 형성된 절개공(I)을 통해 체내로 진입한 후 수술하고자 하는 부위(수술 부위)에 접근하게 되면 가이드 튜브(212)로부터 복수의 툴(214a, 214b)과 내시경(216)이 분기되어 나와 수술 작업을 수행한다. 여기서, 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216) 역시 마운팅 암(202)과 마찬가지로, 복수의 링크 및 복수의 관절로 이루어져 다자유도를 가지며 구동되도록 구현할 수 있다. 복수의 툴(214a, 214b) 각각의 말단부(distal end)에는 복강 내에서 장기와 접촉하고, 자르고 꿰매는 직접적인 시술 작업을 수행하는 포셉(forceps), 죠(jaw), 그래스퍼(grasper), 가위(scissors), 스테이플러(stapler), 소작기(cautery), 니들(needle) 등의 수술 도구(surgical tool) 즉, 엔드 이펙터(218a, 218b)가 장착된다.
내시경(216)은 넓은 의미에서 가이드 튜브(212)로부터 분기되어 나오는 복수의 툴(214a, 214b) 중 하나로 볼 수 있으나, 이하에서는 수술 로봇의 특성을 고려하여 말단부에 수술 부위에 대한 절개, 봉합 등의 직접적인 수술 동작을 수행하는 엔드 이펙터(218a, 218b)가 마련되는 복수의 툴(214a, 214b)과 수술 부위에 대해 직접적인 동작을 수행하지는 않고 엔드 이펙터(218a, 218b)의 동작을 보조하기 위한 다관절을 가지는 내시경(216)을 별도로 분리하여 설명하기로 한다.
여기서, 내시경(216)으로는 로봇 수술에서 주로 사용되는 복강경(laparoscope) 이외에 흉강경(thoracoscopy), 관절경(arthroscope) 및 비경(rhinoscope) 등 다양한 수술용 내시경이 사용될 수 있다.
한편, 마스터 장치(100)는 마스터 조작기(112L, 112R), 클러치 페달(114L, 114R) 및 표시부(116)를 포함할 수 있다.
마스터 장치(100)는 조작자가 양손에 각각 파지하여 조작할 수 있도록마스터조작기(112L, 112R)를 구비한다. 조작자는 마스터 조작기(112L, 112R)를 통해 슬레이브 로봇(200)의 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)의 위치 및 기능을 조작한다. 마스터 조작기(112L, 112R)는,3차원 공간상에서 마운팅 암(202) 등의 x축, y축, z축의 병진 운동 및 롤(roll) 방향, 피치(pitch) 방향, 요(yaw) 방향의 회전 운동을 제어하기 위해 6자유도를 가지도록 구현될 수 있다. 마스터 조작기(112L, 112R)는 도 1에 예시한 바와 같이 두 개의 핸들로 구현될 수 있으며, 조작자의 핸들 조작에 따른 제어신호가 슬레이브 로봇(200)으로 전송되어 마운팅 암(202) 등을 포함하는 슬레이브 로봇(200)의 동작이 제어된다. 조작자의 핸들 조작에 의해 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)의 병진 운동(translational motion) 및 회전 운동(rotational motion), 이러한 움직임들을 통한 실질적인 수술 작업(예: 봉합, 배관 삽입 등)이 수행될 수 있다.
또한 마스터 장치(100)는 마스터 조작기(112L, 112R)의 조작 기능을 확장하기 위해 조작자가 양발로 각각 밟거나 눌러서 조작할 수 있도록 두 개의 페달 센서(114L, 114R)를 포함한다.
도 1에 도시한 두 개의 핸들로 이루어진 마스터 조작기(112L, 112R)와 두 개의 페달 센서(114L, 114R)를 이용하여 마운팅 암(202) 등의 동작을 제어하는 방식을 구체적인 예를 들어 설명하면, 먼저 왼쪽 핸들(112L)을 이용하여 마운팅 암(202)의 위치 및 동작을 제어하고, 오른쪽 핸들(112R)을 이용하여 가이드 튜브(212)의 위치 및 동작을 제어할 수 있다. 또한 마스터 장치(100)에 마련된 모드 스위치(미도시) 또는 버튼(미도시)이 조작된 상태에서는 왼쪽 핸들(112L)을 이용하여 제 1 툴(214a)의 위치 및 동작을 제어하고, 오른쪽 핸들(112R)을 이용하여 제 2 툴(214b)의 위치 및 동작을 제어할 수 있다. 이에 더하여(모드 스위치 또는 버튼이 조작된 후), 왼쪽 페달 센서(114L)가 조작된 상태에서는 왼쪽 핸들(112L)을 이용하여 내시경(216)의 위치 및 동작을 제어할 수 있다. 또한 모드 스위치 또는 버튼이 조작된 후 오른쪽 페달 센서(114R)가 조작된 상태에서 오른쪽 핸들(112R)을 이용하여 내시경(216)의 위치 및 동작을 제어할 수 있도록 구현하는 것도 가능하다.
도 1에서는 마스터 장치(100)에 두 개의 마스터 조작기(핸들)가 장착된 경우를 예로 들어 설명하였으나, 핸들을 더 추가하여 동시에 복수의 수술 장비(예: 가이드 튜브, 복수의 툴)를 실시간으로 조작할 수 있도록 구현하는 것도 가능하다. 여기서, 핸들(112L, 112R)은 그 조작 방식에 따라 다양한 기구적 구성을 가질 수 있으며, 예를 들면, 조이스틱(joystick) 등 3차원적인 움직임을 가질 수 있으면서 슬레이브 로봇(200)의 마운팅 암(202), 가이드 튜브(212) 및 복수의 툴(214a, 214b) 등을 작동시키기 위한 다양한 입력 수단이 이용될 수 있다. 마스터 조작기(112L, 112R)에는 복수의 링크 및 복수의 관절(링크와 링크의 연결 부위)이 연결된다. 마스터 조작기(112L, 112R)에 연결되는 복수의 관절 각각에는 마스터 조작기(112L, 112R)에 연결되는 각 관절의 회전 각도를 검출하는 회전각 센서(예: 인코더)가 장착될 수 있다.
마스터 장치(100)의 표시부(116)에는 내시경(도 2의 216 참조) 및/또는 초음파 프로브(미도시)에 의해 입력되는 영상이 화상 이미지로 표시된다.
표시부(116)는 하나 이상의 모니터로 구성될 수 있으며, 각 모니터에 수술 시 필요한 정보들이 개별적으로 표시되도록 할 수 있다. 도 1에는 표시부(116)가 세 개의 모니터를 포함하는 경우가 예시되었으나, 모니터의 수량은 표시를 요하는 정보의 유형이나 종류 등에 따라 다양하게 결정될 수 있다.
마스터 장치(100)와 슬레이브 로봇(200)은 유선 통신망 또는 무선 통신망을 통해 상호 결합되어 제어신호, 내시경(216)을 통해 입력된 내시경 영상 및 초음파 프로브(미도시)를 통해 입력된 초음파 영상 등이 상대방(슬레이브 로봇 또는 마스터 장치)으로 전송될 수 있다. 만일, 마스터 장치(100)에 마련된 두 개의 마스터 조작기(핸들)에 의한 두 개의 제어신호 예를 들어, 가이드 튜브(212)로부터 분기된 제 1 툴(214a)의 위치 조정을 위한 제어신호와 가이드 튜브(212)로부터 분기된 제 2 툴(214b)의 위치 조정을 위한 제어신호가 동시에 또는 근접한 시점에서 전송될 필요가 있는 경우, 각 제어신호는 상호 독립적으로 슬레이브 로봇(200)으로 전송될 수 있다.
여기서, 각 제어신호가 “독립적으로” 전송된다는 것은 제어신호 간에 서로 간섭을 주지 않으며, 어느 하나의 제어신호가 다른 하나의 신호에 영향을 미치지 않음을 의미한다. 이처럼, 복수의 제어신호가 서로 독립적으로 전송되도록 하기 위해서는, 각 제어신호의 생성 단계에서 각 제어신호에 대한 헤더 정보를 부가하여 전송시키거나, 각 제어신호가 그 생성 순서에 따라 전송되도록 하거나, 또는 각 제어신호의 전송 순서에 관하여 미리 우선 순위를 정해 놓고 그에 따라 전송되도록 하는 등 다양한 방식이 이용될 수 있다. 이 경우, 각 제어신호가 전송되는 전송 경로가 독립적으로 구비되도록 함으로써 각 제어신호 간에 간섭이 근본적으로 방지되도록 할 수도 있을 것이다.
도 3a는 수술 로봇을 이루는 슬레이브 로봇의 외관 사시도이고, 도 3b는 케이싱 내에 내장되는 멀티 툴 모듈 및 구동부의 구조를 나타낸 도면이고, 도 3c는 도 3b에 도시한 “B” 부분(가이드 튜브(212)의 말단부)에서 복수의 툴과 하나의 내시경이 전개된 모습을 나타낸 도면이다.
도 3a에 도시한 바와 같이, 슬레이브 로봇(200)은 몸체(201), 복수의 링크 및 관절로 이루어지는 마운팅 암(202) 및 원통형의 케이싱(208)을 포함할 수 있다.
슬레이브 로봇(200)의 몸체(201)는 수술 작업을 수행하는 마운팅 암(202)을 설치 및 지지하기 위한 구성부로, 몸체(201)의 하단에는 슬레이브 로봇(200)의 위치 이동을 위한 복수의 캐스터(caster, 201a)가 장착된다. 각각의 캐스터(201a)에는 캐스터(201a)의 동작 상태를 변경하기 위한 레버(미도시)가 마련될 수 있다. 조작자는 이 레버의 위치를 조절하여 캐스터(201a)의 동작 상태를 변경시킬 수 있다. 캐스터(201a)의 동작 상태로는 제동(brake), 자유 이동(free swivel) 및 조향 고정(directional lock, swivel lock) 등을 들 수 있다.
슬레이브 로봇(200)의 마운팅 암(202)은 세 개의 링크(제 1 내지 제 3 링크, 206a~206c) 및 세 개의 관절(제 1 내지 제 3 관절, 204a~204c)을 포함하여 이루어진다.
마운팅 암(202)을 이루는 제 1 링크(206a)은 직선형의 기둥 형상을 가지며, 몸체(201)와 수직한 방향으로 마련된다.
마운팅 암(202)을 이루는 제 1 관절(204a)은 몸체(201)와 제 1 링크(206a)의 연결 부위에 마련된다. 제 1 관절(204a)은 x, y, z축 중에서 지정된 축을 따라 이동하는 미끄럼 관절(prismatic joint)로 구현할 수 있다. 제 1 관절(204a)은 환자의 체내로 삽입되는 가이드 튜브(212)에 대한 제한적인 동작 제어를 위한 RCM(Remote Center of Motion)의 x, y, z 좌표 조절을 위한 것이므로, 3자유도를 가질 수 있다. 구체적으로, 제 1 관절(204a)은 x축 병진 운동, y축 병진 운동 및 z축 병진 운동을 포함하는 3자유도를 가진다. 이를 위해 제 1 관절(204a)에는 x축 구동부(미도시), y축 구동부(미도시) 및 z축 구동부(미도시)가 마련될 수 있다.
제 1 링크(206a)의 선단에는 제 2 링크(206b)가 기계적으로 연결된다. 제 2 링크(206b)는 도 3a에 도시한 바와 같이, 곡선 형상을 가진다. 구체적으로, 제 2 링크(206b)는 원호의 일부와 같은 형상을 가진다.
제 2 관절(204b)은 제 1 링크(206a)와 제 2 링크(206b)의 연결 부위에 마련된다. 제 2 관절(204b)은 x, y, z축 중에서 지정된 축을 기준으로 회전하는 회전 관절(revolute joint)로 구현할 수 있다. 이러한 제 2 관절(204b)은 가이드 튜브(212) 등이 내장되는 케이싱(208)의 회전 운동을 위한 부분으로, 2 자유도를 가질 수 있다. 구체적으로, 제 2 관절(204b)은 케이싱(208)의 롤(roll) 방향 회전 및 피치(pitch) 방향 회전을 포함하는 2자유도를 가진다. 이를 위해 제 2 관절(204b)에는 롤 구동부(미도시) 및 피치 구동부(미도시)가 마련될 수 있다.
제 2 링크(206b)의 선단에는 제 3 링크(206c)가 기계적으로 연결된다. 제 3 링크(206c)는 도 3a에 도시된 바와 같이, 링(ring) 형상으로 형성된다. 제 3 링크(206c)의 상부에는 원통형의 케이싱(208)이 마련된다.
원통형의 케이싱(208) 내에는 마운팅 암(202)에 연결되는 가이드 튜브(212)와 그 내부에 마련되는 복수의 툴(214a, 214b) 및 내시경(216)으로 이루어지는 멀티 툴 모듈(210) 및 멀티 툴 모듈(210)을 이루는 구성 요소들(가이드 튜브, 복수의 툴 및 내시경)을 구동시키는 구동부(270)가 내장될 수 있다(도 3b 참조). 슬레이브 로봇(200)이 수술을 수행하지 않을 때에는 도 3a에 도시한 바와 같이, 멀티 툴 모듈(210) 즉, 내부에 복수의 툴(214a, 214b)과 내시경(216)을 포함하는 가이드 튜브(212)가 원통형의 케이싱(208) 내에 내장되어 있으므로, 가이드 튜브(212)가 외부로 노출되지 않는다. 이러한 가이드 튜브(212) 등이 내장된 케이싱(208)은 제 3 링크(206c)와 기계적으로 분리될 수 있도록 구현할 수 있다. 이와 같이, 가이드 튜브(212) 등이 내장되는 케이싱(208)이 제 3 링크(206c)로부터 분리되는 경우, 수술에 사용된 가이드 튜브(212)를 교체하거나 소독하는 것이 용이해진다.
제 3 관절(204c)은 제 2 링크(206b)와 제 3 링크(206c)의 연결 부위에 마련된다. 제 3 관절(204c)은 x, y, z축 중에서 지정된 축을 기준으로 회전하는 회전 관절(revolute joint)로 구현할 수 있다. 이러한 제 3 관절(204c)은 가이드 튜브(212) 등이 내장되는 케이싱(208)의 회전 운동을 위한 부분으로, 1자유도를 가질 수 있다. 구체적으로, 제 3 관절(204c)은 케이싱(208)의 요(yaw) 방향 회전을 포함하는 1자유도를 가진다. 이를 위해 제 3 관절(204c)에는 요 구동부(미도시)가 마련될 수 있다.
전술한 바와 같이, 슬레이브 로봇(200)이 수술을 수행하지 않을 때에는 원통형의 케이싱(208) 내에, 도 3b에 도시한 바와 같은 가이드 튜브(212) 및 그 내부에 마련되는 복수의 툴(214a, 214b)과 내시경(216)을 포함하여 이루어지는 멀티 툴 모듈(210) 그리고 멀티 툴 모듈(210)에 연결되어 멀티 툴 모듈(210)을 이루는 구성 요소들 각각을 구동시키기 위한 모터 등의 액추에이터를 포함하는 구동부(270)가 내장된다.
한편, 가이드 튜브(212)와 그 내부에 마련되는 복수의 툴(214a, 214b) 및 내시경(216)으로 이루어지는 멀티 툴 모듈(210)을 이용한 로봇 수술 과정은 크게 멀티 툴 모듈(210)의 삽입(insertion) 단계, 멀티 툴 모듈(210)의 위치 선정(positioning) 단계 및 멀티 툴 모듈(210)을 이용한 수술 작업(operation) 단계를 포함한다.
슬레이브 로봇(200)이 수술을 수행할 때에는 케이싱(208) 내에 내장되어 있던 멀티 툴 모듈(210), 좀 더 엄밀하게는 가이드 튜브(212)가 케이싱(208) 밖으로 나와 환자의 피부에 형성된 절개공(I)을 통해 체내로 삽입된다. 가이드 튜브(212)가 체내로 삽입되는 단계(insertion)에서는 도 3b에 도시된 “B” 부분에서와 같이 복수의 툴(214a, 214b)과 내시경(216)이 가이드 튜브(212)로부터 분기되어 나오기 전의 상태 즉, 복수의 툴(214a, 214b)과 내시경(216)이 가이드 튜브(212)의 내부 공간에 접혀 있는(folded) 상태에서의 멀티 툴 모듈(210)이 환자의 체내로 진입하게 된다.
체내로 삽입된 가이드 튜브(212)를 수술하고자 하는 부위(수술 부위)로 위치시키는 위치 선정(positioning) 단계를 거쳐 가이드 튜브(212)가 수술 부위에 접근하게 되면 도 3c에 도시한 바와 같이, 가이드 튜브(212)로부터 각각 말단부에 수술 작업을 위한 엔드 이펙터(218a, 218b)가 장착된 복수의 툴(214a, 214b)과 하나의 내시경(216)이 분기되어 나와 수술 작업을 수행하게 된다. 도 3c는 가이드 튜브(212)의 말단부(도 3b에 도시한 “B” 부분)로부터 두 개의 툴(제 1 및 제 2 툴, 214a, 214b)과 하나의 내시경(216)이 전개된 모습을 예시하고 있다.
개시된 발명은 도 3a 내지 도 3c에 도시한 바와 같이, 마운팅 암(202), 마운팅 암(202)에 연결 설치되는 가이드 튜브(212) 및 가이드 튜브(212) 내에 마련되며 수술 작업 시 가이드 튜브(212)로부터 분기되어 나오는 복수의 툴(214a, 214b) 및 하나의 내시경(216)을 포함하는 슬레이브 로봇(200)을 갖춘 수술 로봇에서, 각 구성 요소들 즉, 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 하나의 내시경(216)의 관절 공간(joint space)에서의 자유도의 합이 작업 공간(task space)에서의 자유도(작업에 필요한 자유도)의 합보다 큰 경우 즉, 수술 로봇(특히, 슬레이브 로봇)이 여유 자유도(redundancy)를 가지는 경우 이 여유 자유도를 활용하여 슬레이브 로봇(200)을 이루는 각 구성 요소들의 동작을 통합적으로 제어하는 방법에 관한 발명이다.
전술한 여유 자유도의 개념을 보다 자세하게 설명하기 위해, 먼저 도 3a 내지 도 3c에서 예시한 마운팅 암(202), 마운팅 암(202)에 연결 설치되는 가이드 튜브(212), 수술 작업 시 가이드 튜브(212)로부터 분기되어 나오는 두 개의 툴(214a, 214b) 및 하나의 내시경(216)을 포함하는 슬레이브 로봇(200)에서, 마운팅 암(202), 가이드 튜브(212), 두 개의 툴(214a, 214b) 및 하나의 내시경(216) 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어진다는 점을 전제한다. 또한 마운팅 암(202)과 가이드 튜브(212)가 서로 연동하여 동작하고, 가이드 튜브(212)와 각각의 툴(214a)(214b)이 서로 연동하여 동작하며, 가이드 튜브(212)와 하나의 내시경(216)이 서로 연동하여 동작하는 것으로 전제한다. 여기서, 마운팅 암(202)의 관절 공간에서의 자유도(a)를 6(x, y, z축 방향의 병진 자유도 3과 roll, pitch, yaw 방향의 회전 자유도 3의 합)으로, 가이드 튜브(212)의 관절 공간에서의 자유도(b)를 6(2개의 bending 자유도 2와 삽입 방향의 자유도 1과 roll 방향의 회전 자유도 1의 합)으로, 제 1 및 제 2 툴(214a, 214b) 각각의 관절 공간에서의 자유도(c, d)를 6으로, 내시경(216)의 관절 공간에서의 자유도(e)를 3(roll, pitch, yaw 방향의 회전 자유도 3)으로 구현하여 슬레이브 로봇(200)을 제작하는 경우, 전술한 구성 요소들을 모두 포함하는 슬레이브 로봇(200)의 관절 공간에서의 자유도(N)는 27이 된다(N=a+b+c+d+e=6+6+6+6+3=27).
한편, x축, y축, z축으로 이루어진 3차원 공간에서 복수의 관절로 이루어진 기구부(예: 툴 또는 내시경)가 임의의 작업을 수행하는데 필요한 작업 공간에서의 자유도는 x, y, z축 방향의 병진 자유도 3과 roll, pitch, yaw 방향의 회전 자유도 3의 합인 6이 된다.
도 3a 내지 도 3c에서 예시한 두 개의 툴(214a, 214b)과 하나의 내시경(216)을 포함하는 슬레이브 로봇(200)에서, 제 1 및 제 2 툴(214a, 214b) 각각의 작업 공간에서의 자유도(f, g) 즉 수술 작업을 위해 작업 공간에서 필요로 하는 자유도를 6이라 하고, 내시경(216)의 작업 공간에서의 자유도(h)를 3(roll, pitch, yaw 방향의 회전 자유도만 필요)이라 할 때, 두 개의 툴(214a, 214b)과 하나의 내시경(216)을 포함하는 슬레이브 로봇(200)의 작업 공간에서의 자유도(M)는 15가 된다(M= f+g+h=6+6+3=15).
다관절 로봇의 관절 공간에서의 자유도(N)가 작업 공간에서의 자유도(M)보다 클 때, 여유 자유도가 발생되었다고 하며, 앞서 예시한 슬레이브 로봇(200)의 관절 공간에서의 자유도(N=27)가 작업 공간에서의 자유도(M=15)보다 크기 때문에 예시한 슬레이브 로봇(200)은 여유 자유도를 가진 시스템으로 볼 수 있다. 개시된 발명은 이 여유 자유도를 활용하여 여러 가지 목적을 달성할 수 있도록 하는 슬레이브 로봇(200)을 이루는 각 구성 요소들 즉, 마운팅 암(202), 가이드 튜브(212), 가이드 튜브(212)로부터 분기되어 나오는 복수의 툴(214a, 214b) 및 내시경(216) 각각의 관절 공간에서의 해(solution)를 구하는 과정에 관한 것이다. 여기서, 슬레이브 로봇(200)을 이루는 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216) 각각의 관절 공간에서의 해란 수술 작업을 수행하기 위해 각 제어주기마다 산출되는 마운팅 암(202)을 이루는 복수의 관절 각각의 목표 회전 각도, 가이드 튜브(212)를 이루는 복수의 관절 각각의 목표 회전 각도, 복수의 툴(214a, 214b)을 이루는 복수의 관절 각각의 목표 회전 각도 및 내시경(216)을 이루는 복수의 관절 각각의 목표 회전 각도를 의미한다.
도 4는 수술 로봇의 제어 블록도이다.
도 4에 도시한 바와 같이, 수술 로봇은 마스터 장치(100A) 및 슬레이브 로봇(200A)을 포함하여 이루어진다.
본 실시예에서는 슬레이브 로봇(200A)을 이루는 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216) 각각이 복수의 링크 및 복수의 관절을 포함하여 이루어진다는 점을 전제한다. 또한 본 실시예에서는 마운팅 암(202)과 가이드 튜브(212)가 서로 연동하여 동작하고, 가이드 튜브(212)와 각각의 툴(214a)(214b)이 서로 연동하여 동작하며, 가이드 튜브(212)와 하나의 내시경(216)이 서로 연동하여 동작하는 것으로 전제한다. 아울러, 본 실시예에서는 슬레이브 로봇(200A)이 여유 자유도(redundancy)를 가지는 경우 즉, 슬레이브 로봇(200A)의 관절 공간에서의 자유도 N이 작업 공간에서의 자유도 M보다 큰 경우(N>M)를 전제한다.
마스터 장치(100A)는 위치/자세 검출부(120A), 속도 검출부(125A), 저장부(130A), 제어부(140A), 통신부(150A) 및 표시부(116A)를 포함할 수 있다.
위치/자세 검출부(120A)는 조작자에 의해 조작되는 마스터 조작기(112L, 112R)의 위치(position) 및 자세(방향, orientation)를 검출한다. 마스터 조작기(112L, 112R)가 6자유도를 갖도록 구현된 경우, 마스터 조작기(112L, 112R)의 위치 정보는 (x’, y’, z’)로 표현할 수 있고, 마스터 조작기(112L, 112R)의 자세 정보는 (α’, β’, γ’)로 표현할 수 있다. 위치/자세 검출부(120A)는 마스터 조작기(112L, 112R)에 연결되는 복수의 관절 각각에 장착되어 각 관절의 회전 각도를 검출하는 회전각 센서(미도시)와, 회전각 센서를 통해 검출된 각 관절의 회전 각도를 마스터 조작기(112L, 112R)의 정기구학 식에 대입하여 마스터 조작기(112L, 112R)의 3차원 공간상에서의 위치 및 자세 정보를 산출하는 연산 모듈로 이루어진다. 회전각 센서로는 인코더(encoder), 포텐셔미터(potentiometer) 등을 이용할 수 있다. 여기서는 회전각 센서와 연산 모듈로 이루어지는 위치/자세 검출부(120A)를 예로 들어 설명하였으나, 이외에도 마스터 조작기(112L, 112R)의 위치 및 자세에 대한 정보를 검출할 수 있는 장치라면 어떠한 장치라도 위치/자세 검출부(120A)로 사용 가능함은 물론이다.
속도 검출부(125A)는 마스터 조작기(112L, 112R)에 연결되는 복수의 관절 각각에 장착되어 마스터 조작기(112L, 112R)의 속도, 좀 더 자세하게는 마스터 조작기(112L, 112R)에 연결되는 각 관절의 회전 속도를 검출한다. 속도 검출부(125A)로는 타코미터(tachometer) 등을 이용할 수 있다. 본 실시예에서는 마스터 조작기(112L, 112R)의 속도를 속도 검출부(125A)를 이용하여 검출하는 경우를 예로 들어 설명하였으나, 별도의 속도 검출부(속도 센서)를 이용하지 않고, 위치/자세 검출부(120A)를 이루는 회전각 센서(예를 들어, 인코더)의 출력값을 미분하여 마스터 조작기(112L, 112R)의 속도를 산출하고, 산출된 속도 정보를 이용하는 것도 가능하다.
저장부(130A)는 슬레이브 로봇(200A)의 여유 자유도를 활용하여 관절 공간에서의 해 즉, 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 목표 회전 각도를 산출하는데 필요한 정보 및 알고리즘 등이 저장되는 메모리로, 저장부(130A) 내에는 마스터 장치(100A)의 마스터 조작기(112L, 112R)의 동작과 슬레이브 로봇(200A)의 말단부(복수의 툴 및 내시경)의 동작 간의 동작 스케일링(motion scaling) 시 적용되는 스케일링 팩터, 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 슬레이브 로봇(200A)의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 수술 작업을 이루는 복수의 동작에 대한 학습 결과 및 수술 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치 등이 저장된다.
또한 저장부(130A)는 수술 이전에 촬영된 엑스-레이(X-ray) 영상, 컴퓨터 단층촬영(CT) 영상 및 자기공명영상(MRI) 등의 다양한 참조 영상 등을 저장할 수 있다.
제어부(140A)는 수술 로봇의 전반적인 동작을 제어하기 위한 프로세서로, 제어부(140A)는 다시 변환부(141A), 여유 자유도 역기구학 해석부(142A) 및 영상 처리부(147A)를 포함한다.
변환부(141A)는 위치/자세 검출부(120A)를 통해 검출된 마스터 조작기(112L, 112R)의 위치 및 자세 정보 (x’, y’, z’, α’, β’, γ’)를 슬레이브 로봇(200A)의 작업 공간에서의 모션 명령 정보 즉, 조작자가 원하는 슬레이브 로봇(200A)의 말단부(복수의 툴의 각 말단부 및 내시경의 말단부)의 위치 및 자세 정보 (x, y, z, α, β, γ)로 변환한다. 변환부(141A)는 마스터 장치(100A)의 마스터 조작기(112L, 112R)의 동작과 슬레이브 로봇(200A)의 말단부(복수의 툴 및 내시경)의 동작 간의 동작 스케일링(motion scaling)을 통해 마스터 조작기(112L, 112R)의 위치 및 자세 정보 (x’, y’, z’, α’, β’, γ’)를 슬레이브 로봇(200A)의 작업 공간에서의 모션 명령 정보 (x, y, z, α, β, γ)로 변환할 수 있다. 즉, 변환부(141A)는 마스터 조작기(112L, 112R)의 위치 및 자세 정보 (x’, y’, z’, α’, β’, γ’)에 동작 스케일링 시 적용되는 스케일링 팩터(scaing factor)를 곱하여 슬레이브 로봇(200A)의 작업 공간에서의 모션 명령 정보 (x, y, z, α, β, γ)를 산출할 수 있다.
여유 자유도 역기구학 해석부(142A)는 슬레이브 로봇(200A)의 여유 자유도를 활용하여 슬레이브 로봇(200A)을 이루는 각 구성 요소들(마운팅 암, 가이드 튜브, 복수의 툴 및 내시경)의 동작을 통합적으로 제어하기 위한 제어신호(각 구성 요소를 이루는 복수의 관절 각각의 목표 회전 각도)를 생성하는 구성부로, 여유 자유도 역기구학 해석부(142A)는 다시 자코비언 행렬 산출부(144A), 목적 함수 산출부(145A) 및 여유 자유도 활용부(146A)를 포함하여 이루어진다.
여유 자유도 역기구학 해석부(142A)를 이루는 각각의 구성부에 대한 상세한 설명에 앞서, 이하에서는 먼저 정기구학 및 역기구학의 개념과 여유 자유도를 가지는 슬레이브 로봇(200A)에서의 역기구학 해석에 대해 설명하기로 한다.
일반적으로, 로봇 시스템에서의 정기구학(Forward Kinematics)은 일련의 관절각(관절 변수, q)이 주어졌을 때 로봇 말단부의 직교 좌표계 상의 위치 및 자세(작업 변수, p)를 구하는 문제로, 역기구학에 비해 상대적으로 간단하며, 균질변환(Homogeneous Transform)을 이용하여 정기구학의 해를 구할 수 있다. 한편, 역기구학(Inverse kinematics)은 정기구학과 반대로 로봇 말단부의 직표 좌표계 상의 위치 및 자세(작업 변수, p)이 주어졌을 때 관절각들(관절 변수, q)을 구하는 문제 즉, 작업 공간(task space)에서 정의된 작업을 관절 공간(joint space)의 움직임으로 표현하는 것으로, 기구학적 방정식이 초월함수로 이루어진 비선형 방정식이므로 정방향 기구학에 비해 해를 구하기가 상대적으로 어렵거나 가능하지 않을 수도 있다. 또한 해가 존재하지 않을 수도 있거나 여러 가지 해가 존재할 수도 있다.
앞서 전제한 바와 같이, 여유 자유도를 가지는 슬레이브 로봇(200A)의 경우 자코비언의 의사 역행렬을 이용하여 수치해석적으로 역기구학 해석을 할 수 있다. 이하에서는 여유 자유도의 역기구학 해석에 대해 보다 상세하게 설명하기로 한다.
역기구학은 매니퓰레이터 말단부의 위치 및 자세(여기서, 자세는 Euler angles로 표현됨)가 주어질 경우 이에 대응하는 관절의 회전각을 결정하는 과정이다. 위치 수준에서는 역기구학 해를 구하기 위한 특별한 방법이 존재하지 않으며 주어진 로봇의 관절 구조에 따라 기하적 관계식을 이용하거나 직관에 의존하여 해를 구해야 한다. 관절의 수가 많은 수술 로봇이나 휴머노이드 로봇과 같은 경우에는 위치 수준에서 역기구학 해를 찾기가 불가능할 수 있다. 이런 경우에는 속도 수준에서의 자코비언 관계식을 이용하여 실시간으로 역행렬을 산출하고 각 관절의 속도를 구한 후 이를 수치 적분하는 방식으로 역기구학 해를 결정하게 된다.
전술한 슬레이브 로봇(200A)과 같이 여유 자유도를 가지는 시스템에서, 로봇 말단부(복수의 툴의 각 말단부 및 내시경의 말단부)의 직교 좌표계 상의 위치 및 자세 즉, 작업 변수(task variable, p)와 관절 공간에서의 일련의 관절각 즉, 관절 변수(joint variable, q) 사이의 관계는 아래의 [수학식 1]과 같이 나타낼 수 있다.
[수학식 1]
Figure 112013022854065-pat00013
여기서,
Figure 112013022854065-pat00014
,
Figure 112013022854065-pat00015
,
Figure 112013022854065-pat00016
이고, N은 여유 자유도를 가지는 슬레이브 로봇(200A)의 관절 공간에서의 자유도를 나타내고, M은 여유 자유도를 가지는 슬레이브 로봇(200A)의 작업 공간에서의 자유도를 나타낸다.
이때,
Figure 112013022854065-pat00017
는 작업 변수 p를 M×1 행렬로 나타낼 수 있다는 것을 의미한다. 예를 들어, 작업 공간에서 6자유도를 가지는 제 1 툴(214a)의 말단부의 위치 정보 (x1,y1,z1)및 자세 정보 (α1, β1, γ1)와, 작업 공간에서 6자유도를 가지는 제 2 툴(214b)의 말단부의 위치 정보 (x2,y2,z2)및 자세 정보 (α2, β2, γ2)와, 작업 공간에서 3자유도를 가지는 내시경(216)의 말단부의 자세 정보 (α3, β3, γ3)를 작업 변수 p라 할 때(작업 공간에서의 자유도 M=6+6+3=15), 작업 변수 p는 아래와 같은 15×1 행렬로 나타낼 수 있다.
Figure 112013022854065-pat00018
또한
Figure 112013022854065-pat00019
는 관절 변수 q를 N×1 행렬로 나타낼 수 있다는 것을 의미한다. 예를 들어, 관절 공간에서 6자유도를 가지는 마운팅 암(202)을 이루는 6개의 관절의 회전 각도 정보(q1,q2,q3,q4,q5,q6)와, 관절 공간에서 6자유도를 가지는 가이드 튜브(212)를 이루는 6개의 관절의 회전 각도 정보(q7,q8,q9,q10,q11,q12)와, 관절 공간에서 6자유도를 가지는 제 1 툴(214a)를 이루는 6개의 관절의 회전 각도 정보(q13,q14,q15,q16,q17,q18)와, 관절 공간에서 6자유도를 가지는 제 2 툴(214b)를 이루는 6개의 관절의 회전 각도 정보(q19,q20,q21,q22,q23,q24)와, 관절 공간에서 6자유도를 가지는 내시경(216)를 이루는 3개의 관절의 회전 각도 정보(q25,q26,q27)를 관절 변수 q라 할 때(관절 공간에서의 자유도 N=6+6+6+6+3=27), 관절 변수 q는 아래와 같은 27×1 행렬로 나타낼 수 있다.
Figure 112013022854065-pat00020
전술한 [수학식 1]을 시간에 관해서 미분하면 아래의 [수학식 2]와 같은 미분 기구학 방정식(differential kinematics equation)을 산출할 수 있다.
[수학식 2]
Figure 112013022854065-pat00021
여기서, J(q)는 f(q)의 자코비언 행렬(Jacobian Matrix)이다.
역기구학 해석을 통해 구하고자 하는 것은 관절 변수 q이므로, 전술한 [수학식 2]를 관절의 속도 벡터
Figure 112013022854065-pat00022
에 관한 식으로 정리하면 아래의 [수학식 3]과 같이 나타낼 수 있다.
[수학식 3]
Figure 112013022854065-pat00023
Figure 112013022854065-pat00024
관절 공간에서의 자유도 N이 작업 공간에서의 자유도 M과 동일한 경우(N=M) 즉, 시스템이 여유 자유도를 갖지 않는 경우에는 자코비언 행렬 J(q)의 역행렬 J-1(q)을 산출하고, 이를 [수학식 3]에 대입하여 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00025
의 원소들 즉,
Figure 112013022854065-pat00026
,
Figure 112013022854065-pat00027
, …)를 산출한 후, 이를 적분하여 각 관절의 회전각(관절 변수 q의 원소들 즉, q1,q2,…)를 산출할 수 있다.
한편, 관절 공간에서의 자유도 N이 작업 공간에서의 자유도 M보다 큰 경우(N>M) 즉, 전술한 슬레이브 로봇(200A)과 같이 시스템이 여유 자유도를 가지는 경우에는 자코비언 행렬 J(q)의 열의 수가 행의 수보다 많아 자코비언 행렬의 역행렬 J- 1(q)를 산출할 수 없으므로 무한한 역기구학 해가 존재하게 된다.
따라서, 시스템이 여유 자유도를 가지는 경우에는 자코비언 행렬 J(q)의 의사 역행렬(Pseudo-inverse Matrix) J#(q)을 이용하여 역기구학 해를 산출한다. 자코비언 행렬 J(q)의 의사 역행렬 J#(q)을 이용하여 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00028
)를 산출하는 식은 아래의 [수학식 4]와 같이 나타낼 수 있고, 자코비언 행렬 J(q)의 의사 역행렬 J#(q)은 아래의 [수학식 5]와 같이 나타낼 수 있다.
[수학식 4]
Figure 112013022854065-pat00029
[수학식 5]
Figure 112013022854065-pat00030
여기서, In은 n×n 단위 행렬(unit matrix, identity matrix)이고, r은 임의의 벡터이며, (In-J#J)는 벡터 r의 영공간(null space)이다.
여유 자유도를 활용하기 위해 임의의 벡터 r(q)을 정의하는 다양한 방법이 있는데, 예를 들어 아래의 [수학식 6]과 같이 정의할 수 있다.
[수학식 6]
Figure 112013022854065-pat00031
여기서, k는 상수이고 w는 목적 함수(performance index) 또는 평가 함수(evaluation function)이다.
목적 함수(w)는 시스템의 목적(본 실시예에서는 툴의 활동 영역 증가, 툴과 주변 장애물 간의 충돌 가능성 최소화 등)을 모든 조건을 고려하여 정량적으로 설정한 것으로, 시스템의 최적화 문제나 목적 달성 상황의 정량적인 평가에 있어 중요한 기준이 된다. 즉, 목적 함수(w)는 제어계와 공업 시스템의 설계·조작·운전에서, 그 시스템의 적부를 정량적으로 평가하기 위해 설정되는 함수(시스템을 평가하는 함수)로, 시스템의 최적 설계나 최적 제어를 정량적으로 행하기 위해서는 시스템 모델을 만족하는 해(본 실시예에서는 관절 공간에서의 해, 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 복수의 관절 각각의 목표 회전 각도 벡터 q) 중에서 설정된 목적 함수값을 최대 또는 최소로 하는 해(복수의 관절 각각의 목표 회전 각도)를 찾아내야 한다.
본 실시예에서는 목적 함수(w)를 최소화하는 관절 공간에서의 해를 찾아내면 슬레이브 로봇(200A)의 여유 자유도를 활용한 시스템(수술 로봇)의 최적 제어를 행할 수 있게 된다. 이러한 목적 함수(w, 이하에서는 w를 시스템 전체의 목적 함수라고 정의함)는 복수의 목적 함수(w1~wn,이하에서는 w1~wn을 개별 목적 함수라고 정의함)의 가중합(weighted sum)으로 나타낼 수 있다. 개별 목적 함수의 예로는 각각의 툴(214a)(214b)과 기구적 관절 한계(joint limit) 간의 거리의 역수(逆數, inverse number), 각각의 툴(214a)(214b)과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합(joint torque square sum), 각각의 툴(214a)(214b)과 주변 장애물 간의 거리의 역수 등을 들 수 있다.
이하에서는 도 5 내지 도 9를 참조하여 개시된 발명에 의해 달성하고자 하는 다양한 목적들(또는 개시된 발명에 의해 달성되는 다양한 효과들)에 대해 보다 상세하게 설명하기로 한다.
도 5는 개시된 발명에 의해 달성되는 툴(내시경 포함)의 활동 영역(workspace) 확장을 설명하기 위한 개념도이다.
도 5의 좌측에 도시한 그림은 기존 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있고, 도 5의 우측에 도시한 그림은 개시된 발명의 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있다.
기존에는 유연성이 없는(rigid, inflexible) 고정식 가이드 튜브 또는 막대(rod)형 가이드 튜브를 사용하여 수술 작업을 수행하거나, 도 5의 좌측에 도시한 바와 같이 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(22)를 사용하여 수술 작업을 수행하는 경우에도 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되며 그 말단부에 엔드 이펙터(28a)(28b)가 장착되는 각각의 툴(제 1 툴, 24a)(제 2 툴, 24b)이 독립적으로 동작하고, 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되는 내시경(26)이 독립적으로 동작하기 때문에, 수술 작업의 수행 도중에 각각의 툴(24a)(24b) 및/또는 내시경(216)이 관절 한계(joint limit)에 도달하거나 특이 자세(singular pose)에 해당하여 복수의 툴(24a, 24b)을 원하는 위치나 자세로 움직일 수 없는 상태(lock)가 발생하는 문제점이 있다. 즉, 각각의 툴(24a)(24b)이 및/또는 내시경(216)이 관절 한계에 도달하거나 특이 자세에 해당하면 툴의 활동 영역의 한계에 의해 구현이 불가능한 동작이 발생하게 된다. 도 5의 좌측에서 화살표로 표시한 지점이 제 1 툴(24a) 및 제 2 툴(24b)의 목표 자세(desired pose)이고, 점선으로 표시한 것이 제 2 툴(24b)을 그 목표 자세로 이동시킨 경우를 도시한 것이라고 할 때, 제 2 툴(24b)이 관절 한계에 도달하거나 특이 자세에 해당하는 경우에는 제 2 툴(24b)를 목표 자세로 움직일 수 없게 된다(제 2 툴을 점선으로 표시한 영역으로 움직일 수 없음).
한편, 개시된 발명에서는 도 5의 우측에 도시한 바와 같이, 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(212)를 사용하여 수술 작업을 수행하고, 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되며 그 말단부에 엔드 이펙터(218a)(218b)가 장착되는 각각의 툴(제 1 툴, 214a)(제 2 툴, 214b)이 서로 연동하여 동작하고 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되는 내시경(216)이 서로 연동하여 동작하며, 슬레이브 로봇(200A)의 여유 자유도를 활용하여 슬레이브 로봇(200A)을 이루는 각 구성 요소들의 동작을 통합적으로 제어하 기 때문에, 기존 가이드 튜브와 툴의 제어 방식(독립적인 동작 제어)을 적용할 때 툴(내시경 포함)의 활동 영역의 한계에 의해 구현이 불가능한 동작도 수행할 수 있게 된다. 도 5의 우측에서 화살표로 표시한 지점을 제 1 툴(214a) 및 제 2 툴(214b)의 목표 자세라 할 때, 개시된 발명에서는 가이드 튜브(212)와 제 2 툴(214b)이 서로 연동하여 동작하기 때문에 제 2 툴(214b)을 목표 자세로 이동시키기 위해 제 2 툴(214b)이 목표 자세에 해당하는 방향(우측 방향)으로 움직이도록 제어함과 동시에 가이드 튜브(212) 역시 제 2 툴(214b)이 목표 자세에 쉽게 도달할 수 있도록 하는 방향으로 움직이게끔 제어한다(가이드 튜브가 제 2 툴의 목표 자세에 해당하는 방향인 우측 방향으로 휘어짐).
도 5를 참조하여 설명한 툴의 활동 영역 증가라는 개별 목적을 달성하기 위한 개별 목적 함수를 w1라 할 때, 개별 목적 함수 w1은 각각의 툴(214a)(214b)과 기구적 관절 한계 간의 거리 또는 내시경(216)과 기구적 관절 한계 간의 거리(d1)의 역수(1/d1)로 정의하거나(w1=1/d1),각각의 툴(214a)(214b)과 특이 자세 간의 거리 또는 내시경(216)과 특이 자세 간의 거리(d2)의 역수(1/d2)로 정의할 수 있다(w1=1/d1).또한 개별 목적 함수 w1을 각각의 툴(214a)(214b)과 기구적 관절 한계 간의 거리의 역수(1/d1)와 각각의 툴(214a)(214b)과 특이 자세 간의 거리의 역수(1/d2)의 단순합이나 가중합으로 정의하는 것도 가능하다. 이때, 각각의 툴(214a)(214b)과 기구적 관절 한계 간의 거리(d1)또는 각각의 툴(214a)(214b)과 특이 자세 간의 거리(d2)를 최대화할 때 툴의 활동 영역을 최대로 확장시킬 수 있다. 이를 개별 목적 함수 w1의 관점에서 보면, 개별 목적 함수 w1를 최소화할 때 툴의 활동 영역을 최대로 확장시킬 수 있다.
도 6은 개시된 발명에 의해 달성되는 툴(내시경 포함)의 관절별 필요 강성 최소화를 설명하기 위한 개념도이다.
도 6의 상측에 도시한 그림은 기존 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있고, 도 6의 하측에 도시한 그림은 개시된 발명의 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있다.
기존에는 유연성이 없는(rigid, inflexible) 고정식 가이드 튜브 또는 막대(rod)형 가이드 튜브를 사용하여 수술 작업을 수행하거나, 도 6의 상측에 도시한 바와 같이 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(22)를 사용하여 수술 작업을 수행하는 경우에도 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되며 그 말단부에 엔드 이펙터(28a)(28b)가 장착되는 각각의 툴(제 1 툴, 24a)(제 2 툴, 24b)이 독립적으로 동작하고 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되는 내시경(26)이 독립적으로 동작하기 때문에, 수술 작업의 수행 도중에 각각의 툴(24a)(24b) 및 내시경(26)을 이루는 복수의 관절들 중 일부 관절(들)에 과도한 페이로드(payload)가 인가되어 복수의 툴(24a, 24b) 및 내시경(26)을 이루는 각 관절이 필요로 하는 강성(관절별 필요 강성)이 증가하는 문제점이 있다. 도 6의 상측에 도시한 원통 형상의 물체를 복수의 툴(24a, 24b) 및 내시경(26)에 인가되는 페이로드라 할 때, 도 6의 상측에서는 이 페이로드가 제 2 툴(24b)의 말단부에 인가되고 있기 때문에 복수의 툴(24a, 24b) 및 내시경(26)을 이루는 각 관절별 필요 강성이 증가하게 된다.
한편, 개시된 발명에서는 도 6의 하측에 도시한 바와 같이, 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(212)를 사용하여 수술 작업을 수행하고, 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되며 그 말단부에 엔드 이펙터(218a)(218b)가 장착되는 각각의 툴(제 1 툴, 214a)(제 2 툴, 214b)이 서로 연동하여 동작하고 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되는 내시경(216)이 서로 연동하여 동작하며, 슬레이브 로봇(200A)의 여유 자유도를 활용하여 슬레이브 로봇(200A)을 이루는 각 구성 요소들의 동작을 통합적으로 제어하기 때문에, 페이로드의 배분을 통해 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절별 필요 강성을 감소시킬 수 있게 된다.
도 6을 참조하여 설명한 툴의 관절별 필요 강성 최소화라는 개별 목적을 달성하기 위한 개별 목적 함수를 w2라 할 때, 개별 목적 함수 w2는복수의툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 토크 제곱(τ1 2, τ2 2, τ3 2,…)의 합(joint torque square sum)으로 정의할 수 있다(w21 22 23 2+…).이때, 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 토크 제곱(τ1 2, τ2 2, τ3 2,…)의 합 즉, 개별 목적 함수 w2를 최소화할 때 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절별 필요 강성을 최소화시킬 수 있다.
도 7은 개시된 발명에 의해 달성되는 툴(내시경 포함)과 주변 장애물 간의 충돌 가능성 최소화를 설명하기 위한 개념도이다.
도 7의 좌측에 도시한 그림은 기존 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있고, 도 7의 우측에 도시한 그림은 개시된 발명의 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있다.
기존에는 유연성이 없는(rigid, inflexible) 고정식 가이드 튜브 또는 막대(rod)형 가이드 튜브를 사용하여 수술 작업을 수행하거나, 도 7의 좌측에 도시한 바와 같이 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(22)를 사용하여 수술 작업을 수행하는 경우에도 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되며 그 말단부에 엔드 이펙터(28a)(28b)가 장착되는 각각의 툴(제 1 툴, 24a)(제 2 툴, 24b)이 독립적으로 동작하고 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되는 내시경(26)이 독립적으로 동작하기 때문에, 수술 작업의 수행 도중에 각각의 툴(24a)(24b) 및/또는 내시경(26)이 목표 자세로 움직이기 위해 주변 장애물(인체 조직이나 다른 툴)과의 충돌이 불가피해지는 문제점이 있다. 도 7의 좌측에서 제 2 툴(24b)에 장착된 엔드 이펙터(28b)가 향하는 방향을 목표 자세라 할 때, 제 2 툴(24b)이 목표 자세로 이동하기 위해서는 주변 장애물과의 충돌을 수반하게 된다.
한편, 개시된 발명에서는 도 7의 우측에 도시한 바와 같이, 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(212)를 사용하여 수술 작업을 수행하고, 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되며 그 말단부에 엔드 이펙터(218a)(218b)가 장착되는 각각의 툴(제 1 툴, 214a)(제 2 툴, 214b)이 서로 연동하여 동작하고 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되는 내시경(216)이 서로 연동하여 동작하며, 슬레이브 로봇(200A)의 여유 자유도를 활용하여 슬레이브 로봇(200A)을 이루는 각 구성 요소들의 동작을 통합적으로 제어하기 때문에, 각각의 툴(214a)(214b)과 주변 장애물 간의 충돌 및/또는 내시경(218)과 주변 장애물 간의 충돌을 회피하거나, 주변 장애물과의 충돌 가능성을 감소시킬 수 있게 된다. 도 7의 우측에서 제 2 툴(214b)에 장착된 엔드 이펙터(218b)가 향하는 방향을 목표 자세라 할 때, 개시된 발명에서는 가이드 튜브(212)와 제 2 툴(214b)이 서로 연동하여 동작하기 때문에 제 2 툴(214b)과 주변 장애물 간의 충돌을 회피하기 위해 제 2 툴(214b)이 주변 장애물로부터 멀어지는 방향(좌측 방향)으로 움직이도록 제어함과 동시에 가이드 튜브(212) 역시 제 2 툴(214b)이 주변 장애물로부터 쉽게 멀어질 수 있도록 하는 방향으로 움직이게끔 제어한다(가이드 튜브가 제 2 툴과 주변 장애물 간의 충돌을 방지할 수 있도록 S자 형상으로 휘어짐).
도 7을 참조하여 설명한 툴과 주변 장애물 간의 충돌 가능성 최소화라는 개별 목적을 달성하기 위한 개별 목적 함수를 w3라 할 때, 개별 목적 함수 w3은각각의툴(214a)(214b)과 주변 장애물 간의 거리 또는 내시경(216)과 주변 장애물 간의 거리(d3)의 역수(1/d3)로 정의할 수 있다(w3=1/d3).이때, 각각의 툴(214a)(214b)과 주변 장애물 간의 거리 또는 내시경(216)과 주변 장애물 간의 거리(d3)를 최대화할 때 툴과 주변 장애물 간의 충돌 가능성을 최소화시킬 수 있다. 이를 개별 목적 함수 w3의 관점에서 보면, 개별 목적 함수 w3을 최소화할 때 툴과 주변 장애물 간의 충돌 가능성을 최소화시킬 수 있다.
도 8은 개시된 발명에 의해 달성되는 툴의 필요 자유도 최소화를 설명하기 위한 개념도이다.
도 8의 상측에 도시한 그림은 기존 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있고, 도 8의 하측에 도시한 그림은 개시된 발명의 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있다.
기존에는 유연성이 없는(rigid, inflexible) 고정식 가이드 튜브 또는 막대(rod)형 가이드 튜브를 사용하여 수술 작업을 수행하거나, 도 8의 상측에 도시한 바와 같이 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(22)를 사용하여 수술 작업을 수행하는 경우에도 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되며 그 말단부에 엔드 이펙터(28a)(28b)가 장착되는 각각의 툴(제 1 툴, 24a)(제 2 툴, 24b)이 독립적으로 동작하고 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되는 내시경(26)이 독립적으로 동작하기 때문에, 수술 작업을 수행하기 위해서는 각각의 툴(24a)(24b) 및 내시경(26)이 모두 6자유도를 가지도록 구현될 필요가 있다.
한편, 개시된 발명에서는 도 8의 하측에 도시한 바와 같이, 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(212)를 사용하여 수술 작업을 수행하고, 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되며 그 말단부에 엔드 이펙터(218a)(218b)가 장착되는 각각의 툴(제 1 툴, 214a)(제 2 툴, 214b)이 서로 연동하여 동작하고 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되는 내시경(216)이 서로 연동하여 동작하며, 슬레이브 로봇(200)의 근위부 즉, 가이드 튜브(212) 및 가이드 튜브(212)가 연결 설치되는 마운팅 암(202)의 자유도로 인해 발생하는 여유 자유도를 활용하여 슬레이브 로봇(200)을 이루는 각 구성 요소들의 동작을 통합적으로 제어하기 때문에, 6자유도 미만의 자유도(예: 4자유도)를 가지도록 구현된 각각의 툴(214a)(214b) 및 내시경(216)을 통해서도 6자유도의 동작을 수행할 수 있게 된다.
도 9는 개시된 발명에 의해 달성되는 복합적인 작업 수행을 설명하기 위한 개념도이다.
도 9의 좌측에 도시한 그림은 기존 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있고, 도 9의 우측에 도시한 그림은 개시된 발명의 툴 제어 방식에 따라 수술 작업을 수행하는 모습을 나타내고 있다.
기존에는 유연성이 없는(rigid, inflexible) 고정식 가이드 튜브 또는 막대(rod)형 가이드 튜브를 사용하여 수술 작업을 수행하거나, 도 9의 좌측에 도시한 바와 같이 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(22)를 사용하여 수술 작업을 수행하는 경우에도 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되며 그 말단부에 엔드 이펙터(28a)(28b)가 장착되는 각각의 툴(제 1 툴, 24a)(제 2 툴, 24b)이 독립적으로 동작하고 가이드 튜브(22)와 가이드 튜브(22)로부터 전개되는 내시경(26)이 독립적으로 동작하기 때문에, 각각의 툴(24a)(24b)을 통해 수행되는 수술 작업은 단순한 작업(예: 건네주기(passing) 및 러닝(running))에 국한되는 문제점이 있다.
한편, 개시된 발명에서는 도 9의 우측에 도시한 바와 같이, 유연성이 있고(flexible) 다자유도를 가지는 가이드 튜브(212)를 사용하여 수술 작업을 수행하고, 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되며 그 말단부에 엔드 이펙터(218a)(218b)가 장착되는 각각의 툴(제 1 툴, 214a)(제 2 툴, 214b)이 서로 연동하여 동작하고 가이드 튜브(212)와 가이드 튜브(212)로부터 전개되는 내시경(216)이 서로 연동하여 동작하며, 슬레이브 로봇(200A)의 여유 자유도를 활용하여 슬레이브 로봇(200A)을 이루는 각 구성 요소들의 동작을 통합적으로 제어하기 때문에, 툴의 활동 영역 확장(도 5 참조), 툴의 관절별 필요 강성 최소화(도 6 참조) 및 툴과 주변 장애물 간의 충돌 가능성 최소화(도 7 참조)를 달성할 수 있고 이러한 다양한 개별 목적들을 모두 조합함으로써, 기존 툴 제어 방식으로는 불가능한 복합적인 작업(예: auto-suturing)을 수행할 수 있게 된다.
도 9를 참조하여 설명한 복합적인 작업 수행이라는 시스템 전체의 목적을 달성하기 위한 시스템 전체의 목적 함수를 w라 할 때, 시스템 전체의 목적 함수 w는앞서도 5 내지 도 7과 관련된 설명에서 전술한 복수의 개별 목적 함수(w1,w2,w3)의 가중합(weighted sum)으로 정의할 수 있다(w=aw1+bw2+cw3).즉, 시스템 전체의 목적 함수 w는 각각의 툴(214a)(214b)과 기구적 관절 한계 간의 거리 또는 내시경(216)과 기구적 관절 한계 간의 거리(d1)의 역수(1/d1)로 정의되는 개별 목적 함수 w1과, 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 토크 제곱(τ1 2, τ2 2, τ3 2,…)의 합(τ1 22 23 2+…)으로 정의되는 개별 목적 함수 w2와, 각각의 툴(214a)(214b)과 주변 장애물 간의 거리 또는 내시경(216)과 주변 장애물 간의 거리(d3)의 역수(1/d3)로 정의되는 개별 목적 함수 w3의 가중합으로 나타낼 수 있다. 이때, 시스템 전체의 목적 함수 w(w=aw1+bw2+cw3)는 시간의 흐름에 따라 변화하게 된다. 즉, 슬레이브 로봇(200)이 수행하는 수술 작업이 어떤 것인지에 따라 각 개별 목적함수에 곱해지는 가중치의 값이 달라진다. 예를 들어, 슬레이브 로봇(200)이 수행하는 수술 작업이 배관 삽입(cannulation)인 경우 툴의 활동 영역 확장이나 툴의 관절별 필요 강성 최소화라는 개별 목적보다는 툴과 주변 장애물 간의 충돌 가능성 최소화라는 개별 목적의 중요성이 더 크기 때문에, 툴과 주변 장애물 간의 충돌 가능성 최소화라는 개별 목적을 달성하기 위한 개별 목적 함수 w3에 곱해지는 가중치 c가 다른 개별 목적 함수 w1및 w2에 각각 곱해지는 가중치 a 및 b보다 더 큰 값으로 결정된다.
다시 도 4에 대한 설명으로 돌아와, 여유 자유도 역기구학 해석부(142A)를 이루는 각각의 구성부에 대해 상세하게 설명하기로 한다.
자코비언 행렬 산출부(144A)는 작업 변수(p)와 관절 변수(q) 사이의 관계를 나타낸 [수학식 1] 즉,
Figure 112013022854065-pat00032
을 시간에 관해 미분하여 획득하는 [수학식 2] 즉, 미분 기구학 방정식
Figure 112013022854065-pat00033
에서 관절의 속도 벡터
Figure 112013022854065-pat00034
에 곱해지는 자코비언 행렬 J(q)를 산출한다. 이때, 자코비언 행렬 산출부(144A)는자코비언행렬을산출하기위한알고리즘에슬레이브로봇(200A)의 기구학적 구조에 관한 정보들(예: 관절과 관절 사이를 연결하는 링크의 길이 정보 등)을 입력하여 f(q)의 자코비언 행렬 J(q)를 산출한다.
목적 함수 산출부(145A)는 여유 자유도를 가지는 슬레이브 로봇(200A)에서 자코비언 행렬 J(q)의 의사 역행렬 J#(q)을 이용하여 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00035
)를 산출하는 [수학식 4] 즉,
Figure 112013022854065-pat00036
에 기재된 임의의 벡터 r(q)를 표현하는 [수학식 6] 즉,
Figure 112013022854065-pat00037
에 기재된 목적 함수 w를 산출한다. 이러한 목적 함수(w, 시스템 전체의 목적 함수)는 복수의 개별 목적 함수(w1~wn)의 가중합(weighted sum)으로 나타낼 수 있다(w=aw1+bw2+cw3 +…). 개별 목적 함수의 예로는 각각의 툴(214a)(214b)과 기구적 관절 한계 간의 거리의 역수, 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 토크 제곱의 합, 각각의 툴(214a)(214b)과 주변 장애물 간의 거리의 역수 등을 들 수 있다. 이때, 시스템 전체의 목적 함수 w는 시간의 흐름에 따라 변화하게 된다. 즉, 슬레이브 로봇(200)이 수행하는 수술 작업이 어떤 것인지에 따라 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)가 달라진다. 목적 함수 산출부(145A)는 슬레이브 로봇(200)이 수행하는 수술 작업이 어떤 것인지에 따라 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)를 결정한다. 목적 함수 산출부(145A)는 위치 검출부(120A) 및 속도 검출부(125A)를 통해 검출된 마스터 조작기(112L, 112R)의 동작에 관한 정보(마스터 조작기의 위치 정보 및 속도 정보) 및 저장부(130A)에 기저장된 수술 작업을 이루는 복수의 동작에 대한 학습 결과를 이용하여 조작자가 수행하고자 하는 수술 작업을 예측한다. 여기서, 수술 작업은 봉합(suturing), 건네주기(passing), 러닝(running) 및 배관 삽입(cannulation) 중 어느 하나이고, 수술 작업을 이루는 복수의 동작은 오리엔트(orient), 밀기(push) 및 당기기(pull) 중 적어도 하나를 포함한다. 이를 통해, 목적 함수 산출부(144A)는 슬레이브 로봇(200)이 수행하는 수술 작업이 어떤 것인지 판단하고, 그 판단 결과에 기초하여 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)를 결정한 후, 결정된 각 가중치를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출한다.
여유 자유도 활용부(146A)는 시스템 전체의 목적 함수 w를 최소화하는 관절 공간에서의 해 즉, 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 목표 회전 각도(q)를 산출한다. 여유 자유도 활용부(146A)는 목적 함수 산출부(144A)에서 산출된 목적 함수 w를 전술한 [수학식 6]에 대입하고, 목적 함수 w가 대입된 [수학식 6]을 전술한 [수학식 4]에 대입한 후, 목적 함수 w를 최소화하는 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00038
)를 산출한다. 여유 자유도 활용부(146A)는 산출된 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00039
)를 적분하여 최종적인 관절 공간에서의 해인 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 목표 회전 각도(q)를 산출하게 된다.
영상 처리부(147A)는 슬레이브 로봇(200A)의 영상 정보 획득부(220A),예를 들어 내시경(216) 및/또는 초음파 프로브(미도시)으로부터 입력된 영상을 화상 이미지로 출력하기 위해 입력된 영상에 대한 처리를 수행한다. 여기서, 영상 처리의 예로는 촬영된 영상의 확대, 축소, 회전, 이동, 편집 및 필터링 등을 들 수 있다.
통신부(150A)는 유선 통신망 또는 무선 통신망을 통해 제어부(140A) 및 슬레이브 로봇(200A)의 통신부(250A)에 연결되어 데이터를 송수신하는 통신 회로로, 여유 자유도 활용부(146A)를 통해 생성된 제어신호(관절들의 목표 회전 각도, q)를 슬레이브 로봇(200A)으로 송신하거나, 영상 정보 획득부(220A)를 통해 획득된 영상 정보(내시경 영상 정보 및/또는 초음파 영상 정보) 등을 슬레이브 로봇(200A)으로부터 수신할 수 있다.
표시부(116A)는 슬레이브 로봇(200)의 내시경(216)으로부터 전달된 내시경 영상에 상응하는 화상 이미지, 슬레이브 로봇(200)의 초음파 프로브(미도시)로부터 전달된 초음파 영상에 상응하는 화상 이미지 또는 저장부(130A)에 저장되어 있는 수술 이전에 촬영된 엑스-레이(X-ray) 영상, 컴퓨터 단층촬영(CT) 영상 및 자기공명영상(MRI) 등의 다양한 참조 영상 등을 시각(視覺)적 정보로 출력한다.
슬레이브 로봇(200A)은 마스터 장치(100A)으로부터 수신한 제어신호에 따라 마운팅 암(202), 가이드 튜브(212) 및 복수의 툴(214a, 214b, 216)을 동작시켜 직접 환자에 대해 수술에 필요한 조작을 가한다. 이러한 슬레이브 로봇(200A)은 도 4에 도시한 바와 같이, 영상 정보 획득부(220A), 저장부(230A), 슬레이브 제어부(240A), 통신부(250A), 서보 제어부(260A) 및 구동부(270A)를 포함할 수 있다.
영상 정보 획득부(220A)는 환자의 체내로 삽입되어 이동하면서 내장장기(內臟臟器)나 체강(體腔) 내부를 촬영하여 수술 부위의 영상 정보를 획득한다. 영상 정보 획득부(220A)는 내시경(216) 및 초음파 프로브(미도시) 등으로 구현될 수 있다. 영상 정보 획득부(220A)를 통해 획득된 영상 정보는 슬레이브 제어부(240A) 내의 영상 처리부(247A)로 전달되어 영상 처리 과정을 거치거나, 영상 처리 과정 없이 통신부(250A)를 통해 마스터 장치(100A)으로 전송될 수 있다.
저장부(230A)는 슬레이브 로봇(200A)의 동작을 제어하는데 필요한 정보 및 알고리즘, 슬레이브 로봇(200A) 측에서 획득한 정보 등을 저장한다. 예를 들면, 저장부(230A) 내에는 영상 정보 획득부(220A)를 통해 획득된 수술 부위에 대한 영상 정보가 저장된다.
슬레이브 제어부(240A)는 슬레이브 로봇(200)을 이루는 각종 구성 요소들을 연결하고 슬레이브 로봇(200)의 동작을 제어하기 위한 프로세서로, 영상 정보 획득부(220A)에서 획득된 수술 부위의 영상 정보를 통신부(250A)를 통해 마스터 장치(100A)으로 전송하거나, 제어부(140A) 내 여유 자유도 활용부(146A)에서 생성된 제어신호(각 관절의 목표 회전 각도)를 통신부(250A)를 통해 수신하여 서보 제어부(260A)로 전달하는 역할을 수행한다.또한 슬레이브 제어부(240A)는 영상 정보 획득부(220A)를 통해 획득된 수술 부위의 영상에 대한 처리를 수행하는 영상 처리부(247A)를 포함할 수 있다.여기서, 영상 처리의 예로는 촬영된 영상의 확대, 축소, 회전, 이동, 편집 및 필터링 등을 들 수 있다. 슬레이브 제어부(240A) 내에서 수행되는 영상 처리 과정은 경우에 따라 생략될 수도 있다.
통신부(250A)는 유선 통신망 또는 무선 통신망을 통해 슬레이브 제어부(240A) 및 마스터 장치(100A)의 통신부(150A)에 연결되어 데이터를 송수신하는 통신회로로, 마스터 장치(100A)로부터 여유 자유도를 활용하여 생성된 제어신호(각 관절의 목표 회전 각도)를 수신하거나, 영상 정보 획득부(220A)를 통해 획득된 영상 정보(내시경 영상 정보 및/또는 초음파 영상 정보) 등을 마스터 장치(100A)로 송신할 수 있다.
서보 제어부(260A)는 제어부(140A) 내 여유 자유도 활용부(146A)로부터 전달된 각 관절의 목표 회전 각도(q)를 추종하기 위한 관절 토크(τ)를 산출하고, 산출된 관절 토크(τ)에 대응하는 토크 제어 신호를 생성하여 마운팅 암(202), 가이드 튜브(212), 각각의 툴(214a)(214b) 및 내시경(216)을 이루는 각 관절을 회전 구동하는 구동부(270A)에 출력한다.
구동부(270A)는 마운팅 암(202), 가이드 튜브(212), 각각의 툴(214a)(214b) 및 내시경(216)을 이루는 복수의 관절 각각에 전기 또는 유압에 의한 동력을 전달하기 위한 모터 등의 액추에이터로, 서보 제어부(260A)로부터 전달된 토크 제어신호에 따라 마운팅 암(202), 가이드 튜브(212), 각각의 툴(214a)(214b) 및 내시경(216)을 이루는 각 관절을 회전 구동한다. 앞서 도 3a 내지 도 3c에서 예시한 마운팅 암(202), 마운팅 암(202)에 연결 설치되는 가이드 튜브(212), 수술 작업 시 가이드 튜브(212)로부터 분기되어 나오는 두 개의 툴(214a, 214b) 및 하나의 내시경(216)을 포함하는 슬레이브 로봇(200)에서, 마운팅 암(202), 가이드 튜브(212), 각 툴(214a)(214b)의 관절 공간에서의 자유도는 6이고 내시경(216)의 관절 공간에서의 자유도는 3이므로, 슬레이브 로봇(200) 측에는 총 27개의 회전 관절이 마련된다. 따라서, 이 회전 관절들을 구동하기 위해 총 27개의 액추에이터를 필요로 하게 된다.
도 10은 수술 로봇의 제어방법을 도시한 흐름도이다.
본 실시예의 동작설명을 위한 초기조건으로서, 슬레이브 로봇(200A)은 여유 자유도를 가지며, 마운팅 암(202), 가이드 튜브(212), 두 개의 툴(214a, 214b) 및 하나의 내시경(216) 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어진다는 점을 전제한다. 또한 마운팅 암(202)과 가이드 튜브(212)가 서로 연동하여 동작하고, 가이드 튜브(212)와 각각의 툴(214a)(214b)이 서로 연동하여 동작하며, 가이드 튜브(212)와 하나의 내시경(216)이 서로 연동하여 동작하는 것으로 전제한다. 또한 저장부(130A)에는 마스터 장치(100A)의 마스터 조작기(112L, 112R)의 동작과 슬레이브 로봇(200A)의 말단부(복수의 툴 및 내시경)의 동작 간의 동작 스케일링(motion scaling) 시 적용되는 스케일링 팩터, 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 슬레이브 로봇(200A)의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 수술 작업을 이루는 복수의 동작에 대한 학습 결과 및 수술 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치 등이 미리 저장되어 있음을 전제한다.
먼저 수술이 시작되어 마스터 조작기(112L, 112R)의 조작자(수술 로봇을 사용하는 의사)가 수술 작업을 위해 마스터 조작기(112L, 112R)를 통해 일정한 동작을 취하면 마스터 장치(100A)의 위치/자세 검출부(120A)는 마스터 조작기(112L, 112R)의 위치 정보(x’, y’, z’) 및 자세 정보(α’, β’, γ’)를 검출하고, 검출된 마스터 조작기(112L, 112R)의 위치 정보(x’, y’, z’) 및 자세 정보(α’, β’, γ’)를 제어부(140A)로 전송한다(310).
다음으로, 제어부(140A) 내의 변환부(141A)는 위치/자세 검출부(120A)로부터 획득한 마스터 조작기(112L, 112R)의 위치 및 자세 정보 (x’, y’, z’, α’, β’, γ’)를 슬레이브 로봇(200A)의 작업 공간에서의 모션 명령 정보 즉, 조작자가 원하는 슬레이브 로봇(200A)의 말단부(복수의 툴의 각 말단부 및 내시경의 말단부)의 위치 및 자세 정보 (x, y, z, α, β, γ)로 변환한다(320). 이때, 변환부(141A)는 마스터 조작기(112L, 112R)의 위치 및 자세 정보 (x’, y’, z’, α’, β’, γ’)에 마스터 장치(100A)의 마스터 조작기(112L, 112R)의 동작과 슬레이브 로봇(200A)의 말단부(복수의 툴 및 내시경)의 동작 간의 동작 스케일링 시 스케일링 팩터(scaing factor)를 곱하여 슬레이브 로봇(200A)의 작업 공간에서의 모션 명령 정보 (x, y, z, α, β, γ)를 산출할 수 있다.
이후 제어부(140A)의 여유 자유도 역기구학 해석부(142A) 내의 자코비언 행렬 산출부(144A)는 저장부(130A)에 기저장되어 있는 자코비언 행렬을 산출하기 위한 알고리즘 및 슬레이브 로봇(200A)의 기구학적 구조에 관한 정보들(예: 관절과 관절 사이를 연결하는 링크의 길이 정보 등)을 이용하여 전술한 [수학식 2] 즉, 미분 기구학 방정식
Figure 112013022854065-pat00040
에서 관절의 속도 벡터
Figure 112013022854065-pat00041
에 곱해지는 자코비언 행렬 J(q)를 산출한다(330).
다음으로, 제어부(140A)의 여유 자유도 역기구학 해석부(142A) 내의 목적 함수 산출부(145A)는 슬레이브 로봇(200A)이 수행하는 수술 작업이 어떤 것인지 판단하고, 그 판단 결과에 기초하여 각 개별 목적 함수에 곱해지는 가중치(a, b, c, …)를 결정한 후, 결정된 각 가중치를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출한다(340). 이때, 목적 함수 산출부(145A)는 위치/자세 검출부(120A) 및 속도 검출부(125A)를 통해 검출된 마스터 조작기(112L, 112R)의 동작에 관한 정보(마스터 조작기의 위치 정보 및 속도 정보) 및 저장부(130A)에 기저장되어 있는 수술 작업을 이루는 복수의 동작에 대한 학습 결과를 이용하여 조작자가 수행하고자 하는 수술 작업 즉, 슬레이브 로봇(200A)가 수행하는 수술 작업이 어떤 것인지 예측하고, 예측된 수술 작업(예: 배관 삽입)에 따라 각 개별 목적 함수에 곱해지는 가중치들(a, b, c, )을 저장부(130A)에서 검색한 후, 검색된 각 가중치(a, b, c, )를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출할 수 있다.
이후 제어부(140A)의 여유 자유도 역기구학 해석부(142A) 내의 여유 자유도 활용부(146A)는 슬레이브 로봇(200A)의 여유 자유도를 활용하여 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214A, 214b) 및 내시경(216)을 이루는 각 관절들의 목표 회전 각도(q)를 산출한다(350). 이때, 여유 자유도 활용부(146A)는 목적 함수 산출부(145A)를 통해 산출된 시스템 전체의 목적 함수 w를 최소화하는 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00042
)를 산출하고, 산출된 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00043
)를 적분하여 최종적인 관절 공간에서의 해인 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 목표 회전 각도(q)를 산출하게 된다.
다음으로, 제어부(140A)는 여유 자유도 활용부(146A)에서 산출한 각 관절들의 목표 회전 각도(q)를 통신부(150A)를 통해 슬레이브 로봇(200A) 측 슬레이브 제어부(240A)로 전송하고, 슬레이브 제어부(240A)는 제어부(140A)로부터 전송받은 각 관절들의 목표 회전 각도(q)를 서보 제어부(260A)로 전송한다(360).
이후 슬레이브 로봇(200A) 측 서보 제어부(260A)는 제어부(140A) 내 여유 자유도 활용부(146A)로부터 전달된 각 관절의 목표 회전 각도(q)를 추종하기 위한 관절 토크(τ)를 산출하고, 산출된 관절 토크(τ)에 대응하는 토크 제어신호를 생성한다(370).
다음으로, 서보 제어부(260A)는 생성된 토크 제어신호를 마운팅 암(202), 가이드 튜브(212), 각각의 툴(214a)(214b) 및 내시경(216)을 이루는 각 관절을 회전 구동하는 구동부(270A)로 전송한다(380).
이러한 과정을 통해 슬레이브 로봇(200A)의 여유 자유도를 활용하여 다양한 개별 목적들(툴의 활동 영역 확장, 툴의 관절별 필요 강성 최소화, 툴과 주변 장애물 간의 충돌 가능성 최소화, 툴의 필요 자유도 최소화 및 복합적인 작업 수행)을 달성하면서 슬레이브 로봇(200A)을 이루는 각 구성 요소들(마운팅 암, 가이드 튜브, 복수의 툴 및 내시경)의 동작을 통합적으로 제어할 수 있게 된다.
도 11은 수술 로봇의 제어 블록도이다.
도 11에 도시한 수술 로봇은 도 4에 도시한 수술 로봇과 비교해 볼 때,마스터 장치(100B)의 제어부(140B)의 여유 자유도 역기구학 해석부(142B) 내에 우선순위 결정부(143B)가 추가된 점에서 도 4에 도시한 수술 로봇과 차이가 있다.
여기서는 동일한 명칭과 동일한 도면 부호를 사용하고 있는 구성 요소에 대해서는 설명을 생략하고(단, 도면 부호에서 번호 뒤에 병기된 A, B는 각 실시예를 구별하기 위한 것임), 도 9에 추가적으로 도시한 우선순위 결정부(143B)의 구성 및 이 우선순위 결정부(143B)에 의해 그 기능이 변화되는 저장부(130B) 및제어부(140B) 내 여유 자유도 역기구학 해석부(142B)의 구성에 대해서만 설명하기로 한다.
도 11에 도시한 저장부(130B)는 슬레이브 로봇(200B)의 여유 자유도를 활용하여 관절 공간에서의 해 즉, 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 목표 회전 각도를 산출하는데 필요한 정보 및 알고리즘 등이 저장되는 메모리로, 저장부(130B) 내에는 마스터 장치(100B)의 마스터 조작기(112L, 112R)의 동작과 슬레이브 로봇(200B)의 말단부(복수의 툴 및 내시경)의 동작 간의 동작 스케일링(motion scaling) 시 적용되는 스케일링 팩터, 작업변수(p) 즉 복수의 툴(214a, 214b)의 위치/자세 정보 및 내시경(216)의 자세 정보에 설정된 우선순위(예를 들어, 복수의 툴(214a, 214b)의 위치 및 자세 정보와 내시경(216)의 자세 정보 중 복수의 툴(214a, 214b)의 위치 및 자세 정보에 더 높은 우선순위가 설정되거나, 제 1 툴(214a)의 말단부의 위치 정보 (x1,y1,z1)와 자세 정보 (α1, β1, γ1) 중 위치 정보 (x1,y1,z1)에 더 높은 우선순위가 설정됨), 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 슬레이브 로봇(200B)의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 수술 작업을 이루는 복수의 동작에 대한 학습 결과 및 수술 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치 등이 저장된다.
또한 저장부(130B)는 수술 이전에 촬영된 엑스-레이(X-ray) 영상, 컴퓨터 단층촬영(CT) 영상 및 자기공명영상(MRI) 등의 다양한 참조 영상 등을 저장할 수 있다.
도 11에 도시한 바와 같이, 제어부(140B) 내 여유 자유도 역기구학 해석부(142B)는 슬레이브 로봇(200B)의 여유 자유도를 활용하여 슬레이브 로봇(200B)을 이루는 각 구성 요소들(마운팅 암, 가이드 튜브, 복수의 툴 및 내시경)의 동작을 통합적으로 제어하기 위한 제어신호(각 구성 요소를 이루는 복수의 관절 각각의 목표 회전 각도)를 생성하는 구성부로, 여유 자유도 역기구학 해석부(142B)는 다시 우선순위 결정부(143B), 자코비언 행렬 산출부(144B), 목적 함수 산출부(145B) 및 여유 자유도 활용부(146B)를 포함하여 이루어진다.
여유 자유도 역기구학 해석부(142B)를 이루는 각각의 구성부에 대한 상세한 설명에 앞서, 이하에서는 먼저 여유 자유도를 가지는 슬레이브 로봇(200B)에서 작업 변수(p)에 우선순위가 설정되었을 때의 역기구학 해석에 대해 설명하기로 한다.
시스템이 여유 자유도를 가지는 경우에는 자코비언 행렬 J(q)의 의사 역행렬(Pseudo-inverse Matrix) J#(q)을 이용하여 역기구학 해를 산출한다는 점은 앞서 언급한 바 있다.
이때, 작업 변수(p)에 우선순위를 설정하는 경우, 예를 들어 작업 변수 p를 우선순위에 따라 p1,p2로 나누고, p1에 더 높은 우선순위를 설정할 때 자코비언 행렬의 의사 역행렬을 이용하여 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00044
)를 산출하는 식은 아래의 [수학식 7]과 같이 나타낼 수 있고, [수학식 7]에 기재된
Figure 112013022854065-pat00045
는 아래의 [수학식 8]과 같이 정의할 수 있다.
[수학식 7]
Figure 112018084830118-pat00109
[수학식 8]
Figure 112013022854065-pat00047
여기서, p1과 p2는 작업변수 p를 우선순위에 따라 분류한 서브 벡터(subvector)이고, J1과 J2는 각각 p1과 p2에 대응하는 자코비언 행렬이고, In은 n×n 단위 행렬(unit matrix, identity matrix)이고, r은 임의의 벡터이다.
작업 변수(p)에 우선순위를 부여하는 방식에 대해 예를 들어 설명하면, 복수의 툴(214a, 214b)의 위치 및 자세 정보와 내시경(216)의 자세 정보(내시경이 roll, pitch, yaw 방향의 회전 3자유도를 가지는 경우) 중 복수의 툴(214a, 214b)의 위치 및 자세 정보에 더 높은 우선순위를 설정하거나(서로 다른 툴의 위치/자세 정보 간에 우선순위가 다른 경우), 제 1 툴(214a)의 말단부의 위치 정보 (x1,y1,z1)와 자세 정보 (α1, β1, γ1) 중 위치 정보 (x1,y1,z1)에 더 높은 우선순위를 설정할 수도 있다(하나의 툴 내에서 위치 정보와 자세 정보의 우선순위가 다른 경우).
작업 변수 p를 우선순위에 따라 분류한 경우에도, 여유 자유도를 활용하기 위해 임의의 벡터 r(q)을 정의하고, 개별 목적 함수(w1~wn)및 시스템 전체의 목적 함수(w)를 정의하는 내용은 [수학식 6] 및 도 5 내지 도 9에 관련된 설명 부분에 기재한 내용과 동일하므로, 여기서는 자세한 설명을 생략하기로 한다.
다시 도 11에 대한 설명으로 돌아와, 여유 자유도 역기구학 해석부(142B)를 이루는 각각의 구성부에 대해 상세하게 설명하기로 한다.
우선순위 결정부(143B)는 변환부(141B)를 통해 변환된 슬레이브 로봇(200B)의 말단부(복수의 툴의 각 말단부 및 내시경의 말단부)의 위치 및 자세 정보 (x, y, z, α, β, γ)를 미리 설정된 우선순위에 따라 분류한다. 여기서, 슬레이브 로봇(200B)의 말단부의 위치 및 자세 정보 즉, 작업 변수 p를 우선순위에 따라 p1,p2로 분류하되 p1에 설정된 우선순위가 p2에 설정된 우선순위보다 높다고 전제한다. 예를 들어, 복수의 툴(214a, 214b)의 위치 및 자세 정보와 내시경(216)의 자세 정보 중 복수의 툴(214a, 214b)의 위치 및 자세 정보에 더 높은 우선순위가 설정되어 있는 경우(서로 다른 툴의 위치/자세 정보 간에 우선순위가 다른 경우)에, 우선순위 결정부(143B)는 복수의 툴(214a, 214b)의 위치 및 자세 정보를 p1로 결정하고, 내시경(216)의 자세 정보를 p2로 결정한다. 또한 예를 들어, 제 1 툴(214a)의 말단부의 위치 정보 (x1,y1,z1)와 자세 정보 (α1, β1, γ1) 중 위치 정보 (x1,y1,z1)에 더 높은 우선순위가 설정되어 있는 경우(하나의 툴 내에서 위치와 자세의 우선순위가 다른 경우)에, 우선순위 결정부(143B)는 제 1 툴(214a)의 말단부의 위치 정보 (x1,y1,z1)를 p1로 결정하고, 제 1 툴(214a)의 말단부의 자세 정보 (α1, β1, γ1)를 p2로 결정한다.
자코비언 행렬 산출부(144B)는 자코비언 행렬을 산출하기 위한 알고리즘에 슬레이브 로봇(200B)의 기구학적 구조에 관한 정보들(예: 관절과 관절 사이를 연결하는 링크의 길이 정보 등)을 입력하여 작업변수(p) 중 우선순위가 높은 p1에 대응하는 자코비언 행렬 J1(q)와 작업변수 중 상대적으로 우선순위가 낮은 p2에 대응하는 자코비언 행렬 J2(q)를 산출한다.
목적 함수 산출부(145B)는 여유 자유도를 가지는 슬레이브 로봇(200B)에서 작업변수(p) 중 우선순위가 높은 p1에 대응하는 자코비언 행렬 J1(q)의 의사 역행렬 J1 #(q)및 작업변수(p) 중 우선순위가 낮은 p2에 대응하는 자코비언 행렬 J2(q)의 의사 역행렬 J2 #(q)을 이용하여 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112018084830118-pat00048
)를 산출하는 [수학식 7] 즉,
Figure 112018084830118-pat00110
에 기재된 임의의 벡터 r(q)를 표현하는 [수학식 6] 즉,
Figure 112018084830118-pat00050
에 기재된 목적 함수 w를 산출한다. 이러한 목적 함수(w, 시스템 전체의 목적 함수)는 복수의 개별 목적 함수(w1~wn)의 가중합(weighted sum)으로 나타낼 수 있다(w=aw1+bw2+cw3+…). 개별 목적 함수의 예로는 각각의 툴(214a)(214b)과 기구적 관절 한계 간의 거리의 역수, 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 토크 제곱의 합, 각각의 툴(214a)(214b)과 주변 장애물 간의 거리의 역수 등을 들 수 있다. 이때, 시스템 전체의 목적 함수 w는 시간의 흐름에 따라 변화하게 된다. 즉, 슬레이브 로봇(200)이 수행하는 수술 작업이 어떤 것인지에 따라 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)가 달라진다. 목적 함수 산출부(145B)는 슬레이브 로봇(200B)이 수행하는 수술 작업이 어떤 것인지에 따라 각 개별 목적함수에 곱해지는 가중치(a, b, c, …) 결정한다. 목적 함 수산출부(145B)는 위치/자세 검출부(120B) 및 속도 검출부(125B)를 통해 검출된 마스터 조작기(112L, 112R)의 동작에 관한 정보(마스터 조작기의 위치 정보 및 속도 정보) 및 저장부(130B)에 기저장된 수술 작업을 이루는 복수의 동작에 대한 학습 결과를 이용하여 조작자가 수행하고자 하는 수술 작업을 예측한다. 여기서, 수술 작업은 봉합(suturing), 건네주기(passing), 러닝(running) 및 배관 삽입(cannulation) 중 어느 하나이고, 수술 작업을 이루는 복수의 동작은 오리엔트(orient), 밀기(push) 및 당기기(pull) 중 적어도 하나를 포함한다. 이를 통해, 목적 함수 산출부(144B)는 슬레이브 로봇(200)이 수행하는 수술 작업이 어떤 것인지 판단하고, 그 판단 결과에 기초하여 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)를 결정한 후, 결정된 각 가중치를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출한다.
여유 자유도 활용부(146B)는 시스템 전체의 목적 함수 w를 최소화하는 관절 공간에서의 해 즉, 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 목표 회전 각도(q)를 산출한다. 여유 자유도 활용부(146B)는 목적 함수 산출부(144B)에서 산출된 목적 함수 w를 전술한 [수학식 6]에 대입하고, 목적 함수 w가 대입된 [수학식 6]을 전술한 [수학식 7]에 대입한 후, 목적 함수 w를 최소화하는 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00051
)를 산출한다. 여유 자유도 활용부(146B)는 산출된 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00052
)를 적분하여 최종적인 관절 공간에서의 해인 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 목표 회전 각도(q)를 산출하게 된다.
도 12는 수술 로봇의 제어방법을 도시한 흐름도이다.
본 실시예의 동작설명을 위한 초기조건으로서, 슬레이브 로봇(200B)은 여유 자유도를 가지며, 마운팅 암(202), 가이드 튜브(212), 두 개의 툴(214a, 214b) 및 하나의 내시경(216) 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어진다는 점을 전제한다. 또한 마운팅 암(202)과 가이드 튜브(212)가 서로 연동하여 동작하고, 가이드 튜브(212)와 각각의 툴(214a)(214b)이 서로 연동하여 동작하며, 가이드 튜브(212)와 하나의 내시경(216)이 서로 연동하여 동작하는 것으로 전제한다. 또한 저장부(130B)에는 마스터 장치(100B)의 마스터 조작기(112L, 112R)의 동작과 슬레이브 로봇(200A)의 말단부(복수의 툴 및 내시경)의 동작 간의 동작 스케일링(motion scaling) 시 적용되는 스케일링 팩터, 작업 변수(p) 즉 복수의 툴(214a, 214b)의 위치/자세 정보 및 내시경(216)의 자세 정보에 설정된 우선순위, 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 슬레이브 로봇(200A)의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 수술 작업을 이루는 복수의 동작에 대한 학습 결과 및 수술 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치 등이 미리 저장되어 있음을 전제한다.
먼저 수술이 시작되어 마스터 조작기(112L, 112R)의 조작자(수술 로봇을 사용하는 의사)가 수술 작업을 위해 마스터 조작기(112L, 112R)를 통해 일정한 동작을 취하면 마스터 장치(100B)의 위치/자세 검출부(120A)는 마스터 조작기(112L, 112R)의 위치 정보(x’, y’, z’) 및 자세 정보(α’, β’, γ’)를 검출하고, 검출된 마스터 조작기(112L, 112R)의 위치 정보(x’, y’, z’) 및 자세 정보(α’, β’, γ’)를 제어부(140B)로 전송한다(410).
다음으로, 제어부(140B) 내의 변환부(141B)는 위치/자세 검출부(120B)로부터 획득한 마스터 조작기(112L, 112R)의 위치 및 자세 정보 (x’, y’, z’, α’, β’, γ’)를 슬레이브 로봇(200B)의 작업 공간에서의 모션 명령 정보 즉, 조작자가 원하는 슬레이브 로봇(200B)의 말단부(복수의 툴의 각 말단부 및 내시경의 말단부)의 위치 및 자세 정보 (x, y, z, α, β, γ)로 변환한다(420). 이때, 변환부(141B)는 마스터 조작기(112L, 112R)의 위치 및 자세 정보 (x’, y’, z’, α’, β’, γ’)에 마스터 장치(100B)의 마스터 조작기(112L, 112R)의 동작과 슬레이브 로봇(200B)의 말단부(복수의 툴 및 내시경)의 동작 간의 동작 스케일링 시 스케일링 팩터(scaing factor)를 곱하여 슬레이브 로봇(200B)의 작업 공간에서의 모션 명령 정보 (x, y, z, α, β, γ)를 산출할 수 있다.
이후 제어부(140B)의 여유 자유도 역기구학 해석부(142B) 내의 우선순위 결정부(144B)는 변환부(141B)를 통해 변환된 슬레이브 로봇(200B)의 말단부(복수의 툴의 각 말단부 및 내시경의 말단부)의 위치 및 자세 정보 (x, y, z, α, β, γ) 즉, 작업 변수 p를 미리 설정된 우선순위에 따라 분류한다(430). 작업 변수 p를 우선순위에 따라 p1, p2로 분류하되 p1에 설정된 우선순위가 p2에 설정된 우선순위보다 높다고 전제할 때, 예를 들어, 복수의 툴(214a, 214b)의 위치 및 자세 정보와 내시경(216)의 자세 정보 중 복수의 툴(214a, 214b)의 위치 및 자세 정보에 더 높은 우선순위가 설정되어 있는 경우에, 우선순위 결정부(143B)는 복수의 툴(214a, 214b)의 위치 및 자세 정보를 p1로 결정하고, 내시경(216)의 자세 정보를 p2로 결정한다.
다음으로, 제어부(140B)의 여유 자유도 역기구학 해석부(142B) 내의 자코비언 행렬 산출부(144A)는 저장부(130B)에 기저장되어 있는 자코비언 행렬을 산출하기 위한 알고리즘 및 슬레이브 로봇(200A)의 기구학적 구조에 관한 정보들(예: 관절과 관절 사이를 연결하는 링크의 길이 정보 등)을 이용하여 작업변수(p) 중 우선순위가 높은 p1에 대응하는 자코비언 행렬 J1(q)와 작업변수 중 상대적으로 우선순위가 낮은 p2에 대응하는 자코비언 행렬 J2(q)를 산출한다(440).
이후 제어부(140B)의 여유 자유도 역기구학 해석부(142B) 내의 목적 함수 산출부(145B)는 슬레이브 로봇(200B)이 수행하는 수술 작업이 어떤 것인지 판단하고, 그 판단 결과에 기초하여 각 개별 목적 함수에 곱해지는 가중치(a, b, c, …)를 결정한후, 결정된 각 가중치를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출한다(450). 이때, 목적 함수 산출부(145B)는 위치/자세 검출부(120B) 및 속도 검출부(125B)를 통해 검출된 마스터 조작기(112L, 112R)의 동작에 관한 정보(마스터 조작기의 위치 정보 및 속도 정보) 및 저장부(130B)에 기저장되어 있는 수술 작업을 이루는 복수의 동작에 대한 학습 결과를 이용하여 조작자가 수행하고자 하는 수술 작업 즉, 슬레이브 로봇(200A)가 수행하는 수술 작업이 어떤 것인지 예측하고, 예측된 수술 작업(예: 배관 삽입)에 따라 각 개별 목적 함수에 곱해지는 가중치들(a, b, c, )을 저장부(130A)에서 검색한 후, 검색된 각 가중치(a, b, c, )를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출할 수 있다.
다음으로, 제어부(140B)의 여유 자유도 역기구학 해석부(142B) 내의 여유 자유도 활용부(146B)는 슬레이브 로봇(200B)의 여유 자유도를 활용하여 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214A, 214b) 및 내시경(216)을 이루는 각 관절들의 목표 회전 각도(q)를 산출한다(460). 이때, 여유 자유도 활용부(146B)는 목적 함수 산출부(145B)를 통해 산출된 시스템 전체의 목적 함수 w를 최소화하는 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00053
)를 산출하고, 산출된 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00054
)를 적분하여 최종적인 관절 공간에서의 해인 마운팅 암(202), 가이드 튜브(212), 복수의 툴(214a, 214b) 및 내시경(216)을 이루는 각 관절의 목표 회전 각도(q)를 산출하게 된다.
이후 제어부(140B)는 여유 자유도 활용부(146B)에서 산출한 각 관절들의 목표 회전 각도(q)를 통신부(150B)를 통해 슬레이브 로봇(200B) 측 슬레이브 제어부(240B)로 전송하고, 슬레이브 제어부(240B)는 제어부(140B)로부터 전송받은 각 관절들의 목표 회전 각도(q)를 서보 제어부(260B)로 전송한다(470).
다음으로, 슬레이브 로봇(200B) 측 서보 제어부(260B)는 제어부(140B) 내 여유 자유도 활용부(146B)로부터 전달된 각 관절의 목표 회전 각도(q)를 추종하기 위한 관절 토크(τ)를 산출하고, 산출된 관절 토크(τ)에 대응하는 토크 제어신호를 생성한다(480).
이후 서보 제어부(260B)는 생성된 토크 제어신호를 마운팅 암(202), 가이드 튜브(212), 각각의 툴(214a)(214b) 및 내시경(216)을 이루는 각 관절을 회전 구동하는 구동부(270B)로 전송한다(490).
이러한 과정을 통해 슬레이브 로봇(200B)의 여유 자유도를 활용하여 다양한 개별 목적들(툴의 활동 영역 확장, 툴의 관절별 필요 강성 최소화, 툴과 주변 장애물 간의 충돌 가능성 최소화, 툴의 필요 자유도 최소화 및 복합적인 작업 수행)을 달성하면서 슬레이브 로봇(200B)을 이루는 각 구성 요소들(마운팅 암, 가이드 튜브, 복수의 툴 및 내시경)의 동작을 통합적으로 제어할 수 있게 된다.
도 13은 휴머노이드 로봇의 외관 구성도이다.
도 13에 도시한 바와 같이, 휴머노이드 로봇(500)은 인간과 마찬가지로 두 개의 다리(518L, 518R)에 의해 직립 이동하는 이족 보행 로봇으로, 머리(502), 몸통(503), 팔(504L, 504R)로 이루어진 상체(501)와, 두 개의 다리(518L, 518R)로 이루어진 하체(517)를 가진다.
휴머노이드 로봇(500)의 상체(501)는 몸통(503)과, 몸통(503)의 상부에 목(505)을 통해 연결된 머리(502)와, 몸통(503)의 상부 양측에 어깨(506L, 506R)를 통해 연결된 두 개의 팔(504L, 504R)과, 이 두 개의 팔(504L, 504R)의 말단에 각각 연결된 손(507L, 507R)으로 이루어진다. 머리(502)에서 인간의 눈의 형상을 가진 기구부에는 이동 공간의 주위를 촬영하기 위한 카메라(511)가 장착된다.
두 개의 팔(504L, 504R)은 다자유도를 가지며 구동되도록 구현할 수 있다. 두 개의 팔(504L, 504R)은 복수의 링크 및 복수의 관절로 이루어진다. 특히, 도 13에 도시한 바와 같이, 왼쪽 팔(504L)의 말단부 즉, 왼쪽 손(507L)에는 가이드튜브(512) 및 각각 엔드 이펙터(516a, 516b, 516c)를 가지며 가이드 튜브(512)로부터 분기되어 나오는 복수의 툴(516a, 516b, 516c)로 이루어지는 멀티 툴 모듈(510)이 연결된다. 휴머노이드 로봇(500)이 작업을 수행하지 않을 때에는 복수의 툴(516a, 516b, 516c)이 가이드 튜브(512) 내에 내장되어 있다가,휴머노이드 로봇(500)이 작업을 수행할 때에는 도 13에 도시한 바와 같이 가이드 튜브(512) 내에 내장되어 있던 복수의 툴(516a, 516b, 516c)이 밖으로 나와 사용자의 명령에 따른 작업(예 : 청소 작업)을 수행한다. 이하에서는, 가이드튜브(512) 및 복수의 툴(516a, 516b, 516c)로 이루어지는 멀티 툴 모듈(510)이 연결되는 왼쪽 팔(504L)을 특히 마운팅 암(504L)으로 정의하기로 한다.
여기서, 가이드 튜브(512), 복수의 툴(514a, 514b, 514c) 역시 마운팅 암(504L)과 마찬가지로, 복수의 링크 및 복수의 관절로 이루어져 다자유도를 가지며 구동되도록 구현할 수 있다. 도 13에 도시한 예에서, 복수의 툴(516a, 516b, 516c) 각각의 말단부(distal end)에는 직접적인 청소 작업을 수행하는 쓰레기를 집어올리기 위한 집게, 공기 중의 먼지를 모으는 집진기, 더러운 곳을 닦아내는 걸레 등의 청소 도구 즉, 엔드 이펙터(516a, 516b, 516c)가 장착된다.
휴머노이드 로봇(500)의 하체(517)는 상체(501)의 몸통(503) 하부 양측에 연결된 두 개의 다리(518L, 518R)와, 두 개의 다리(518L, 518R) 말단에 각각 연결된 발(519L, 519R)로 이루어진다.
참조 부호에서, “R”과 “L”은 각각 휴머노이드 로봇(500)의 왼쪽(left)과 오른쪽(right)을 나타낸다.
도 14는 휴머노이드 로봇의 제어 블록도이다.
먼저, 본 실시예에서는 휴머노이드 로봇(500)의 왼쪽 팔 부분을 이루는 마운팅 암(504L), 가이드 튜브(512), 복수의 툴(514a, 514b, 514c) 각각이 복수의 링크 및 복수의 관절을 포함하여 이루어진다는 점을 전제한다. 또한 본 실시예에서는 마운팅 암(504L)과 가이드 튜브(512)가 서로 연동하여 동작하고, 가이드 튜브(512)와 각각의 툴(514a)(514b)(514c)이 서로 연동하여 동작하는 것으로 전제한다. 아울러, 본 실시예에서는 휴머노이드 로봇(500)이 여유 자유도(redundancy)를 가지는 경우 즉, 휴머노이드 로봇(500)의 관절 공간에서의 자유도 N이 작업 공간에서의 자유도 M보다 큰 경우(N>M)를 전제한다.
도 14에 도시한 바와 같이, 휴머노이드 로봇(500)은 입력부(520A), 영상 정보 획득부(525A), 저장부(530A), 제어부(540A), 서보 제어부(550A), 구동부(560A) 및 위치/자세 검출부(570A)를 포함할 수 있다.
입력부(520A)는 사용자가 휴머노이드 로봇(500)의 동작 명령(예: 보행 명령, 작업 명령 등)을 입력하기 위한 것으로, 사용자 인터페이스(UI)나 원격 조작기 등으로 구성할 수 있다.
영상 정보 획득부(525A)는 피사체로부터 반사되는 빛을 검출하고, 이를 디지털 신호로 변환 및 처리하여 이동 공간 주변의 영상을 획득한다. 이를 위해, 영상 정보 획득부(525A)는 이동 공간의 주위를 촬영하는 카메라(511)와, 카메라(511)의 출력을 수신하여 2차원 이미지 영상 및 3차원 거리 정보를 생성하는 영상 처리 모듈로 이루어진다. 카메라(511)로는 CCD(charge-coupled device) 카메라, CMOS(complementary metal oxide) 카메라, TOF(Time of Flight) 카메라 등이 이용될 수 있으며, 이외에도 휴머노이드 로봇(500)이 보행하는 경로 상에 위치하는 물체에 대한 영상 정보를 획득할 수 있는 장치라면 어떠한 장치라도 사용 가능함은 물론이다.
저장부(530A)는 휴머노이드 로봇(500)의 여유 자유도를 활용하여 관절 공간에서의 해 즉, 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514a, 514b, 514c)을 이루는 각 관절의 목표 회전 각도를 산출하는데 필요한 정보 및 알고리즘 등이 저장되는 메모리로, 저장부(530A) 내에는 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 휴머노이드 로봇(500)의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 수행하는 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치 등이 저장된다.
또한 저장부(530A)는 휴머노이드 로봇(500A)의 위치 인식 결과 및 SLAM 알고리즘을 이용하여 작성되는 이동 공간에 대한 지도 등을 저장할 수 있다.
제어부(540A)는 휴머노이드 로봇(500)의 전반적인 동작을 제어하기 위한 프로세서로, 제어부(540A)는 다시 모션 명령 생성부(541A), 여유 자유도 역기구학 해석부(542A) 및 위치 추정부(547A)를 포함한다.
모션 명령 생성부(541A)는 입력부(520A)로부터 전송받은 사용자 명령 신호, 영상 정보 획득부(525A)로부터 전송받은 이동 공간 주변의 영상 신호 및 위치/자세 검출부(570A)로부터 전송받은 복수의 툴(514a, 514b, 514c)의 각 말단부의 3차원 공간상에서의 위치 및 자세 정보에 기초하여 복수의 툴(514a, 514b, 514c)에 대한 작업 공간에서의 모션 명령(x, y, z, α, β, γ)을 생성한다. 여기서는, 모션 명령 생성부(541A)를 통해 생성된 작업 공간에서의 모션 명령(x, y, z, α, β, γ)이 전술한 작업 변수 p가 된다.
본 실시예에서는 위치/자세 피드백(feedback) 제어를 위해 작업 공간에서의 모션 명령 생성 시 위치/자세 검출부(570A)로부터 전송받은 복수의 툴(514a, 514b, 514c)의 각 말단부의 3차원 공간상에서의 위치 및 자세 정보를 반영하는 경우를 예로 들어 설명하였으나, 오픈 루프(open-loop) 제어 시에는 복수의 툴(514a, 514b, 514c)의 각 말단부의 3차원 공간상에서의 위치 및 자세 정보를 반영하지 않고, 입력부(520A)로부터 전송받은 사용자 명령 신호 및 영상 정보 획득부(525A)로부터 전송받은 이동 공간 주변의 영상 신호에 기초하여 복수의 툴(514a, 514b, 514c)에 대한 작업 공간에서의 모션 명령을 생성하게 된다.
여유 자유도 역기구학 해석부(542A)는 휴머노이드 로봇(500)의 여유 자유도를 활용하여 휴머노이드 로봇(500)을 이루는 각 구성 요소들(마운팅 암, 가이드 튜브, 복수의 툴)의 동작을 통합적으로 제어하기 위한 제어신호(각 구성 요소를 이루는 복수의 관절 각각의 목표 회전 각도)를 생성하는 구성부로, 여유 자유도 역기구학 해석부(542A)는 다시 자코비언 행렬 산출부(544A), 목적 함수 산출부(545A) 및 여유 자유도 활용부(546A)를 포함하여 이루어진다.
자코비언 행렬 산출부(544A)는 작업 변수(p)와 관절 변수(q) 사이의 관계를 나타낸 [수학식 1] 즉,
Figure 112013022854065-pat00055
을 시간에 관해 미분하여 획득하는 [수학식 2] 즉, 미분 기구학 방정식
Figure 112013022854065-pat00056
에서 관절의 속도 벡터
Figure 112013022854065-pat00057
에 곱해지는 자코비언 행렬 J(q)를 산출한다. 이때, 자코비언 행렬 산출부(544A)는 자코비언 행렬을 산출하기 위한 알고리즘에 휴머노이드 로봇(500)의 기구학적 구조에 관한 정보들(예: 관절과 관절 사이를 연결하는 링크의 길이 정보 등)을 입력하여 f(q)의 자코비언 행렬 J(q)를 산출한다.
목적 함수 산출부(545A)는 여유 자유도를 가지는 휴머노이드 로봇(500)에서 자코비언 행렬 J(q)의 의사 역행렬 J#(q)을 이용하여 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00058
)를 산출하는 [수학식 4] 즉,
Figure 112013022854065-pat00059
에 기재된 임의의 벡터 r(q)를 표현하는 [수학식 6] 즉,
Figure 112013022854065-pat00060
에 기재된 목적 함수 w를 산출한다. 이러한 목적 함수(w, 시스템 전체의 목적 함수)는 복수의 개별 목적 함수(w1~wn)의 가중합(weighted sum)으로 나타낼 수 있다(w=aw1+bw2+cw3 +…). 개별 목적 함수의 예로는 각각의 툴(514a)(514b)(514c)과 기구적 관절 한계 간의 거리의 역수, 복수의 툴(514a, 514b, 514c)을 이루는 각 관절의 토크 제곱의 합, 각각의 툴(514a)(514b)(514c)과 주변 장애물 간의 거리의 역수 등을 들 수 있다. 이때, 시스템 전체의 목적 함수 w는 시간의 흐름에 따라 변화하게 된다. 즉, 휴머노이드 로봇(500A)이 수행하는 작업이 어떤 것인지에 따라 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)가 달라진다. 목적 함수 산출부(545B)는 휴머노이드 로봇(500A)이 수행하는 작업이 어떤 것인지 판단하고, 그 판단 결과에 기초하여 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)를 결정한 후, 결정된 각 가중치를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출한다.
여유 자유도 활용부(546A)는 시스템 전체의 목적 함수 w를 최소화하는 관절 공간에서의 해 즉, 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514a, 514b, 514c)을 이루는 각 관절의 목표 회전 각도(q)를 산출한다. 여유 자유도 활용부(546A)는 목적 함수 산출부(544A)에서 산출된 목적 함수 w를 전술한 [수학식 6]에 대입하고, 목적 함수 w가 대입된 [수학식 6]을 전술한 [수학식 4]에 대입한 후, 목적 함수 w를 최소화하는 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00061
)를 산출한다. 여유 자유도 활용부(546A)는 산출된 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00062
)를 적분하여 최종적인 관절 공간에서의 해인 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514a, 514b, 514c)을 이루는 각 관절의 목표 회전 각도(q)를 산출하게 된다.
위치 추정부(547A)는 영상 정보 획득부(525A)를 통해 획득된 영상 정보 및 휴머노이드 로봇(500)을 이루는 각 링크의 기구학 정보(길이 정보)와 각 회전 관절의 회전 각도 정보에 기초하여 산출된 오도메트리 정보에 SLAM(Simultaneous Localization And Mapping) 알고리즘을 적용하여 휴머노이드 로봇(500) 자신의 위치를 추정함과 동시에 이동 공간에 대응되는 지도를 작성한다. SLAM 알고리즘은 특징점(feature)의 위치와 휴머노이드 로봇(500)의 위치 정보 및 자세 정보를 하나의 상태 변수(state)로 설정하여 확률적인 필터 기법을 통해 동시에 추정하게 되며, 그 과정은 예측(Prediction) 단계, 정보 교합(Data Association) 단계 및 갱신(Update) 단계로 이루어져 반복적으로 수행된다. 이 때, 확률 필터로는 확장 칼만 필터(Extended Kalman Filter), 입자 필터(Particle Filter) 등이 사용될 수 있다.
서보 제어부(550A)는 제어부(540A) 내 여유 자유도 활용부(546A)로부터 전달된 각 관절의 목표 회전 각도(q)를 추종하기 위한 관절 토크(τ)를 산출하고, 산출된 관절 토크(τ)에 대응하는 토크 제어신호를 생성하여 마운팅 암(504L),가이드 튜브(512) 및 각각의 툴(514a)(514b)(514c)을 이루는 각 관절을 회전 구동하는 구동부(560A)에 출력한다.
구동부(560A)는 마운팅 암(504L), 가이드 튜브(512) 및 각각의 툴(514a)(514b)(514c)을 이루는 복수의 관절 각각에 전기 또는 유압에 의한 동력을 전달하기 위한 모터 등의 액추에이터로, 서보 제어부(550A)로부터 전달된 토크 제어신호에 따라 마운팅 암(504L), 가이드 튜브(512) 및 각각의 툴(514a)(514b)(514c)을 이루는 각 관절을 회전 구동한다. 여기서, 마운팅 암(504L), 가이드 튜브(512) 및 각 툴(514a)(514b)(514c)의 관절 공간에서의 자유도가 각각 6인 경우, 휴머노이드 로봇(500)의 왼쪽 팔 부분에는 총 30개의 회전 관절이 마련된다. 따라서, 이 회전 관절들을 구동하기 위해 총 30개의 액추에이터를 필요로 하게 된다.
위치/자세 검출부(570A)는 휴머노이드 로봇(500A)의 말단부(복수의 툴의 각 말단부)의 위치(position) 및 자세(방향, orientation)를 검출한다. 위치/자세 검출부(570A)는 복수의 툴(514a, 514b, 514c)을 이루는 복수의 관절 각각에 장착되어 각 관절의 회전 각도를 검출하는 회전각 센서(미도시)와, 회전각 센서를 통해 검출된 각 관절의 회전 각도를 복수의 툴(514a, 514b, 514c)의 정기구학 식에 대입하여 복수의 툴(514a, 514b, 514c)의 각 말단부의 3차원 공간상에서의 위치 및 자세 정보를 산출하는 연산 모듈로 이루어진다. 회전각 센서로는 인코더(encoder), 포텐셔미터(potentiometer) 등을 이용할 수 있다. 여기서는 회전각 센서와 연산 모듈로 이루어지는 위치/자세 검출부(570A)를 예로 들어 설명하였으나, 이외에도 복수의 툴(514a, 514b, 514c)의 각 말단부의 위치 및 자세에 대한 정보를 검출할 수 있는 장치라면 어떠한 장치라도 위치/자세 검출부(570A)로 사용 가능함은 물론이다.
도 15는 휴머노이드 로봇의 제어방법을 도시한 흐름도이다.
본 실시예의 동작설명을 위한 초기조건으로서, 휴머노이드 로봇(500A) 특히 도 13에 도시한 왼쪽 팔 부분은 여유 자유도를 가지며, 마운팅 암(504L), 가이드 튜브(512), 세 개의 툴(514a, 514b, 514c) 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어진다는 점을 전제한다. 또한 마운팅 암(504L)과 가이드 튜브(512)가 서로 연동하여 동작하고, 가이드 튜브(512)와 각각의 툴(514a)(514b)(514c)이 서로 연동하여 동작하는 것으로 전제한다. 또한 저장부(530A)에는 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 휴머노이드 로봇(500)의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 수행하는 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치 등이 미리 저장되어 있음을 전제한다.
입력부(520A)를 통해 사용자로부터 휴머노이드 로봇(500A)의 작업 명령(예: 청소 명령)이 입력되면 휴머노이드 로봇(500A)의 작업이 시작된다.
먼저 휴머노이드 로봇(500A)의 작업이 시작되면 제어부(540A)는 위치/자세 검출부(570A)로부터 복수의 툴(514a, 514b, 514c)의 각 말단부의 3차원 공간상에서의 위치 및 자세 정보를 주기적으로 입력받으면서 작업을 수행해간다(610).
다음으로, 제어부(540A) 내의 모션 명령 생성부(544A)는 입력부(520A)로부터 전송받은 사용자 명령 신호, 영상 정보 획득부(525A)로부터 전송받은 이동 공간 주변의 영상 신호 및 위치/자세 검출부(570A)로부터 전송받은 복수의 툴(514a, 514b, 514c)의 각 말단부의 3차원 공간상에서의 위치 및 자세 정보에 기초하여 복수의 툴(514a, 514b, 514c)에 대한 작업 공간에서의 모션 명령(x, y, z, α, β, γ)을 생성한다(620). 이때, 모션 명령 생성부(541A)를 통해 생성된 작업 공간에서의 모션 명령(x, y, z, α, β, γ)이 작업 변수 p가 된다.
이후 제어부(540A)의 여유 자유도 역기구학 해석부(542A) 내의 자코비언 행렬 산출부(544A)는 저장부(530A)에 기저장되어 있는 자코비언 행렬을 산출하기 위한 알고리즘 및 휴머노이드 로봇(500A)의 기구학적 구조에 관한 정보들(예: 관절과 관절 사이를 연결하는 링크의 길이 정보 등)을 이용하여 전술한 [수학식 2] 즉, 미분 기구학 방정식
Figure 112013022854065-pat00063
에서 관절의 속도 벡터
Figure 112013022854065-pat00064
에 곱해지는 자코비언 행렬 J(q)를 산출한다(630).
다음으로, 제어부(540A)의 여유 자유도 역기구학 해석부(542A) 내의 목적 함수 산출부(545A)는 휴머노이드 로봇(500A)이 수행하는 작업이 어떤 것인지 판단하고, 그 판단 결과에 기초하여 각 개별 목적 함수에 곱해지는 가중치(a, b, c, …)를결정한후, 결정된 각 가중치를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출한다(640).
이후 제어부(540A)의 여유 자유도 역기구학 해석부(542A) 내의 여유 자유도 활용부(546A)는 휴머노이드 로봇(500A)의 여유 자유도를 활용하여 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514A, 514b, 514c)을 이루는 각 관절들의 목표 회전 각도(q)를 산출한다(650). 이때, 여유 자유도 활용부(546A)는 목적 함수 산출부(545A)를 통해 산출된 시스템 전체의 목적 함수 w를 최소화하는 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00065
)를 산출하고, 산출된 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00066
)를 적분하여 최종적인 관절 공간에서의 해인 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514A, 514b, 514c)을 이루는 각 관절의 목표 회전 각도(q)를 산출하게 된다.
다음으로, 제어부(540A)는 여유 자유도 활용부(546A)에서 산출한 각 관절들의 목표 회전 각도(q)를 서보 제어부(550A)로 전송한다(660).
이후 서보 제어부(550A)는 제어부(540A) 내 여유 자유도 활용부(546A)로부터 전달된 각 관절의 목표 회전 각도(q)를 추종하기 위한 관절 토크(τ)를 산출하고, 산출된 관절 토크(τ)에 대응하는 토크 제어신호를 생성한다(670).
다음으로, 서보 제어부(550A)는 생성된 토크 제어신호를 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514a, 514b, 514c)을 이루는 각 관절을 회전 구동하는 구동부(560A)로 전송한다(680).
이러한 과정을 통해 휴머노이드 로봇(500)의 여유 자유도를 활용하여 다양한 개별 목적들(툴의 활동 영역 확장, 툴의 관절별 필요 강성 최소화, 툴과 주변 장애물 간의 충돌 가능성 최소화, 툴의 필요 자유도 최소화 및 복합적인 작업 수행)을 달성하면서 휴머노이드 로봇(500)을 이루는 각 구성 요소들(마운팅 암, 가이드 튜브, 복수의 툴)의 동작을 통합적으로 제어할 수 있게 된다.
도 16은 휴머노이드 로봇의 제어 블록도이다.
도 16에 도시한 휴머노이드 로봇(500B)은 도 14에 도시한 휴머노이드 로봇(500A)과 비교해 볼 때, 제어부(540B)의 여유 자유도 역기구학 해석부(542B) 내에 우선순위 결정부(543B)가 추가된 점에서 도 14에 도시한 휴머노이드 로봇(500A)과 차이가 있다.
여기서는 동일한 명칭과 동일한 도면 부호를 사용하고 있는 구성 요소에 대해서는 설명을 생략하고(단, 도면 부호에서 번호 뒤에 병기된 A, B는 각 실시예를 구별하기 위한 것임), 도 16에 추가적으로 도시한 우선순위 결정부(543B)의 구성 및 이 우선순위 결정부(543B)에 의해 그 기능이 변화되는 저장부(530B) 및 제어부(540B) 내 여유 자유도 역기구학 해석부(542B)의 구성에 대해서만 설명하기로 한다.
도 16에 도시한 저장부(530B)는 휴머노이드 로봇(500B)의 여유 자유도를 활용하여 관절 공간에서의 해 즉, 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514A, 514b, 514c)을 이루는 각 관절의 목표 회전 각도를 산출하는데 필요한 정보 및 알고리즘 등이 저장되는 메모리로, 저장부(530B) 내에는 작업 변수(p) 즉 복수의 툴(514A, 514b, 514c)의 위치/자세 정보에 설정된 우선순위(예를 들어,복수의 툴(514A, 514b, 514c)의 위치 및 자세 정보 중 제 1 툴(514a)의 위치 및 자세 정보에 더 높은 우선순위가 설정되거나, 제 1 툴(514a)의 말단부의 위치 정보 (x1,y1,z1)와 자세 정보 (α1, β1, γ1) 중 위치 정보 (x1,y1,z1)에 더 높은 우선순위가 설정됨), 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 휴머노이드 로봇(500B)의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 수행하는 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치 등이 저장된다.
또한 저장부(530B)는 휴머노이드 로봇(500B)의 위치 인식 결과 및 SLAM 알고리즘을 이용하여 작성되는 이동 공간에 대한 지도 등을 저장할 수 있다.
도 16에 도시한 바와 같이, 제어부(540B) 내 여유 자유도 역기구학 해석부(542B)는 휴머노이드 로봇(500B)의 여유 자유도를 활용하여 휴머노이드로봇(500B)을 이루는 각 구성 요소들(마운팅 암, 가이드 튜브, 복수의 툴)의 동작을 통합적으로 제어하기 위한 제어신호(각 구성 요소를 이루는 복수의 관절 각각의 목표 회전 각도)를 생성하는 구성부로, 여유 자유도 역기구학 해석부(542B)는 다시 우선순위 결정부(543B), 자코비언 행렬 산출부(544B), 목적 함수 산출부(545B) 및 여유 자유도 활용부(546B)를 포함하여 이루어진다.
여유 자유도 역기구학 해석부(542B)를 이루는 각각의 구성부에 대한 상세한 설명에 앞서, 이하에서는 먼저 여유 자유도를 가지는 휴머노이드 로봇(500B)에서 작업 변수(p)에 우선순위가 설정되었을 때의 역기구학 해석에 대해 설명하기로 한다.
시스템이 여유 자유도를 가지는 경우에는 자코비언 행렬 J(q)의 의사 역행렬(Pseudo-inverse Matrix) J#(q)을 이용하여 역기구학 해를 산출한다는 점은 앞서 언급한 바 있다.
이때, 작업 변수(p)에 우선순위를 설정하는 경우, 예를 들어 작업 변수 p를 우선순위에 따라 p1,p2로 나누고, p1에 더 높은 우선순위를 설정할 때 자코비언 행렬의 의사 역행렬을 이용하여 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00067
)를 산출하는 식은 아래의 [수학식 7]과 같이 나타낼 수 있고, [수학식 7]에 기재된
Figure 112013022854065-pat00068
는 아래의 [수학식 8]과 같이 정의할 수 있다.
[수학식 7]
Figure 112018084830118-pat00111
[수학식 8]
Figure 112013022854065-pat00070
여기서, p1과 p2는 작업변수 p를 우선순위에 따라 분류한 서브 벡터(subvector)이고, J1과 J2는 각각 p1과 p2에 대응하는 자코비언 행렬이고, In은 n×n 단위 행렬(unit matrix, identity matrix)이고, r은 임의의 벡터이다.
작업 변수(p)에 우선순위를 부여하는 방식에 대해 예를 들어 설명하면,복수의 툴(514A, 514b, 514c)의 위치 및 자세 정보 중 제 1 툴(514a)의 위치 및 자세 정보에 더 높은 우선순위를 설정하거나(서로 다른 툴의 위치/자세 정보 간에 우선순위가 다른 경우), 제 1 툴(514a)의 말단부의 위치 정보 (x1,y1,z1)와 자세 정보 (α1, β1, γ1) 중 위치 정보 (x1,y1,z1)에 더 높은 우선순위를 설정할 수도 있다(하나의 툴 내에서 위치 정보와 자세 정보의 우선순위가 다른 경우).
작업 변수 p를 우선순위에 따라 분류한 경우에도, 여유 자유도를 활용하기 위해 임의의 벡터 r(q)을 정의하고, 개별 목적 함수(w1~wn)및 시스템 전체의 목적 함수(w)를 정의하는 내용은 [수학식 6] 및 도 5 내지 도 9에 관련된 설명 부분에 기재한 내용과 동일하므로, 여기서는 자세한 설명을 생략하기로 한다.
다시 도 16에 대한 설명으로 돌아와, 여유 자유도 역기구학 해석부(542B)를 이루는 각각의 구성부에 대해 상세하게 설명하기로 한다.
우선순위 결정부(543B)는 모션 명령 생성부(541B)를 통해 생성된 휴머노이드 로봇(500B)의 말단부(복수의 툴의 각 말단부)의 위치 및 자세 정보 (x, y, z, α, β, γ)를 미리 설정된 우선순위에 따라 분류한다. 여기서, 휴머노이드 로봇(500B)의 말단부의 위치 및 자세 정보 즉, 작업 변수 p를 우선순위에 따라 p1,p2로 분류하되 p1에 설정된 우선순위가 p2에 설정된 우선순위보다 높다고 전제한다. 예를 들어, 복수의 툴(514A, 514b, 514c)의 위치 및 자세 정보 중 제 1 툴(514a)의 위치 및 자세 정보에 더 높은 우선순위가 설정되어 있는 경우(서로 다른 툴의 위치/자세 정보 간에 우선순위가 다른 경우)에, 우선순위 결정부(543B)는 제 1 툴(514a)의 위치 및 자세 정보를 p1로 결정하고, 제 2 및 제 3 툴(514b, 514c)의 자세 정보를 p2로 결정한다. 또한 예를 들어, 제 1 툴(514a)의 말단부의 위치 정보 (x1,y1,z1)와 자세 정보 (α1, β1, γ1) 중 위치 정보 (x1,y1,z1)에 더 높은 우선순위가 설정되어 있는 경우(하나의 툴 내에서 위치와 자세의 우선순위가 다른 경우)에, 우선순위 결정부(543B)는 제 1 툴(514a)의 말단부의 위치 정보 (x1,y1,z1)를 p1로 결정하고, 제 1 툴(514a)의 말단부의 자세 정보 (α1, β1, γ1)를 p2로 결정한다.
자코비언 행렬 산출부(544B)는 자코비언 행렬을 산출하기 위한 알고리즘에 휴머노이드 로봇(500B)의 기구학적 구조에 관한 정보들(예: 관절과 관절 사이를 연결하는 링크의 길이 정보 등)을 입력하여 작업 변수(p) 중 우선순위가 높은 p1에 대응하는 자코비언 행렬 J1(q)와 작업변수 중 상대적으로 우선순위가 낮은 p2에 대응하는 자코비언 행렬 J2(q)를 산출한다.
목적 함수 산출부(545B)는 여유 자유도를 가지는 휴머노이드 로봇(500B)에서 작업 변수(p) 중 우선순위가 높은 p1에 대응하는 자코비언 행렬 J1(q)의 의사 역행렬 J1 #(q)및 작업 변수(p) 중 우선순위가 낮은 p2에 대응하는 자코비언 행렬 J2(q)의 의사 역행렬 J2 #(q)을 이용하여 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112018084830118-pat00071
)를 산출하는 [수학식 7] 즉,
Figure 112018084830118-pat00112
에 기재된 임의의 벡터 r(q)를 표현하는 [수학식 6] 즉,
Figure 112018084830118-pat00073
에 기재된 목적 함수 w를 산출한다. 이러한 목적 함수(w, 시스템 전체의 목적 함수)는 복수의 개별 목적 함수(w1~wn)의 가중합(weighted sum)으로 나타낼 수 있다(w=aw1+bw2+cw3+…). 개별 목적 함수의 예로는 각각의 툴(514a)(514b)(514c)과 기구적 관절 한계 간의 거리의 역수, 복수의 툴(514A, 514b, 514c)을 이루는 각 관절의 토크 제곱의 합, 각각의 툴(514a)(514b)(514c)과 주변 장애물 간의 거리의 역수 등을 들 수 있다. 이때, 시스템 전체의 목적 함수 w는 시간의 흐름에 따라 변화하게 된다. 즉, 휴머노이드 로봇(500B)이 수행하는 작업이 어떤 것인지에 따라 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)가 달라진다. 목적 함수 산출부(545B)는 휴머노이드 로봇(500B)이 수행하는 작업이 어떤 것인지 판단하고, 그 판단 결과에 기초하여 각 개별 목적함수에 곱해지는 가중치(a, b, c, …)를 결정한 후, 결정된 각 가중치를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출한다.
여유 자유도 활용부(546B)는 시스템 전체의 목적 함수 w를 최소화하는 관절 공간에서의 해 즉, 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514A, 514b, 514c)을 이루는 각 관절의 목표 회전 각도(q)를 산출한다. 여유 자유도 활용부(546B)는 목적 함수 산출부(544B)에서 산출된 목적 함수 w를 전술한 [수학식 6]에 대입하고, 목적 함수 w가 대입된 [수학식 6]을 전술한 [수학식 7]에 대입한 후, 목적 함수 w를 최소화하는 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00074
)를 산출한다. 여유 자유도 활용부(546B)는 산출된 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00075
)를 적분하여 최종적인 관절 공간에서의 해인 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514A, 514b, 514c)을 이루는 각 관절의 목표 회전 각도(q)를 산출하게 된다.
도 17은 휴머노이드 로봇의 제어방법을 도시한 흐름도이다.
본 실시예의 동작설명을 위한 초기조건으로서, 휴머노이드 로봇(500B) 특히 도 13에 도시한 왼쪽 팔 부분은 여유 자유도를 가지며, 마운팅 암(504L), 가이드 튜브(512), 세 개의 툴(514a, 514b, 514c) 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어진다는 점을 전제한다. 또한 마운팅 암(504L)과 가이드 튜브(512)가 서로 연동하여 동작하고, 가이드 튜브(512)와 각각의 툴(514a)(514b)(514c)이 서로 연동하여 동작하는 것으로 전제한다. 또한 저장부(530B)에는 작업 변수(p) 즉 복수의 툴(514A, 514b, 514c)의 위치/자세 정보에 설정된 우선순위, 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 휴머노이드 로봇(500B)의 기구학적 구조에 관한 정보, 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 수행하는 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치 등이 미리 저장되어 있음을 전제한다.
입력부(520A)를 통해 사용자로부터 휴머노이드 로봇(500B)의 작업 명령(예: 청소 명령)이 입력되면 휴머노이드 로봇(500B)의 작업이 시작된다.
먼저 휴머노이드 로봇(500B)의 작업이 시작되면 제어부(540B)는 위치/자세 검출부(570A)로부터 복수의 툴(514a, 514b, 514c)의 각 말단부의 3차원 공간상에서의 위치 및 자세 정보를 주기적으로 입력받으면서 작업을 수행해간다(710).
다음으로, 제어부(540B) 내의 모션 명령 생성부(544A)는 입력부(520B)로부터 전송받은 사용자 명령 신호, 영상 정보 획득부(525B)로부터 전송받은 이동 공간 주변의 영상 신호 및 위치/자세 검출부(570B)로부터 전송받은 복수의 툴(514a, 514b, 514c)의 각 말단부의 3차원 공간상에서의 위치 및 자세 정보에 기초하여 복수의 툴(514a, 514b, 514c)에 대한 작업 공간에서의 모션 명령(x, y, z, α, β, γ)을 생성한다(720). 이때, 모션 명령 생성부(541B)를 통해 생성된 작업 공간에서의 모션 명령(x, y, z, α, β, γ)이 작업 변수 p가 된다.
이후 제어부(540B)의 여유 자유도 역기구학 해석부(542B) 내의 우선순위 결정부(543B)는 모션 명령 생성부(541B)를 통해 생성된 휴머노이드 로봇(500B)의 말단부(복수의 툴의 각 말단부)의 위치 및 자세 정보 (x, y, z, α, β, γ) 즉, 작업 변수 p를 미리 설정된 우선순위에 따라 분류한다(730). 작업 변수 p를 우선순위에 따라 p1,p2로 분류하되 p1에 설정된 우선순위가 p2에 설정된 우선순위보다 높다고 전제할 때, 예를 들어, 복수의 툴(514a, 514b, 514c)의 위치 및 자세 정보 중 제 1 툴(514a)의 위치 및 자세 정보에 더 높은 우선순위가 설정되어 있는 경우에, 우선순위 결정부(543B)는 제 1 툴(214a)의 위치 및 자세 정보를 p1로 결정하고, 제 2 및 제 3 툴(214b, 214c)의 자세 정보를 p2로 결정한다.
다음으로, 제어부(540B)의 여유 자유도 역기구학 해석부(542B) 내의 자코비언 행렬 산출부(544A)는 저장부(530A)에 기저장되어 있는 자코비언 행렬을 산출하기 위한 알고리즘 및 휴머노이드 로봇(500B)의 기구학적 구조에 관한 정보들(예: 관절과 관절 사이를 연결하는 링크의 길이 정보 등)을 이용하여 작업변수(p) 중 우선순위가 높은 p1에 대응하는 자코비언 행렬 J1(q)와 작업변수 중 상대적으로 우선순위가 낮은 p2에 대응하는 자코비언 행렬 J2(q)를 산출한다(740).
이후 제어부(540B)의 여유 자유도 역기구학 해석부(542B) 내의 목적 함수 산출부(545B)는 휴머노이드 로봇(500B)이 수행하는 작업이 어떤 것인지 판단하고, 그 판단 결과에 기초하여 각 개별 목적 함수에 곱해지는 가중치(a, b, c, …)를결정한후, 결정된 각 가중치를 각 개별 목적 함수에 곱하여 시스템 전체의 목적 함수 w를 산출한다(750).
다음으로, 제어부(540B)의 여유 자유도 역기구학 해석부(542B) 내의 여유 자유도 활용부(546B)는 휴머노이드 로봇(500B)의 여유 자유도를 활용하여 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514A, 514b, 514c)을 이루는 각 관절들의 목표 회전 각도(q)를 산출한다(760). 이때, 여유 자유도 활용부(546B)는 목적 함수 산출부(545A)를 통해 산출된 시스템 전체의 목적 함수 w를 최소화하는 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00076
)를 산출하고, 산출된 관절 공간에서의 각 관절의 속도(관절의 속도 벡터
Figure 112013022854065-pat00077
)를 적분하여 최종적인 관절 공간에서의 해인 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514A, 514b, 514c)을 이루는 각 관절의 목표 회전 각도(q)를 산출하게 된다.
이후 제어부(540B)는 여유 자유도 활용부(546B)에서 산출한 각 관절들의 목표 회전 각도(q)를 서보 제어부(550B)로 전송한다(770).
다음으로, 서보 제어부(550B)는 제어부(540B) 내 여유 자유도 활용부(546B)로부터 전달된 각 관절의 목표 회전 각도(q)를 추종하기 위한 관절 토크(τ)를 산출하고, 산출된 관절 토크(τ)에 대응하는 토크 제어신호를 생성한다(780).
이후 서보 제어부(550B)는 생성된 토크 제어신호를 마운팅 암(504L), 가이드 튜브(512) 및 복수의 툴(514a, 514b, 514c)을 이루는 각 관절을 회전 구동하는 구동부(560B)로 전송한다(790).
이러한 과정을 통해 휴머노이드 로봇(500B)의 여유 자유도를 활용하여 다양한 개별 목적들(툴의 활동 영역 확장, 툴의 관절별 필요 강성 최소화, 툴과 주변 장애물 간의 충돌 가능성 최소화, 툴의 필요 자유도 최소화 및 복합적인 작업 수행)을 달성하면서 휴머노이드 로봇(500B)을 이루는 각 구성 요소들(마운팅 암, 가이드 튜브, 복수의 툴)의 동작을 통합적으로 제어할 수 있게 된다.
전술한 실시예들에서는 복수의 툴을 가지는 로봇으로서 수술 로봇 및 휴머노이드 로봇을 예로 들어 설명하였으나, 이외에도 가이드 튜브로부터 복수의 툴이 분기되어 나오는 형태의 다양한 로봇 시스템에 대해 개시된 발명이 적용될 수 있다.
100 : 마스터 장치 112L, 112R : 마스터 조작기
120A, 120B : 위치/자세 검출부 140A, 140B : 제어부
142A, 142B : 여유 자유도 역기구학 해석부
200 : 슬레이브 로봇 202 : 마운팅 암
210 : 멀티 툴 모듈 212 : 가이드 튜브
214a, 214b : 툴(tool) 216 : 내시경
218a, 218b : 엔드 이펙터
500 : 휴머노이드 로봇 504L : 마운팅 암
510 : 멀티 툴 모듈 512 : 가이드 튜브
514a, 514b, 514c : 툴(tool) 516a, 516b, 516c : 엔드 이펙터
540A, 540B : 제어부 541A, 541B : 모션 명령 생성부
542A, 542B : 여유 자유도 역기구학 해석부

Claims (24)

  1. 가이드 튜브 및 상기 가이드 튜브와 연동하여 동작하며 상기 가이드 튜브로부터 분기되는 복수의 툴로 이루어지는 멀티 툴 모듈, 상기 멀티 툴 모듈은 여유 자유도를 가지며;
    상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 기초하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하되, 상기 여유 자유도를 활용하여 상기 제어신호를 생성하는 제어부를 포함하되,
    상기 제어부는 상기 제어신호의 생성 과정에서 로봇의 목적 함수를 산출하되, 상기 목적 함수는 시스템의 최적화 또는 목적 달성의 정량적 평가를 위한 기준이고, 상기 목적 함수는 복수의 개별 목적 함수의 가중합으로 표현되는 로봇.
  2. 제 1 항에 있어서,
    상기 가이드 튜브 및 상기 복수의 툴 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어지고, 상기 복수의 툴의 각 말단부에는 엔드 이펙터가 장착되는 로봇.
  3. 제 2 항에 있어서,
    상기 제어부는 상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 대응하는 자코비언 행렬을 산출하고, 상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보 및 상기 산출된 자코비언 행렬에 기초하여 상기 여유 자유도를 활용하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 로봇.
  4. 삭제
  5. 제 1 항에 있어서, 상기 개별 목적 함수는 각각의 툴과 기구적 한계(joint limit) 간의 거리의 역수, 상기 각각의 툴과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합 및 상기 각각의 툴과 주변 장애물 간의 거리의 역수를 포함하는 로봇.
  6. 제 5 항에 있어서,
    상기 제어부는 상기 산출된 상기 로봇의 목적 함수를 최소화하는 상기 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 로봇.
  7. 제 3 항에 있어서, 상기 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 상기 로봇의 기구학적 구조에 관한 정보, 상기 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 상기 로봇이 수행하는 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치를 저장하는 저장부를 더 포함하는 로봇.
  8. 제 2 항에 있어서,
    상기 제어부는 상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 우선순위가 설정되어 있을 때, 상기 우선순위가 높은 상기 작업 공간에서의 모션 명령 정보 및 상기 우선순위가 낮은 상기 작업 공간에서의 모션 명령 정보에 대응하는 자코비언 행렬들을 산출하고, 상기 우선순위가 설정된 상기 작업 공간에서의 모션 명령 정보들 및 상기 산출된 자코비언 행렬들에 기초하여 상기 여유 자유도를 활용하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 로봇.
  9. 삭제
  10. 제 8 항에 있어서, 상기 개별 목적 함수는 각각의 툴과 기구적 한계(joint limit) 간의 거리의 역수, 상기 각각의 툴과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합 및 상기 각각의 툴과 주변 장애물 간의 거리의 역수를 포함하는 로봇.
  11. 제 10 항에 있어서,
    상기 제어부는 상기 산출된 상기 로봇의 목적 함수를 최소화하는 상기 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 로봇.
  12. 제 11 항에 있어서, 상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 설정된 우선순위, 상기 자코비언 행렬 산출 시 필요로 하는 알고리즘 및 상기 로봇의 기구학적 구조에 관한 정보, 상기 목적 함수 산출 시 필요로 하는 복수의 개별 목적 각각을 달성하기 위한 복수의 개별 목적 함수, 상기 로봇이 수행하는 작업이 어떤 것인지에 따라 각 개별 목적 함수에 곱해지는 가중치를 저장하는 저장부를 더 포함하는 로봇.
  13. 삭제
  14. 가이드 튜브 및 상기 가이드 튜브와 연동하여 동작하며 상기 가이드 튜브로부터 분기되는 복수의 툴로 이루어지는 멀티 툴 모듈, 및 제어부를 포함하는 로봇의 제어방법에 있어서, 상기 멀티 툴 모듈은 여유 자유도를 가지며,
    상기 제어부가, 상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보를 생성하고;
    상기 제어부가, 상기 생성된 작업 공간에서의 모션 명령 정보에 기초하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 제어신호를 생성하되, 상기 여유 자유도를 활용하여 상기 제어신호를 생성하고,
    상기 제어부가, 상기 제어신호의 생성 과정에서 상기 로봇의 목적 함수를 산출하되, 상기 목적 함수는 시스템의 최적화 또는 목적 달성의 정량적 평가를 위한 기준이고, 상기 목적 함수는 복수의 개별 목적 함수의 가중합으로 표현되는 로봇의 제어방법.
  15. 제 14 항에 있어서,
    상기 가이드 튜브 및 상기 복수의 툴 각각은 복수의 링크 및 복수의 관절을 포함하여 이루어지고, 상기 복수의 툴의 각 말단부에는 엔드 이펙터가 장착되는 로봇의 제어방법.
  16. 제 15 항에 있어서, 상기 제어부가, 상기 여유 자유도를 활용하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 것은 상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 대응하는 자코비언 행렬을 산출하고, 상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보 및 상기 산출된 자코비언 행렬에 기초하여 상기 제어신호를 생성하는 것인 로봇의 제어방법.
  17. 제 16 항에 있어서, 상기 제어부가, 상기 여유 자유도를 활용하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 것은 상기 로봇의 목적 함수를 산출하고, 상기 산출된 상기 로봇의 목적 함수를 최소화하는 상기 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 것인 로봇의 제어방법.
  18. 삭제
  19. 제 14 항에 있어서, 상기 개별 목적 함수는 각각의 툴과 기구적 한계(joint limit) 간의 거리의 역수, 상기 각각의 툴과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합 및 상기 각각의 툴과 주변 장애물 간의 거리의 역수를 포함하는 로봇의 제어방법.
  20. 제 15 항에 있어서,
    상기 제어부가, 상기 여유 자유도를 활용하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 것은 상기 복수의 툴의 말단부에 대한 작업 공간에서의 모션 명령 정보에 우선순위가 설정되어 있을 때, 상기 우선순위가 높은 상기 작업 공간에서의 모션 명령 정보 및 상기 우선순위가 낮은 상기 작업 공간에서의 모션 명령 정보에 대응하는 자코비언 행렬들을 산출하고, 상기 우선순위가 설정된 상기 작업 공간에서의 모션 명령 정보들 및 상기 산출된 자코비언 행렬들에 기초하여 상기 여유 자유도를 활용하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 로봇의 제어방법.
  21. 제 20 항에 있어서, 상기 제어부가, 상기 여유 자유도를 활용하여 상기 멀티 툴 모듈에 대한 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 것은 상기 로봇의 목적 함수를 산출하고, 상기 산출된 상기 로봇의 목적 함수를 최소화하는 상기 관절 공간에서의 모션에 관한 상기 제어신호를 생성하는 것인 로봇의 제어방법.
  22. 삭제
  23. 제 20 항에 있어서, 상기 개별 목적 함수는 각각의 툴과 기구적 한계(joint limit) 간의 거리의 역수, 상기 각각의 툴과 특이 자세(singular pose) 간의 거리의 역수, 각 관절의 토크 제곱의 합 및 상기 각각의 툴과 주변 장애물 간의 거리의 역수를 포함하는 로봇의 제어방법.

  24. 삭제
KR1020130028308A 2013-03-15 2013-03-15 로봇 및 그 제어방법 KR102188100B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020130028308A KR102188100B1 (ko) 2013-03-15 2013-03-15 로봇 및 그 제어방법
EP14160269.8A EP2777597B1 (en) 2013-03-15 2014-03-17 Robots
JP2014053809A JP6415065B2 (ja) 2013-03-15 2014-03-17 ロボット及びその制御方法
CN201410099195.XA CN104042344B (zh) 2013-03-15 2014-03-17 机器人和控制该机器人的方法
US14/217,808 US9566709B2 (en) 2013-03-15 2014-03-18 Robots comprising multi-tool modules having redundancy and methods of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130028308A KR102188100B1 (ko) 2013-03-15 2013-03-15 로봇 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20140113209A KR20140113209A (ko) 2014-09-24
KR102188100B1 true KR102188100B1 (ko) 2020-12-07

Family

ID=50391002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130028308A KR102188100B1 (ko) 2013-03-15 2013-03-15 로봇 및 그 제어방법

Country Status (5)

Country Link
US (1) US9566709B2 (ko)
EP (1) EP2777597B1 (ko)
JP (1) JP6415065B2 (ko)
KR (1) KR102188100B1 (ko)
CN (1) CN104042344B (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9510911B2 (en) * 1999-09-17 2016-12-06 Intuitive Surgical Operations, Inc. System and methods for managing multiple null-space objectives and SLI behaviors
US10029367B2 (en) * 1999-09-17 2018-07-24 Intuitive Surgical Operations, Inc. System and method for managing multiple null-space objectives and constraints
WO2014146095A1 (en) * 2013-03-15 2014-09-18 Intuitive Surgical Operations, Inc. System and methods for managing multiple null-space objectives and sli behaviors
ES2815048T3 (es) * 2013-11-13 2021-03-29 Abb Schweiz Ag Sistema de impresión robótico en 3D
CA3193139A1 (en) 2014-05-05 2015-11-12 Vicarious Surgical Inc. Virtual reality surgical device
EP3169491A2 (en) * 2014-07-15 2017-05-24 Koninklijke Philips N.V. Reconfigurable robot architecture for minimally invasive procedures
US10058395B2 (en) * 2014-08-01 2018-08-28 Intuitive Surgical Operations, Inc. Active and semi-active damping in a telesurgical system
WO2016053657A1 (en) * 2014-09-29 2016-04-07 Covidien Lp Dynamic input scaling for controls of robotic surgical system
CN104354152B (zh) * 2014-11-04 2016-03-09 国家电网公司 一种复杂线路环境下机器人多重绝缘防护系统
CN107430389B (zh) * 2015-02-24 2020-11-06 Sri国际公司 超灵巧型系统用户界面
SG11201805324SA (en) * 2015-04-22 2018-07-30 Bio Medical Eng Hk Ltd Robotic devices and systems for performing single incision procedures and natural orifice translumenal endoscopic surgical procedures, and methods of configuring robotic devices and systems
CA2984092C (en) * 2015-05-01 2023-01-03 Titan Medical Inc. Instrument collision detection and feedback
CN105094011A (zh) * 2015-06-30 2015-11-25 青岛海尔智能家电科技有限公司 一种家务管家机器人及其任务处理方法
EP3320873A4 (en) 2015-07-09 2019-01-30 Kawasaki Jukogyo Kabushiki Kaisha SURGICAL ROBOT
US9828094B2 (en) * 2015-07-26 2017-11-28 John B. McMillion Autonomous cleaning system
KR102312368B1 (ko) * 2015-08-04 2021-10-12 한국전기연구원 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
JP6332197B2 (ja) * 2015-08-11 2018-05-30 トヨタ自動車株式会社 モータの制御装置
CN105760576A (zh) * 2016-01-27 2016-07-13 首都师范大学 一种基于共形几何代数的机械臂运动规划的形式化分析方法及系统
CN105816243B (zh) * 2016-03-14 2019-01-22 哈尔滨工业大学 一种用于骨科手术的主操作手控制台
CN114767266A (zh) * 2016-06-09 2022-07-22 直观外科手术操作公司 计算机辅助远程操作手术系统和方法
WO2017221323A1 (ja) * 2016-06-21 2017-12-28 オリンパス株式会社 医療システム
CN106236268B (zh) * 2016-08-31 2019-12-10 北京术锐技术有限公司 手术机器人的成像工具与手术工具展开实施、退出方法
CN106236271B (zh) * 2016-08-31 2019-08-09 北京术锐技术有限公司 一种手术机器人的手术工具展开控制系统
JP6979025B2 (ja) 2016-10-14 2021-12-08 株式会社メディカロイド 手術システム
JP6739544B2 (ja) * 2016-12-07 2020-08-12 オリンパス株式会社 医療システムとその制御方法
EP3579736A4 (en) 2017-02-09 2020-12-23 Vicarious Surgical Inc. VIRTUAL REALITY SURGICAL INSTRUMENT SYSTEM
WO2018216204A1 (ja) * 2017-05-26 2018-11-29 オリンパス株式会社 マスタスレーブマニピュレータとその制御方法
CN107042506A (zh) * 2017-06-05 2017-08-15 重庆盛学科技有限公司 一种石材加工机器人
TWI795414B (zh) * 2017-06-29 2023-03-11 美商美國德州系統大學評議委員會 手術設備及其手術工具
CA3075692A1 (en) 2017-09-14 2019-03-21 Vicarious Surgical Inc. Virtual reality surgical camera system
US11161243B2 (en) 2017-11-10 2021-11-02 Intuitive Surgical Operations, Inc. Systems and methods for controlling a robotic manipulator or associated tool
US11173597B2 (en) 2017-11-10 2021-11-16 Intuitive Surgical Operations, Inc. Systems and methods for controlling a robotic manipulator or associated tool
WO2019171336A1 (en) * 2018-03-08 2019-09-12 The University Of Hong Kong Fluid powered master-slave actuation for mri-guided interventions
CN109927026A (zh) * 2018-05-04 2019-06-25 上海翼人机器人有限公司 一种核辐射环境下检测辐射用遥操作机器人
CN108621162A (zh) * 2018-05-09 2018-10-09 广西科技大学 一种机械臂运动规划方法
WO2020118244A1 (en) * 2018-12-07 2020-06-11 Activ Surgical, Inc. Mechanical coupling to join two collaborative robots together for means of calibration
CN109770966B (zh) * 2019-01-23 2021-11-09 吉林大学 一种多自由度集成一体化的单孔腔镜手术器械
JP2022521556A (ja) * 2019-02-28 2022-04-08 コーニンクレッカ フィリップス エヌ ヴェ エンドエフェクタのフィードフォワード連続配置制御
CN110559083B (zh) * 2019-09-10 2020-08-25 深圳市精锋医疗科技有限公司 手术机器人及其末端器械的控制方法、控制装置
CN110948482A (zh) * 2019-11-06 2020-04-03 江苏信息职业技术学院 一种冗余机器人轨迹规划方法
JP7070531B2 (ja) * 2019-11-15 2022-05-18 株式会社豊田中央研究所 都市構造設計装置及び都市構造設計プログラム
DE102019131400B4 (de) * 2019-11-21 2022-03-10 Franka Emika Gmbh Kraftmessung und Krafterzeugung in redundanten Robotermanipulatoren
US11911120B2 (en) 2020-03-27 2024-02-27 Verb Surgical Inc. Training and feedback for a controller workspace boundary
CN111568558B (zh) * 2020-04-13 2022-02-22 上海市胸科医院 电子设备、手术机器人系统及其控制方法
CN112022357B (zh) * 2020-09-16 2022-08-05 上海微创医疗机器人(集团)股份有限公司 医生控制台、手术机器人系统及医生控制台的控制方法
US20220105627A1 (en) * 2020-10-05 2022-04-07 Autodesk, Inc. Singularity-free kinematic parameterization of soft robot manipulators
US20220105639A1 (en) * 2020-10-05 2022-04-07 Verb Surgical Inc. Null space control for end effector joints of a robotic instrument
CN112245011B (zh) * 2020-10-23 2022-02-01 上海微创医疗机器人(集团)股份有限公司 手术机器人系统、调整方法、存储介质及终端
KR102407754B1 (ko) * 2020-11-13 2022-06-10 서울과학기술대학교 산학협력단 플렉서블 프로브를 가지는 스캐너
CN112603546A (zh) * 2020-12-24 2021-04-06 哈尔滨思哲睿智能医疗设备有限公司 一种基于腹腔镜手术机器人的远程手术系统及控制方法
JP7393383B2 (ja) * 2021-05-24 2023-12-06 川崎重工業株式会社 手術支援ロボットおよび多関節ロボットの作動方法
CN114326769B (zh) * 2021-12-28 2024-03-29 深圳市优必选科技股份有限公司 机器人运动矫正方法及装置、机器人控制设备和存储介质
CN114880888B (zh) * 2022-07-08 2022-09-09 四川大学 多旋转关节机器人末端效应器位姿相关动力学的预测方法
CN116889471B (zh) * 2023-07-13 2024-04-02 北京长木谷医疗科技股份有限公司 导航手术机械臂最佳关节角度选解方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013336A1 (en) 2005-05-19 2007-01-18 Intuitive Surgical Inc. Software center and highly configurable robotic systems for surgery and other uses
US20070162164A1 (en) * 2005-12-22 2007-07-12 Behzad Dariush Reconstruction, Retargetting, Tracking, And Estimation Of Pose Of Articulated Systems
US20100274087A1 (en) * 2007-06-13 2010-10-28 Intuitive Surgical Operations, Inc. Medical robotic system with coupled control modes

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430643A (en) * 1992-03-11 1995-07-04 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Configuration control of seven degree of freedom arms
US5294873A (en) * 1992-10-27 1994-03-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Kinematic functions for redundancy resolution using configuration control
US8768516B2 (en) * 2009-06-30 2014-07-01 Intuitive Surgical Operations, Inc. Control of medical robotic system manipulator about kinematic singularities
WO2003099119A1 (fr) * 2002-05-29 2003-12-04 Japan Science And Technology Agency Procede de calcul de mecanique corporelle, modele de mecanique corporelle, donnees de modele et procede de production d'un modele corporel
KR101477121B1 (ko) * 2006-06-13 2014-12-29 인튜어티브 서지컬 인코포레이티드 미소절개 수술 시스템
US8517933B2 (en) 2006-06-13 2013-08-27 Intuitive Surgical Operations, Inc. Retraction of tissue for single port entry, robotically assisted medical procedures
US8029516B2 (en) * 2006-06-13 2011-10-04 Intuitive Surgical Operations, Inc. Bracing of bundled medical devices for single port entry, robotically assisted medical procedures
US7849629B1 (en) * 2006-11-15 2010-12-14 Adcock Michael R Automatic fish hook setter apparatus and method
US9096033B2 (en) * 2007-06-13 2015-08-04 Intuitive Surgical Operations, Inc. Surgical system instrument sterile adapter
US8414469B2 (en) * 2008-06-27 2013-04-09 Intuitive Surgical Operations, Inc. Medical robotic system having entry guide controller with instrument tip velocity limiting
CA2776320C (en) 2008-10-07 2017-08-29 The Trustees Of Columbia University In The City Of New York Systems, devices, and method for providing insertable robotic sensory and manipulation platforms for single port surgery
JP4947073B2 (ja) * 2009-03-11 2012-06-06 トヨタ自動車株式会社 ロボット装置及びその制御方法
KR101173619B1 (ko) 2010-04-29 2012-08-13 한국과학기술원 내시경 수술용 로봇장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013336A1 (en) 2005-05-19 2007-01-18 Intuitive Surgical Inc. Software center and highly configurable robotic systems for surgery and other uses
US20070162164A1 (en) * 2005-12-22 2007-07-12 Behzad Dariush Reconstruction, Retargetting, Tracking, And Estimation Of Pose Of Articulated Systems
US20100274087A1 (en) * 2007-06-13 2010-10-28 Intuitive Surgical Operations, Inc. Medical robotic system with coupled control modes

Also Published As

Publication number Publication date
US20140277741A1 (en) 2014-09-18
JP2014180751A (ja) 2014-09-29
EP2777597B1 (en) 2023-09-13
JP6415065B2 (ja) 2018-10-31
US9566709B2 (en) 2017-02-14
EP2777597A3 (en) 2015-04-22
EP2777597A2 (en) 2014-09-17
CN104042344A (zh) 2014-09-17
CN104042344B (zh) 2018-02-13
KR20140113209A (ko) 2014-09-24

Similar Documents

Publication Publication Date Title
KR102188100B1 (ko) 로봇 및 그 제어방법
US9801690B2 (en) Synthetic representation of a surgical instrument
KR101957302B1 (ko) 도구의 제어 움직임에 사용되는 프레임의 위치 및 방향을 추정하는 장치 및 방법
KR102224376B1 (ko) 입력 장치의 오퍼레이터가 볼 수 있는 디스플레이 영역으로 기구가 진입할 때 기구의 제어를 입력 장치로 전환하는 방법
US11534246B2 (en) User input device for use in robotic surgery
US9532839B2 (en) Surgical robot system and method of controlling the same
JP4911701B2 (ja) マスタ・スレーブ式マニピュレータシステム
Munoz et al. A medical robotic assistant for minimally invasive surgery
CN105073058A (zh) 用于通过在零垂直空间内进行咬合同时发生零空间移动而定位操纵器臂的系统和方法
CN105050528A (zh) 机器人外科手术系统中工具的手术中转换
KR20150128049A (ko) 수술 로봇 및 그 제어방법
CN105050775A (zh) 软件可配置的操纵器自由度
CN104334110A (zh) 使用零空间回避操纵器臂与患者碰撞
KR20130073103A (ko) 수술 로봇 및 그 제어 방법
KR20150033473A (ko) 로봇 및 그 제어방법
KR102129337B1 (ko) 초소형 복강경 수술 로봇
KR20230003003A (ko) 마스터 슬레이브 운동의 제어 방법, 로봇 시스템, 장비 및 저장 매체
Ren et al. A master-slave control system with workspaces isomerism for teleoperation of a snake robot
US20230263585A1 (en) Method and system for coordinated multiple-tool movement using a drivable assembly
WO2018150489A1 (ja) 手術器具の動作方法、ロボット手術システム、及びカメラ座標とロボットに関する座標との関係の推定プログラム
KR20140134491A (ko) 로봇 제어 방법
Zhang et al. Configuration, layout, and pose optimization of surgical robotic system
WO2021167628A1 (en) Multi-camera user interface device calibration and tracking
Tobergte et al. Planning and real time control of a minimally invasive robotic surgery system

Legal Events

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