KR102023910B1 - 로봇 및 로봇의 마찰 보상 방법 - Google Patents

로봇 및 로봇의 마찰 보상 방법 Download PDF

Info

Publication number
KR102023910B1
KR102023910B1 KR1020120133922A KR20120133922A KR102023910B1 KR 102023910 B1 KR102023910 B1 KR 102023910B1 KR 1020120133922 A KR1020120133922 A KR 1020120133922A KR 20120133922 A KR20120133922 A KR 20120133922A KR 102023910 B1 KR102023910 B1 KR 102023910B1
Authority
KR
South Korea
Prior art keywords
joint
speed
robot arm
compensation value
friction compensation
Prior art date
Application number
KR1020120133922A
Other languages
English (en)
Other versions
KR20140066544A (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 KR1020120133922A priority Critical patent/KR102023910B1/ko
Priority to US14/089,727 priority patent/US9132552B2/en
Publication of KR20140066544A publication Critical patent/KR20140066544A/ko
Application granted granted Critical
Publication of KR102023910B1 publication Critical patent/KR102023910B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • 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
    • A61B17/04Surgical instruments, devices or methods, e.g. tourniquets for suturing wounds; Holders or packages for needles or suture materials
    • A61B17/06Needles ; Sutures; Needle-suture combinations; Holders or packages for needles or suture materials
    • A61B17/062Needle manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • B25J3/04Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements involving servo mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/39181Compensation of coulomb friction in joint

Abstract

본 발명은 로봇 및 로봇의 마찰 보상 방법에 관한 것이다.
본 발명의 일 실시예에 따른 로봇은 제1 엔드 이펙터 및 제1 관절로 이루어진 입력부를 포함하는 마스터 장치; 제2 엔드 이펙터 및 제2 관절로 이루어진 로봇 암이 구비되며, 상기 마스터 장치에 의해 원격으로 제어되는 슬레이브 장치; 및 상기 입력부가 운동하는 경우, 상기 입력부의 속도에 기초하여 상기 제2 관절의 마찰력을 보상하기 위한 마찰 보상값을 산출하고, 상기 마찰 보상값이 반영된 제어신호를 상기 제2 관절에 마련된 모터로 제공하는 제어부를 포함한다.

Description

로봇 및 로봇의 마찰 보상 방법{Robot and friction compensation method for the robot}
로봇 및 로봇의 마찰 보상 방법이 개시된다. 더욱 상세하게는 마스터 장치와 슬레이브 장치를 포함하는 로봇에서 마스터 장치와 슬레이브 장치 간의 추종 성능을 향상시킬 수 있는 로봇 및 로봇의 마찰 보상 방법이 개시된다.
로봇은 어떤 작업이나 조작을 자동적으로 하는 기계 장치를 말한다. 로봇은 동력을 사용하여 사람 대신 일을 하거나 사람과 함께 일을 하며, 그 이용 분야에 따라, 가정용 로봇, 탐사용 로봇, 산업용 로봇, 및 의료용 로봇 등으로 분류될 수 있다.
의료용 로봇은 수술 로봇이라고도 불리며, 외과를 포함한 다양한 의학 분야에 응용되고 있다. 수술 로봇은 마스터 장치 및 마스터 장치에 의해 원격으로 제어되는 슬레이브 장치를 포함한다.
마스터 장치에는 입력부가 구비되며, 조작자는 이 입력부를 조작하여 슬레이브 장치의 움직임을 제어할 수 있다.
슬레이브 장치에는 수술기구가 마련된 로봇 암, 로봇 암이 연결된 몸체 등이 구비될 수 있다. 로봇 암은 복수의 링크를 포함할 수 있으며, 링크와 링크가 연결되는 부위(즉, 관절)마다 모터가 구비된다.
관절에 구비된 모터는 마스터 장치의 입력부에서 발생한 속도를 추종하도록 구동된다. 이처럼 관절에 구비된 모터를 구동할 때에는 각 관절에 존재하는 마찰력을 상쇄시킬 수 있도록 마찰 보상을 수행할 필요가 있다.
마찰 보상을 위하여 종래에는 로봇 암의 각 관절마다 속도 센서를 구비하여 관절 속도를 측정하고, 측정된 관절 속도를 이용하여 마찰 보상값을 구한다. 그리고 구해진 마찰 보상값을 모터로 제공함으로써, 마찰 보상을 수행한다.
그러나 종래의 수술 로봇에서 사용되는 마찰 보상 방법은 로봇 암의 관절 속도를 이용하여 로봇 암의 관절 마찰을 보상한 것이므로 로봇 암 자체의 운동을 개선할 수는 있지만 슬레이브 장치(또는 마스터 장치)의 움직임이 마스터 장치(또는 슬레이브 장치)의 움직임을 보다 정확하게 추종하도록 제어하는데에는 한계가 있다.
마스터 장치와 슬레이브 장치를 포함하는 로봇에서 마스터 장치와 슬레이브 장치 간의 추종 성능을 향상시킬 수 있는 로봇 및 로봇의 마찰 보상 방법이 제공된다.
상술한 과제를 해결하기 위하여, 로봇의 일 실시예는 제1 엔드 이펙터 및 제1 관절로 이루어진 입력부를 포함하는 마스터 장치; 제2 엔드 이펙터 및 제2 관절로 이루어진 로봇 암이 구비되며, 상기 마스터 장치에 의해 원격으로 제어되는 슬레이브 장치; 및 상기 입력부가 운동하는 경우, 상기 입력부의 속도에 기초하여 상기 제2 관절의 마찰력을 보상하기 위한 마찰 보상값을 산출하고, 상기 마찰 보상값이 반영된 제어신호를 상기 제2 관절에 마련된 모터로 제공하는 제어부를 포함할 수 있다.
상기 제어부는 상기 로봇 암이 정지되어 있는 경우, 상기 제2 관절의 최대 정지 마찰력을 상기 마찰 보상값으로 출력하되, 상기 출력된 마찰 보상값의 부호는 상기 입력부의 운동 방향에 기초한다.
상기 제어부는 상기 마스터 장치 또는 상기 슬레이브 장치에 구비될 수 있다.
상기 마스터 장치는 상기 입력부의 속도를 검출하기 위한 속도 검출부를 더 포함할 수 있다.
상기 마스터 장치는 상기 입력부의 위치를 검출하기 위한 위치 검출부를 더 포함하며, 상기 제어부는 상기 입력부의 위치로부터 상기 입력부의 속도를 산출할 수 있다.
상기 제어부는 상기 입력부의 속도를 상기 제2 관절의 속도로 변환하고, 상기 변환된 속도에 상기 제2 관절의 마찰 계수를 곱하여 상기 마찰 보상값을 산출할 수 있다.
상술한 과제를 해결하기 위하여, 로봇의 다른 실시예는 제1 엔드 이펙터 및 제1 관절로 이루어진 입력부를 포함하는 마스터 장치; 제2 엔드 이펙터 및 제2 관절로 이루어진 로봇 암이 구비되며, 상기 마스터 장치에 의해 원격으로 제어되는 슬레이브 장치; 및 상기 로봇 암이 운동하는 경우, 상기 로봇 암의 속도에 기초하여 상기 제1 관절의 마찰력을 보상하기 위한 마찰 보상값을 산출하고, 상기 마찰 보상값이 반영된 제어신호를 상기 제1 관절에 마련된 모터로 제공하는 제어부를 포함할 수 있다.
상기 제어부는 상기 입력부의 움직임이 정지되어 있는 경우, 상기 제1 관절의 최대 정지 마찰력을 상기 마찰 보상값으로 출력하되, 상기 출력된 마찰 보상값의 부호는 상기 로봇 암의 운동 방향에 기초한다.
상기 제어부는 상기 로봇 암의 속도를 상기 제1 관절의 속도로 변환하고, 상기 변환된 속도에 상기 제1 관절의 마찰 계수를 곱하여 상기 마찰 보상값을 산출할 수 있다.
상기 슬레이브 장치는 상기 로봇 암의 속도를 검출하기 위한 속도 검출부를 더 포함할 수 있다.
상기 슬레이브 장치는 상기 로봇 암의 위치를 검출하기 위한 위치 검출부를 더 포함하며, 상기 제어부는 상기 로봇 암의 위치로부터 상기 로봇 암의 속도를 산출할 수 있다.
상기 제어부는 상기 마스터 장치 또는 상기 슬레이브 장치에 구비될 수 있다.
상술한 과제를 해결하기 위하여, 로봇의 또 다른 실시예는 제1 엔드 이펙터 및 제1 관절로 이루어진 입력부를 포함하는 마스터 장치; 제2 엔드 이펙터 및 제2 관절로 이루어진 로봇 암이 구비되며, 상기 마스터 장치에 의해 원격으로 제어되는 슬레이브 장치; 상기 입력부가 운동하는 경우, 상기 입력부의 속도에 기초하여 상기 제2 관절의 마찰력을 보상하기 위한 제1 마찰 보상값을 산출하고, 상기 제1 마찰 보상값이 반영된 제어신호를 상기 제2 관절에 마련된 모터로 제공하는 제1 제어부; 및 상기 로봇 암이 운동하는 경우, 상기 로봇 암의 속도에 기초하여 상기 제1 관절의 마찰력을 보상하기 위한 제2 마찰 보상값을 산출하고, 상기 제2 마찰 보상값이 반영된 제어신호를 상기 제1 관절에 마련된 모터로 제공하는 제2 제어부를 포함할 수 있다.
상기 제1 제어부는 상기 로봇 암이 정지되어 있는 경우, 상기 제2 관절의 최대 정지 마찰력을 상기 제1 마찰 보상값으로 출력하되, 상기 출력된 제1 마찰 보상값의 부호는 상기 입력부의 운동 방향에 기초할 수 있다.
상기 제1 제어부는 상기 입력부의 속도를 상기 제2 관절의 속도로 변환하고, 상기 변환된 속도에 상기 제2 관절의 마찰 계수를 곱하여 상기 제1 마찰 보상값을 산출할 수 있다.
상기 마스터 장치는 상기 입력부의 속도를 검출하기 위한 속도 검출부를 더 포함할 수 있다.
상기 마스터 장치는 상기 입력부의 위치를 검출하기 위한 위치 검출부를 더 포함하며, 상기 제1 제어부는 상기 입력부의 위치로부터 상기 입력부의 속도를 산출할 수 있다.
상기 제2 제어부는 상기 입력부가 정지되어 있는 경우, 상기 제1 관절의 최대 정지 마찰력을 상기 제2 마찰 보상값으로 출력하되, 상기 출력된 제2 마찰 보상값의 부호는 상기 로봇 암의 운동 방향에 기초할 수 있다.
상기 제1 제어부는 상기 로봇 암의 속도를 상기 제1 관절의 속도로 변환하고, 상기 변환된 속도에 상기 제1 관절의 마찰 계수를 곱하여 상기 제2 마찰 보상값을 산출할 수 있다.
상기 슬레이브 장치는 상기 로봇 암의 속도를 검출하기 위한 속도 검출부를 더 포함할 수 있다.
상기 슬레이브 장치는 상기 로봇 암의 위치를 검출하기 위한 위치 검출부를 더 포함하며, 상기 제2 제어부는 상기 로봇 암의 위치로부터 상기 로봇 암의 속도를 산출할 수 있다.
상기 제1 제어부 및 상기 제2 제어부 중 적어도 하나는 상기 마스터 장치 또는 상기 슬레이브 장치에 구비될 수 있다.
마스터 장치에서 발생한 속도를 이용하여 슬레이브 장치의 마찰 보상을 수행하므로, 슬레이브 장치에 속도 센서가 구비되지 않았거나, 저성능의 속도 센서가 구비된 경우에도, 슬레이브 장치의 움직임이 마스터 장치의 움직임을 원활하게 추종하도록 제어할 수 있다.
마스터 장치에서 발생한 속도를 이용하여 슬레이브 장치의 마찰 보상을 수행하므로, 슬레이브 장치의 각 관절에 속도 센서를 구비하지 않아도 된다. 이로써 속도 센서를 사용하는 경우에 비하여 생산 비용을 줄일 수 있고, 슬레이브 장치의 설계가 용이해진다.
슬레이브 장치에서 발생한 속도 및 외력을 마스터 장치의 움직임에 반영할 수 있으므로, 마스터 장치를 조작하고 있는 조작자는 슬레이브 장치의 움직임을 고려하여 마스터 장치를 조작할 수 있다.
슬레이브 장치의 정지 마찰력을 보상하는 경우, 그 방향을 마스터 장치의 운동 방향으로부터 결정할 수가 있으므로, 정지 마찰력을 효과적으로 보상할 수 있다. 따라서 슬레이브 장치는 동작 초기부터 원활하게 마스터 장치의 운동을 추종할 수 있다.
도 1은 수술 로봇의 구성을 개략적으로 도시한 도면이다.
도 2는 수술 로봇에서 마스터 장치와 슬레이브 장치의 제어 구성에 대한 일 실시예를 예시한 도면이다.
도 3은 도 2에 도시된 수술 로봇에서 수행되는 로봇 암에 대한 마찰 보상 방법을 도시한 흐름도이다.
도 4는 수술 로봇에서 마스터 장치와 슬레이브 장치의 제어 구성에 대한 다른 실시예를 예시한 도면이다.
도 5는 도 4에 도시된 수술 로봇에서 수행되는 입력부에 대한 마찰 보상 방법을 도시한 흐름도이다.
도 6은 수술 로봇에서 마스터 장치와 슬레이브 장치의 제어 구성에 대한 또 다른 실시예를 예시한 도면이다.
도 7은 도 6에 도시된 수술 로봇에서 로봇 암과 입력부에 대하여 수행되는 마찰 보상 방법을 개략적으로 도시한 도면이다.
도 8은 마찰 보상을 수행한 경우, 마스터 장치와 슬레이브 장치의 속도 변화를 도시한 그래프이다.
도 9는 마찰 보상을 수행하지 않은 경우, 마스터 장치와 슬레이브 장치의 속도 변화를 도시한 그래프이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
이하, 첨부된 도면들을 참조하여 로봇 및 로봇의 마찰 보상 방법에 대한 실시예들을 설명한다. 도면에서 동일한 도면 부호는 동일한 구성 요소를 나타낸다.
도 1은 수술 로봇의 구성을 개략적으로 도시한 도면이다. 도 1에 도시된 바와 같이, 수술 로봇은 마스터 장치(100)와 슬레이브 장치(200)를 포함할 수 있다. 마스터 장치(100)와 슬레이브 장치(200)에는 동일하거나 유사한 기능을 하는 구성요소들이 포함될 수 있다. 이하의 설명에서는 설명의 편의를 위하여, 마스터 장치(100)에 포함되는 구성요소에 대해서는 '제1'이라는 용어를 사용하고, 슬레이브 장치(200)에 포함되는 구성요소에 대해서는 '제2'라는 용어를 사용하여, 마스터 장치(100)의 구성요소와 슬레이브 장치(200)의 구성요소를 구분하기로 한다.
마스터 장치(100)는 슬레이브 장치(200)에 대한 제어 기능을 갖는 장치를 말한다. 마스터 장치(100)에는 입력부(10) 및 제1 디스플레이부(도 2의 도면부호 '160' 참조)가 마련될 수 있다.
입력부(10)는 조작자(D)가 마스터 장치(100)의 동작과 관련된 명령 또는 슬레이브 장치(200)에 구비된 로봇 암의 동작을 원격으로 제어하기 위한 명령을 입력할 수 있는 부분으로, 예를 들어, 클러치 페달, 스위치, 버튼 및 햅틱 디바이스 중에서 적어도 하나를 포함할 수 있다. 이하의 설명에서는 입력부(10)로서, 햅틱 디바이스를 예로 들어 설명하기로 한다.
햅틱 디바이스는 적어도 하나의 핸들부(10a, 101b)를 포함할 수 있다. 도 1은 햅틱 디바이스가 두 개의 핸들부(10A, 10B)를 포함하는 경우를 도시하고 있다. 조작자(D)는 양 손으로 두 개의 핸들부(10A, 10B)를 각각 파지하고, 각가의 핸들부(10A, 10B)를 조작하여 로봇 암의 동작을 제어할 수 있다. 도면에 도시되지는 않았으나, 각각의 핸들부에는 제1 엔드 이펙터(103), 복수의 제1 링크(101), 복수의 제1 관절(102) 및 제1 검출부(도 2의 110 및 120 참조)가 구비될 수 있다.
제1 엔드 이펙터는 조작자(D)의 손이 접촉되는 부분이다. 제1 엔드 이펙터는 조작자(D)가 손으로 감쌀 수 있도록 펜슬 형상 혹은 스틱 형상을 가질 수 있으며, 조작자(D)가 적어도 하나의 손가락을 끼울 수 있도록 가위 형상을 가질 수도 있다. 그러나 제1 엔드 이펙터의 형상은 상술한 예로 한정되는 것은 아니며, 로봇 암의 동작을 제어하기 위한 형상이라면, 본 발명의 범주에 포함될 수 있다. 또한, 두 개의 핸들부(10A, 10B)에 각각 마련된 제1 엔드 이펙터들의 형상은 서로 동일할 수도 있고, 서로 다를 수도 있다.
제1 관절(102)은 제1 링크(101)와 제1 링크(101)의 연결 부위를 말한다. 제1 관절(102)은 1 자유도 이상을 가질 수 있다. 여기서 자유도(Degree of Freedom: DOF)란 기구학(Kinematics) 또는 역기구학(Inverse Kinematics)에서의 자유도를 말한다. 기구의 자유도란 기구의 독립적인 운동의 수, 또는 각 링크 간의 상대 위치의 독립된 운동을 결정하는 변수의 수를 말한다. 예를 들어, x축, y축, z축으로 이루어진 3차원 공간 상의 물체는 물체의 공간적인 위치를 결정하기 위한 3 자유도(각 축에서의 위치)와, 물체의 공간적인 자세를 결정하기 위한 3 자유도(각 축에 대한 회전 각도) 중에서 하나 이상의 자유도를 갖는다. 구체적으로, 물체가 각각의 축을 따라 이동 가능하고, 각각의 축을 기준으로 회전 가능하다고 한다면, 이 물체는 6 자유도를 갖는 것으로 이해될 수 있다.
제1 검출부(110, 120)는 제1 관절(102)에 마련되어, 제1 관절(102)의 상태와 관련된 정보를 검출할 수 있다. 이를 위해 제1 검출부(110, 120)는 제1 관절(102)에 가해진 힘/토크를 검출하기 위한 제1 힘/토크 검출부(120), 제1 관절(102)의 위치를 검출하기 위한 제1 위치 검출부(110), 제1 관절(203)의 속도를 검출하기 위한 제1 속도 검출부(미도시)를 포함할 수 있다. 이 때, 제1 속도 검출부는 제1 위치 검출부(110)로 사용되는 위치 센서의 종류에 따라 생략될 수도 있다.
상술한 바와 같은 마스터 장치(100)는 슬레이브 장치(200)와 네트워크를 형성할 수 있다. 이 때, 네트워크는 유선 네트워크 또는 무선 네트워크로 구현되거나, 이들의 조합으로 구현될 수도 있다. 네트워크를 통해 슬레이브 장치(200)와 연결된 마스터 장치(100)는 슬레이브 장치(200)로 제어 신호를 송신할 수 있으며, 슬레이브 장치(200)로부터 영상 신호 또는 로봇 암의 동작 상태에 대한 데이터 중 적어도 하나를 수신하여 제1 디스플레이부(도 2의 160 참조)를 통해 디스플레이할 수 있다.
슬레이브 장치(200)는 마스터 장치(100)로부터 수신한 제어 신호에 따라 움직이는 장치이다. 슬레이브 장치(200)는 몸체, 몸체에 연결되는 적어도 하나의 로봇 암, 적어도 하나의 로봇 암 중에서 특정 로봇 암에 구비된 내시경을 통해 촬영된 영상을 디스플레이하는 제2 디스플레이부(도 2의 260 참조)를 포함할 수 있다.
각각의 로봇 암은 제2 엔드 이펙터(203), 복수의 제2 링크(201), 복수의 제2 관절(202) 및 제2 검출부(도 2의 210 및 220 참조)를 포함할 수 있다.
제2 엔드 이펙터(203)는 제2 링크(201)의 끝단에 마련된다. 제2 엔드 이펙터(203)는 내시경, 수술도구를 포함할 수 있다. 수술도구는 인체 조직을 절제(resecting), 절개(cutting), 응고(coagulating), 세척하기 위한 도구를 포함할 수 있다.
제2 관절(202)은 고정형 관절(fixed joint), x, y, z축 중에서 지정된 축을 따라 회전하는 회전형 관절(revolute joint), x, y, z축 중에서 지정된 축을 따라 이동하는 직선형 관절(prismatic joint) 중 하나로 구현될 수 있다. 이러한 제2 관절(202)은 1 자유도 이상을 가질 수 있다.
제2 관절(202)에는 제2 구동부(도 2의 270 참조)가 마련될 수 있다. 제2 구동부(270)는 마스터 장치(100)로부터 수신한 제어신호에 따라 제2 관절(202)로 구동력을 제공한다. 제2 구동부(270)는 모터, 진공 펌프(vacuum pump), 수압 펌프(hydraulic pump) 중 하나로 구현될 수 있다. 이하의 설명에서는 제2 구동부(270)가 모터로 구현된 경우를 예로 들어 설명하기로 한다.
제2 검출부(210, 220)는 제2 관절(202)에 마련되어, 제2 관절(202)의 상태와 관련된 정보를 검출할 수 있다. 이를 위해 제2 검출부(210, 220)는 제2 관절(202)에 가해진 힘/토크를 검출하기 위한 제2 힘/토크 검출부(220), 제2 관절(202)의 위치를 검출하기 위한 제2 위치 검출부(210)를 포함할 수 있다.
다음으로, 도 2 내지 도 9를 참조하여, 수술 로봇의 제어 구성 및 수술 로봇에서의 마찰 보상 방법에 대한 실시예들을 설명하기로 한다.
실시예들을 설명하기에 앞서, 이하에서 사용될 용어 및 기호에 대해서 간략히 설명하기로 한다.
마스터 장치(100)의 입력부(10)와 관련된 변수들은 관절 공간(joint space)과 작업 공간(task space)에 대해 나타낼 수 있다. 이하, 입력부(10)의 관절 공간을 '제1 관절 공간'이라 칭하고, '
Figure 112012097013119-pat00001
'으로 표시하기로 한다. 입력부(10)에 마련된 제1 관절(102)의 개수가 N개인 경우, 제1 관절 공간(
Figure 112012097013119-pat00002
)은 N차원 공간이 된다.
슬레이브 장치(200)의 로봇 암과 관련된 변수들은 관절 공간과 작업 공간에 대해 나타낼 수 있다. 이하, 로봇 암(202)의 관절 공간을 '제2 관절 공간'이라 칭하고, '
Figure 112012097013119-pat00003
'로 표시하기로 한다. 로봇 암(20)에 마련된 제2 관절(202)의 개수가 n개인 경우, 제2 관절 공간(
Figure 112012097013119-pat00004
)은 n차원 공간이 된다.
한편, 작업 공간은 입력부(10)와 로봇 암 간의 공통의 공간으로, 카르테시안 공간(Cartesian space)이라고도 한다. 이하, 작업 공간을 '
Figure 112012097013119-pat00005
'로 표시하기로 한다. 작업 공간(
Figure 112012097013119-pat00006
)은 강체(rigitd body)가 가지는 3개의 병진 자유도(x, y, z 각 축에서의 위치)와 3개의 회전 자유도(각 축에 대하여 기울어진 각도)를 나타내는 6차원 공간이다.
도 2는 수술 로봇에서 마스터 장치(100)와 슬레이브 장치(200)의 제어 구성에 대한 일 실시예를 도시한 도면이다.
도 2에 도시된 수술 로봇은 입력부(10)가 운동하는 경우, 입력부(10)의 속도에 기초하여, 로봇 암에 마련된 제2 관절(202)의 마찰력을 보상한다. 여기서 입력부(10)의 속도는 제1 관절(102)의 속도를 의미할 수 있다.
마스터 장치(100)는 슬레이브 장치(200)의 로봇 암이 입력부(10)의 동작을 추종하도록 제어하기 위한 제어신호를 생성하여 슬레이브 장치(200)로 전송할 수 있다. 이 때, 마스터 장치(100)에서 슬레이브 장치(200)로 전송되는 제어신호는 로봇 암에 마련된 제2 관절(202)의 마찰력을 보상하기 위한 마찰 보상값이 적용된 제어신호일 수 있다. 이러한 마스터 장치(100)는 도 2에 도시된 바와 같이, 제1 위치 검출부(110), 제1 힘/토크 검출부(120), 제1 제어부(140), 제1 저장부(150), 제1 디스플레이부(160) 및 제1 통신부(180)를 포함할 수 있다.
제1 위치 검출부(110)는 제1 관절(102)의 위치(회전 각도)를 검출할 수 있다. 이러한 제1 위치 검출부(110)는 위치 센서로 구현될 수 있다. 위치 센서로는 포텐쇼미터(Potentiometer), 엔코더(Encoder)가 사용될 수 있다.
제1 힘/토크 검출부(120)는 제1 관절(102)에 인가된 힘/토크를 검출할 수 있다. 제1 힘/토크 검출부(120)는 힘/토크 센서로 구현될 수 있다.
제1 제어부(140)는 슬레이브 장치(200)로부터 수신한 영상 데이터를 처리할 수 있다. 또한, 제1 제어부(140)는 입력부(10)의 속도에 기초하여 로봇 암에 마련된 제2 관절(202)의 마찰력을 보상하기 위한 마찰 보상값을 산출하고, 산출된 마찰 보상값이 반영된 제어신호를 생성할 수 있다. 생성된 제어신호는 슬레이브 장치(200)의 로봇 암으로 제공될 수 있다.
이를 위하여 제1 제어부(140)는 제1 속도 산출부(141), 제1 변환부(142), 제1 마찰 보상값 산출부(143), 제1 제어신호 생성부(144), 및 제1 영상 처리부(145)를 포함할 수 있다.
제1 속도 산출부(141)는 제1 위치 검출부(110)에 의해 검출된 위치신호에 기초하여 입력부(101)에 마련된 제1 관절(102)의 속도를 산출할 수 있다. 예를 들면, 제1 위치 검출부(110)에서 검출된 위치신호를 미분하여 제1 관절(102)의 속도를 산출할 수 있다. 이 때, 산출된 제1 관절(102)의 속도는 제1 관절 공간(
Figure 112012097013119-pat00007
)에서의 속도이다. 이하의 설명에서는 제1 관절 공간(
Figure 112012097013119-pat00008
)에서의 제1 관절(102)의 속도를 '
Figure 112012097013119-pat00009
'으로 표시하기로 한다. 도 2는 제1 관절(102)의 위치신호로부터 속도신호를 산출하는 경우를 예로 들어 설명하였으나, 제1 관절(102)의 속도를 검출하기 위한 속도 검출부(미도시)를 별도로 구비하는 것도 가능하다. 이처럼 속도 검출부가 별도로 구비된 경우, 제1 제어부(140)에서는 제1 속도 산출부(141)가 생략될 수 있다. 제1 변환부(142)는 제1 관절 공간(
Figure 112012097013119-pat00010
)에서의 제1 관절(102)의 속도(
Figure 112012097013119-pat00011
)를 작업 공간(
Figure 112012097013119-pat00012
)에서의 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00013
)로 변환하고, 작업 공간(
Figure 112012097013119-pat00014
)에서의 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00015
)를 제2 관절 공간(
Figure 112012097013119-pat00016
)에서의 속도(
Figure 112012097013119-pat00017
)로 변환할 수 있다. 이 속도(
Figure 112012097013119-pat00018
)는 제2 관절(202)의 목표 속도가 된다.
앞서 설명한 바와 같이, 제1 관절(102)이 N개의 관절로 이루어 진 경우, 제1 관절 공간(
Figure 112012097013119-pat00019
)은 N차원 공간이 된다. 마찬가지로, 제2 관절(202)이 n개의 관절로 이루어진 경우, 제2 관절 공간 (
Figure 112012097013119-pat00020
)은 n차원 공간이 된다. 작업 공간 (
Figure 112012097013119-pat00021
)은 강체(rigid body)가 가지는 6 자유도 (병진 자유도 3, 회전 자유도 3)를 나타내는 6차원 공간이다. 제1 엔드 이펙터의 관절 공간에서의 속도를 제2 엔드 이펙터의 관절 공간에 대해 나타내기 위해서, 각기 다른 관절 공간
Figure 112012097013119-pat00022
Figure 112012097013119-pat00023
에서의 관절 속도들 사이의 변환을 하는 것이다.
제1 관절 공간(
Figure 112012097013119-pat00024
)에서의 제1 관절(102)의 속도(
Figure 112012097013119-pat00025
)를 작업 공간(
Figure 112012097013119-pat00026
)에서의 제1 엔드이펙터(103)의 속도(
Figure 112012097013119-pat00027
)로 변환하기 위해 제1 변환부(142)는 입력부(10)의 자코비안 행렬(
Figure 112012097013119-pat00028
)을 이용할 수 있다. 이 자코비안 행렬(
Figure 112012097013119-pat00029
)은 제1 관절 공간(
Figure 112012097013119-pat00030
)에서의 제1 관절(102)의 속도(
Figure 112012097013119-pat00031
)를 작업공간(
Figure 112012097013119-pat00032
)에서의 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00033
)로 매핑한다. 즉,
Figure 112012097013119-pat00034
으로 나타낼 수 있다. 여기서, 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00035
)는 제2 엔드 이펙터가 추종해야 하는 목표 속도이기도 하다. 이것을 제2 관절 공간(
Figure 112012097013119-pat00036
)에서의 속도(
Figure 112012097013119-pat00037
)로 변환하기 위해서, 제1 변환부(142)는 로봇 암의 자코비안 행렬 (
Figure 112012097013119-pat00038
)의 역행렬(
Figure 112012097013119-pat00039
) 또는 의사역행렬(Psuedo-inverse matrix)을 이용할 수 있다. 변환식은
Figure 112012097013119-pat00040
와 같이 나타낼 수 있다. 따라서, 제1 변환부(142)에서 출력하는
Figure 112012097013119-pat00041
의 의미는 제2 관절 공간(
Figure 112012097013119-pat00042
)에서 본 제1 엔드 이펙터(103)의 속도이면서, 로봇 암의 제2 관절(202)의 목표 속도이기도 하다.
제1 마찰 보상값 산출부(143)는 제1 변환부(142)로부터 제공받은 속도 즉, 제2 관절 공간(
Figure 112012097013119-pat00043
)에서 본 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00044
)에 기초하여, 로봇 암의 제2 관절(202)에 적용할 마찰 보상값(
Figure 112012097013119-pat00045
)을 산출할 수 있다. 이 때, 마찰 보상값(
Figure 112012097013119-pat00046
)은 [수학식 1]을 이용하여 산출될 수 있다.
[수학식 1]
Figure 112012097013119-pat00047
[수학식 1]에 표시된 항들 중에서 아래첨자가 's'인 것은 슬레이브 장치(200)와 관련된 항이고, 아래첨자가 'm'인 것은 마스터 장치(100)와 관련된 항을 의미한다. 즉, [수학식 1]에서
Figure 112012097013119-pat00048
는 로봇 암의 제2 관절(202)에 적용할 마찰 보상값을 나타낸다. 그리고,
Figure 112012097013119-pat00049
는 제2 관절(202)의 마찰 계수를 나타낸다. 그리고,
Figure 112012097013119-pat00050
은 제2 관절 공간(
Figure 112012097013119-pat00051
)에서 본 제1 엔드 이펙터(103)의 속도 즉, 제2 관절(202)의 목표 속도를 나타낸다. 제2 관절(202)의 개수가 하나인 경우, 마찰 계수(
Figure 112012097013119-pat00052
)는 스칼라(scalar)일 수 있다. 제2 관절(202)이 복수개인 경우라면, 마찰 계수(
Figure 112012097013119-pat00053
)는 각 제2 관절(202)의 마찰 계수들을 성분으로 갖는 대각행렬일 수 있다. 이러한 마찰 계수(
Figure 112012097013119-pat00054
)는 사전에 저장된 값 또는 추정된 값일 수 있다.
제1 제어신호 생성부(144)는 로봇 암의 동작 상태에 따라, 마찰 보상값이 반영된 제어신호를 생성할 수 있다. 이 때, 마찰 보상값으로는 제1 마찰 보상값 산출부(143)에서 산출된 마찰 보상값이 사용되거나, 제2 관절(202)의 최대 정지 마찰력을 고려한 마찰 보상값이 사용될 수 있다.
구체적으로, 로봇 암의 동작 상태가 정지 상태가 아닌 경우, 제1 제어신호 생성부(144)는 제1 마찰 보상값 산출부(143)에서 산출된 마찰 보상값을 반영하여 제어신호를 생성할 수 있다.
만약, 로봇 암의 동작 상태가 정지 상태라면, 제1 제어신호 생성부(144)는 제2 관절(202)의 최대 정지 마찰력을 고려한 마찰 보상값을 반영하여 제어신호를 생성할 수 있다. 단, 이 때 마찰 보상값의 부호는 제2 관절(20)의 목표 속도(
Figure 112012097013119-pat00055
)의 부호에 따라 결정될 수 있다. 제2 관절(20)의 목표 속도(
Figure 112012097013119-pat00056
)의 부호는 입력부(10)의 운동 방향에 따라 결정된다. 따라서, 입력부(10)의 운동 방향이 양의 방향이라면, 마찰 보상값의 부호는 플러스(+)로 결정된다. 만약, 입력부(10)의 운동 방향이 음의 방향이라면, 마찰 보상값의 부호는 마이너스(-)로 결정된다.
마찰 보상값이 반영된 제어신호는 로봇 암의 운동 방정식을 기초로 생성될 수 있다. 로봇 암의 운동 방정식은 [수학식 2]와 같다.
[수학식 2]
Figure 112012097013119-pat00057
[수학식 2]에서
Figure 112012097013119-pat00058
는 로봇 암의 제2 관절(202)에 작용하는 마찰력을 의미한다. 여기서,
Figure 112012097013119-pat00059
의 부호가 마이너스인 이유는 로봇 암의 제2 관절(202)에 작용하는 마찰력은 로봇 암의 운동 방향과 반대이기 때문이다. [수학식 2]에서
Figure 112012097013119-pat00060
는 제1 마찰 보상값 산출부(143)에서 산출된 마찰 보상값을 의미하며,
Figure 112012097013119-pat00061
는 로봇 암으로 제공되는 제어신호를 의미하며,
Figure 112012097013119-pat00062
는 외부 환경과의 상호작용으로 인해 로봇 암이 받는 힘을 말한다. 여기서,
Figure 112012097013119-pat00063
는 마찰 보상값이 적용되지 않은 제어신호를 의미하는 것으로, [수학식 3]과 같이 나타낼 수 있다.
[수학식 3]
Figure 112012097013119-pat00064
[수학식 3]에서
Figure 112012097013119-pat00065
Figure 112012097013119-pat00066
는 제어이득(control gains),
Figure 112012097013119-pat00067
은 제2 관절 공간(
Figure 112012097013119-pat00068
)에서 본 제1 엔드 이펙터(103)의 속도 즉, 제2 관절(202)의 목표 속도를 나타낸다. 그리고
Figure 112012097013119-pat00069
는 제2 관절 공간(
Figure 112012097013119-pat00070
)에서의 제2 관절(202)의 속도,
Figure 112012097013119-pat00071
은 제2 관절 공간(
Figure 112012097013119-pat00072
)에서 본 제1 엔드 이펙터(103)의 위치,
Figure 112012097013119-pat00073
는 제2 관절 공간(
Figure 112012097013119-pat00074
)에서의 제2 관절(202)의 위치를 말한다. 제2 관절(202)에 대하여 마찰 보상이 수행되지 않는 경우라면, 로봇 암은 [수학식 3]에 나타낸 제어신호(
Figure 112012097013119-pat00075
)에 의해 입력부(10)의 제1 엔드 이펙터(103)의 위치와 속도를 추종하도록 동작한다.
상술한 바와 같이, 제1 제어부(140)는 [수학식 2] 및 [수학식 3]에 기초하여 마찰 보상값이 반영된 제어신호를 생성할 수 있다. 생성된 제어신호는 제1 통신부(180)를 통해 슬레이브 장치(200)로 전송될 수 있다. 이 후, 마찰 보상값이 반영된 제어신호는 로봇 암의 제2 관절(202)에 마련된 제2 구동부(270)로 제공된다. 제2 구동부(270)는 이 제어신호에 따라 구동되어, 제2 관절(202)을 이동 또는 회전시킨다.
제1 영상 처리부(145)는 슬레이브 장치(200)로부터 수신한 영상 데이터를 처리하여 제1 디스플레이부(160)를 통해 디스플레이할 수 있다. 이 때, 영상 처리의 영상 처리의 예로는 촬영된 영상의 확대, 축소, 이동 회전, 편집, 및 필터링을 들 수 있다. 제1 영상 처리부(145)에서 수행되는 영상처리 과정은 경우에 따라 생략될 수도 있다.
제1 저장부(150)는 마찰 보상값을 산출하는데 필요한 데이터나 알고리즘, 마찰 보상값이 반영된 제어신호를 생성하는데 필요한 데이터나 알고리즘을 저장할 수 있다. 이러한 제1 저장부(150)는 롬(Read Only Memory: ROM), 램(Random Access Memory: RAM), 피롬(Programmable Read Only Memory: PROM), 이피롬(Erasable Programmable Read Only Memory: EPROM), 플래시 메모리와 같은 비휘발성 메모리 소자, 또는 램(Random Access Memory: RAM)과 같은 휘발성 메모리 소자, 또는 하드 디스크, 광 디스크와 같은 저장 매체로 구현될 수 있다. 그러나 상술한 예로 한정되는 것은 아니며, 저장부는 당업계에 알려져 있는 임의의 다른 형태로 구현될 수도 있음은 물론이다.
제1 통신부(180)는 슬레이브 장치(200)의 제2 통신부(280)와 짝을 이루어 동작하는 부분으로, 제1 제어신호 생성부(144)에서 생성된 제어신호를 슬레이브 장치(200)로 송신하거나, 슬레이브 장치(200)로부터 영상 데이터 혹은 로봇 암의 동작 상태에 관한 데이터를 수신할 수 있다.
슬레이브 장치(200)는 마스터 장치(100)로부터 수신한 제어신호에 따라 로봇 암을 동작시킬 수 있다. 이러한 슬레이브 장치(200)는 도 2에 도시된 바와 같이, 촬영부(230), 제2 위치 검출부(210), 제2 힘/토크 검출부(220), 제2 제어부(240), 제2 저장부(250), 제2 디스플레이부(260), 제2 구동부(270) 및 제2 통신부(280)를 포함할 수 있다.
제2 위치 검출부(210)는 로봇 암에 마련된 제2 관절(202)의 위치(회전 각도)를 검출할 수 있다. 이러한 제2 위치 검출부(210)는 위치 센서로 구현될 수 있다. 위치 센서로는 포텐쇼미터(Potentiometer), 엔코더(Encoder)가 사용될 수 있다.
제2 힘/토크 검출부(220)는 제2 관절(202)에 인가된 힘/토크를 검출할 수 있다. 제2 힘/토크 검출부(220)는 힘/토크 센서로 구현될 수 있다.
촬영부(230)는 환자의 조직 내부를 촬영할 수 있다. 촬영부(230)는 내시경 등으로 구현될 수 있다. 촬영부(230)에서 촬영된 영상은 제2 제어부(240)로 제공되어 영상처리 과정을 거칠 수 있다. 영상처리 과정을 거친 영상은 제2 디스플레이부(260)를 통해 디스플레이되거나, 제2 통신부(280)를 통해 마스터 장치(100)로 전송될 수 있다.
제2 제어부(240)는 슬레이브 장치(200)를 구성하는 구성요소들을 연결하고, 제어하는 역할을 한다. 제2 제어부(240)는 제2 영상 처리부(245)를 포함할 수 있는데, 제2 영상 처리부(245)는 촬영부(230)에 의해 촬영된 영상에 대한 영상처리를 수행할 수 있다. 여기서, 영상 처리의 예로는 촬영된 영상의 확대, 축소, 이동 회전, 편집, 및 필터링을 들 수 있다. 제2 제어부(240)에서 수행되는 영상처리 과정은 경우에 따라 생략될 수도 있다.
제2 저장부(250)는 슬레이브 장치(200)의 동작을 제어하는데 필요한 데이터나 알고리즘을 저장할 수 있다. 예를 들면, 촬영부(230)에서 촬영된 영상을 저장하거나, 슬레이브 장치(200)의 동작 상태에 관한 데이터 등을 저장할 수 있다.
제2 디스플레이부(260)는 촬영부(230)에 의해 촬영된 영상 혹은 제2 영상 처리부(245)에 의해 처리된 영상을 디스플레이할 수 있다. 제2 디스플레이부(260)는 예를 들어, 액정 표시 화면(Liquid Crystal Display: LCD)으로 구현될 수 있다.
제2 구동부(270)는 로봇 암의 제2 관절(202)에 마련되며, 마스터 장치(100)로부터 수신한 제어신호에 따라 구동되어, 제2 관절(202)을 이동 또는 회전시킬 수 있다. 이 때, 마스터 장치(100)로부터 수신한 제어신호는 제2 관절(202)에 대한 마찰 보상값이 적용된 제어신호일 수 있다.
제2 통신부(280)는 마스터 장치(100)의 제1 통신부(180)와 짝을 이루어 동작하는 부분으로, 마스터 장치(100)로부터 마찰 보상값이 반영된 제어신호를 수신하거나, 로봇 암의 동작 상태에 대한 데이터 혹은 촬영부(230)에 의해 촬영된 영상을 마스터 장치(100)로 송신할 수 있다.
이상으로 도 2를 참조하여 수술 로봇에서 마스터 장치(100)와 슬레이브 장치(200)의 제어구성에 대한 일 실시예를 설명하였다. 도 2는 마스터 장치(100)의 제1 제어부(140)가 제1 속도 산출부(141), 제1 변환부(142), 제1 마찰 보상값 산출부(143), 제1 제어신호 생성부(144)를 모두 포함하는 경우를 도시하고 있으나, 본 발명은 이로 한정되지 않으며, 이들 구성요소들 중에서 적어도 하나는 슬레이브 장치(200)의 제2 제어부(240)에 포함될 수도 있다.
일 예로, 제1 제어부(140)는 제1 속도 산출부(141)만을 포함할 수 있다. 그리고, 제1 변환부(142), 제1 마찰 보상값 산출부(143), 제1 제어신호 생성부(144)는 슬레이브 장치(200)의 제2 제어부(240)에 포함될 수 있다. 이 경우, 마스터 장치(100)의 제1 제어부(140)는 제1 위치 검출부(110)에서 검출된 제1 관절(102)의 위치신호로부터 제1 관절 공간(
Figure 112012097013119-pat00076
)에서의 제1 관절(102)의 속도(
Figure 112012097013119-pat00077
)를 산출하고, 산출된 제1 관절(102)의 속도(
Figure 112012097013119-pat00078
)를 제1 통신부(180)를 통해 슬레이브 장치(200)로 전송할 수 있다. 그러면, 슬레이브 장치(200)의 제2 제어부(240)는 제1 관절(102)의 속도(
Figure 112012097013119-pat00079
)에서 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00080
)로의 변환, 제1 변환된 속도(
Figure 112012097013119-pat00081
)를 기초로 제2 관절의 목표 속도(
Figure 112012097013119-pat00082
) 산출, 목표 속도(
Figure 112012097013119-pat00083
)에 기초한 마찰 보상값 산출, 마찰 보상값이 적용된 제어신호의 생성, 및 생성된 제어신호에 따른 로봇 암 제어 등을 수행할 수 있다. 다른 예로, 제1 제어부(140)는 제1 속도 산출부(141)와 제1 변환부(142)를 포함할 수 있다. 그리고 제1 마찰 보상값 산출부(143)와 제1 제어신호 생성부(144)는 슬레이브 장치(200)의 제2 제어부(240)에 포함될 수 있다.
또 다른 예로, 제1 제어부(140)는 제1 속도 산출부(141)와 제1 변환부(142), 제1 마찰 보상값 산출부(143)만을 포함할 수 있다. 그리고 제1 제어신호 생성부(144)는 제2 제어부(240)에 포함될 수 있다.
도 3은 도 2에 도시된 수술 로봇에서 수행되는 로봇 암의 마찰 보상 방법을 도시한 흐름도이다.
마스터 장치(100)의 입력부(10)가 운동하면(300), 입력부(10)의 위치 및 속도를 검출한다(310). 즉, 입력부(10)에 마련된 제1 관절(102)의 위치 및 속도를 검출한다. 제1 관절(102)의 위치는 제1 위치 검출부(110)에 의해 검출될 수 있으며, 제1 관절(102)의 속도는 제1 관절의 위치신호를 미분하여 얻을 수 있다.
이 후, 로봇 암의 동작 상태에 관한 데이터에 기초하여, 로봇 암의 동작 상태가 정지 상태인지를 판단할 수 있다(320). 그리고 판단 결과에 따라 로봇 암의 제2 관절(202)에 적용할 마찰 보상값을 산출할 수 있다(330, 340, 350).
구체적으로, 320 단계의 판단 결과, 로봇 암의 동작 상태가 정지 상태라면(320, 예), 제2 관절(202)의 최대 정지 마찰력에 기초하여 로봇 암의 제2 관절(202)에 적용할 마찰 보상값을 산출할 수 있다(350). 이 때, 마찰 보상값의 부호는 제2 관절(202)의 목표 속도(
Figure 112012097013119-pat00084
)의 부호에 따라 결정될 수 있다. 그런데 제2 관절(202)의 목표 속도(
Figure 112012097013119-pat00085
)의 부호는 입력부(10)의 운동 방향에 따라 결정되므로, 마찰 보상값의 부호도 입력부(10)의 운동 방향에 따라 결정되는 것으로 볼 수 있다.
만약, 320 단계의 판단 결과, 로봇 암의 동작 상태가 정지 상태가 아니라면(320, 아니오), 제1 관절(102)의 속도에 기초하여 로봇 암의 제2 관절(202)에 적용할 마찰 보상값을 산출할 수 있다(330, 340).
제1 관절(102)의 속도에 기초하여 마찰 보상값을 산출하기 위하여 우선, 310 단계에서 검출된 입력부(10)의 속도를 로봇 암의 관절 속도로 변환할 수 있다(330). 이러한 변환 과정에는 입력부(10)의 자코비안 행렬(
Figure 112012097013119-pat00086
), 로봇 암의 자코비안 행렬(
Figure 112012097013119-pat00087
)의 역행렬(
Figure 112012097013119-pat00088
) 및 의사역행렬이 이용될 수 있다.
상기 330 단계를 좀더 구체적으로 설명하면 다음과 같다. 우선, 제1 관절 공간(
Figure 112012097013119-pat00089
)에서의 제1 관절(102)의 속도 (
Figure 112012097013119-pat00090
)에 마스터 장치(100)의 자코비안 행렬(
Figure 112012097013119-pat00091
)을 곱하여 작업 공간(
Figure 112012097013119-pat00092
)에서의 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00093
)를 얻는다. 그 다음, 작업 공간(
Figure 112012097013119-pat00094
)에서의 제1 엔드 이펙터의 속도(
Figure 112012097013119-pat00095
)에 로봇 암의 자코비안 행렬(
Figure 112012097013119-pat00096
)의 역행렬(
Figure 112012097013119-pat00097
) 또는 의사역행렬을 곱하여, 제2 관절 공간(
Figure 112012097013119-pat00098
)에서 본 제1 엔드 이펙터의 속도(
Figure 112012097013119-pat00099
)를 산출한다. 산출된 속도(
Figure 112012097013119-pat00100
)는 곧 제2 관절(202)의 목표 속도가 된다.
330 단계 이후에는, 제2 관절 공간(
Figure 112012097013119-pat00101
)에서 본 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00102
)에 기초하여 로봇 암의 제2 관절(202)에 적용할 마찰 보상값을 산출할 수 있다(340). 이 때, 마찰 보상값
Figure 112012097013119-pat00103
은 [수학식 1]과 같이, 제2 관절 공간(
Figure 112012097013119-pat00104
)에서 본 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00105
)에 제2 관절(202)의 마찰 계수(
Figure 112012097013119-pat00106
)를 곱하여 산출할 수 있다.
로봇 암의 제2 관절(202)에 적용할 마찰 보상값이 산출되면, 산출된 마찰 보상값이 반영된 제어신호를 생성할 수 있다(360). 마찰 보상값이 반영된 제어신호는 [수학식 2]와 같이, 로봇 암의 운동 방정식에 기초하여 생성될 수 있다. 즉, 마찰 보상값이 적용되지 않은 제어신호(
Figure 112012097013119-pat00107
), [수학식 1]을 이용하여 산출된 마찰 보상값(
Figure 112012097013119-pat00108
)을 합산하여, 마찰 보상값이 적용된 제어신호를 생성할 수 있다.
만약, 320 단계에서 로봇 암의 동작 상태가 정지 상태로 판단된 경우라면(320, 예), [수학식 1]을 이용하여 산출된 마찰 보상값(
Figure 112012097013119-pat00109
) 대신, 제2 관절(202)의 최대 정지 마찰력에 기초하여 산출된 마찰 보상값이 적용될 수 있다(350).
마찰 보상값이 반영된 제어신호는 마스터 장치(100)의 제1 통신부(180)를 통해 슬레이브 장치(200)로 전송될 수 있다(370). 마찰 보상값이 반영된 제어신호가 슬레이브 장치(200)의 제2 통신부(280)로 수신되면, 수신된 제어신호는 제2 관절(202)의 제2 구동부(270)로 제공되고, 제2 구동부(270)는 이 제어신호에 따라 제2 관절(202)을 구동시킨다.
상술한 바와 같이, 입력부(101)의 속도에 기초하여 로봇 암의 마찰 보상을 수행하면, 로봇 암의 제어 시 조작자의 의도를 잘 반영할 수 있다.
또한, 로봇 암에 저성능의 속도 센서가 구비되거나, 속도 센서 자체가 구비되지 않은 경우에도, 로봇 암의 동작이 입력부(10)의 동작을 자연스럽게 추종하도록 제어할 수 있다.
또한, 로봇 암에 로봇 암의 속도를 검출하기 위한 속도 센서를 구비하지 않아도 되므로, 생산 비용을 줄일 수 있으며, 로봇 암의 설계를 보다 용이하게 할 수 있다.
도 4는 수술 로봇에서 마스터 장치(100A)와 슬레이브 장치(200A)의 제어 구성에 대한 다른 실시예를 예시한 도면이다.
도 4에 도시된 수술 로봇은 슬레이브 장치(200A)에 마련된 로봇 암이 운동하는 경우, 로봇 암의 속도에 기초하여, 마스터 장치(100A)측의 입력부(10)에 마련되어 있는 제1 관절(102)의 마찰력을 보상한다. 여기서, 로봇 암의 속도는 제2 관절(202)의 속도를 의미할 수 있다.
마스터 장치(100A)는 슬레이브 장치(200A)의 로봇 암이 입력부(10)의 동작을 추종하도록 제어하기 위한 제어신호를 생성하여 슬레이브 장치(200A)로 제공할 수 있다. 이러한 마스터 장치(100A)는 도 4에 도시된 바와 같이, 제1 위치 검출부(110A), 제1 힘/토크 검출부(120A), 제1 제어부(140A), 제1 저장부(150A), 제1 디스플레이부(160A), 제1 구동부(170A) 및 제1 통신부(180A)를 포함할 수 있다.
제1 위치 검출부(110A)는 제1 관절(102)의 위치(회전 각도)를 검출할 수 있다. 이러한 제1 위치 검출부(110A)는 위치 센서로 구현될 수 있다. 위치 센서로는 포텐쇼미터(Potentiometer), 엔코더(Encoder)가 사용될 수 있다.
제1 힘/토크 검출부(120A)는 제1 관절(102)에 인가된 힘/토크를 검출할 수 있다. 제1 힘/토크 검출부(120A)는 힘/토크 센서로 구현될 수 있다.
제1 제어부(140A)는 제1 제어신호 생성부(144A), 및 제1 영상 처리부(145A)를 포함할 수 있다.
제1 제어신호 생성부(144A)는 로봇 암이 입력부(10)의 동작을 추종하도록 제어하기 위한 제어신호를 생성할 수 있다. 생성된 제어신호는 제1 통신부(180A)를 통해 슬레이브 장치(200A)로 전송될 수 있다.
제1 영상 처리부(145A)는 슬레이브 장치(200A)로부터 수신한 영상 데이터를 처리하여 제1 디스플레이부(160A)를 통해 디스플레이할 수 있다. 영상 처리의 예로는, 촬영된 영상의 확대, 축소, 이동, 회전, 편집 및 필터링을 들 수 있다. 제1 영상 처리부(145A)는 예시된 것들 중에서 적어도 하나의 영상 처리를 수행할 수 있다. 그러나 영상 처리 과정은 경우에 따라 생략될 수도 있다.
제1 저장부(150A)는 예를 들어, 제1 제어부(140A)가 제어신호를 생성하는데 필요한 데이터나 알고리즘을 저장할 수 있다. 이러한 제1 저장부(150A)는 비휘발성 메모리 소자, 휘발성 메모리 소자, 저장 매체 중 하나로 구현될 수 있다.
제1 구동부(170A)는 입력부(10)의 제1 관절에 마련된다. 제1 구동부(170A)는 슬레이브 장치(200A)로부터 수신한 제어신호에 따라 구동되어, 제1 관절(102)을 이동 또는 회전시킬 수 있다. 이 때, 슬레이브 장치(200A)로부터 수신한 제어신호는 입력부(10)의 제1 관절(102)에 대한 마찰 보상값이 적용된 제어신호일 수 있다.
제1 통신부(180A)는 슬레이브 장치(200A)의 제2 통신부(280A)와 짝을 이루어 동작하는 부분이다. 제1 통신부(180A)는 입력부(10)의 동작 상태에 대한 데이터 혹은 제1 제어신호 생성부(144A)에서 생성된 제어신호를 슬레이브 장치(200A)로 전송할 수 있으며, 슬레이브 장치(200A)로부터 마찰 보상값이 적용된 제어신호나 영상 데이터를 수신할 수 있다.
슬레이브 장치(200A)는 마스터 장치(100A)로부터 수신한 제어신호에 따라 로봇 암을 동작시킬 수 있다. 또한, 슬레이브 장치(200A)는 외력 등에 의해 로봇 암이 운동하는 경우, 로봇 암의 속도에 기초하여 입력부(10)의 제1 관절(102)에 적용할 마찰 보상값을 산출하고, 산출된 마찰 보상값이 적용된 제어신호를 마스터 장치(100A)로 송신할 수 있다. 이러한 슬레이브 장치(200A)는 도 4에 도시된 바와 같이, 제2 위치 검출부(210A), 제2 힘/토크 검출부(220A), 촬영부(230A), 제2 제어부(240A), 제2 저장부(250A), 제2 디스플레이부(260A), 제2 구동부(270A) 및 제2 통신부(280A)를 포함할 수 있다.
제2 위치 검출부(210A)는 로봇 암에 마련된 제2 관절(202)의 위치(회전 각도)를 검출할 수 있다. 이러한 제2 위치 검출부(210A)는 위치 센서로 구현될 수 있다. 위치 센서로는 포텐쇼미터(Potentiometer), 엔코더(Encoder)가 사용될 수 있다.
제2 힘/토크 검출부(220A)는 제2 관절(202)에 인가된 힘/토크를 검출할 수 있다. 제2 힘/토크 검출부(220A)는 힘/토크 센서로 구현될 수 있다.
촬영부(230A)는 환자의 조직 내부를 촬영할 수 있다. 촬영부(230A)는 내시경 등으로 구현될 수 있다. 촬영부(230A)에서 촬영된 영상은 제2 제어부(240A)로 제공되어 영상처리 과정을 거칠 수 있다. 영상처리 과정을 거친 영상은 제2 디스플레이부(260A)를 통해 디스플레이되거나, 제2 통신부(280A)를 통해 마스터 장치(100A)로 전송될 수 있다.
제2 제어부(240A)는 촬영부(230A)로부터 수신한 영상 데이터를 처리할 수 있다. 또한, 제2 제어부(240A)는 로봇 암이 운동하는 경우, 로봇 암의 속도에 기초하여 마스터 장치(100A)의 입력부(10)에 마련된 제1 관절(102)의 마찰력을 보상하기 위한 마찰 보상값을 산출하고, 산출된 마찰 보상값이 반영된 제어신호를 생성할 수 있다. 생성된 제어신호는 마스터 장치(100A)로 전송될 수 있다.
구체적으로, 제2 제어부(240A)는 제2 속도 산출부(241A), 제2 변환부(242A), 제2 마찰 보상값 산출부(243A), 제2 제어신호 생성부(244A), 및 제2 영상 처리부(245A)를 포함할 수 있다.
제2 속도 산출부(241A)는 제2 위치 검출부(210A)에 의해 검출된 제2 관절(202)의 위치신호에 기초하여 제2 관절(202)의 속도를 산출할 수 있다. 예를 들면, 제2 위치 검출부(210A)에서 검출된 위치신호를 미분하여 제2 관절(202)의 속도(
Figure 112012097013119-pat00110
)를 산출할 수 있다. 이 때, 산출된 제2 관절(202)의 속도(
Figure 112012097013119-pat00111
)는 제2 관절 공간(
Figure 112012097013119-pat00112
)에서의 속도이다. 도 4는 제2 관절(202)의 위치신호로부터 제2 관절(202)의 속도신호(
Figure 112012097013119-pat00113
)를 산출하는 경우를 예로 들어 설명하였으나, 슬레이브 장치(200A)에 제2 관절(202)의 속도를 검출하기 위한 속도 검출부(미도시)를 별도로 구비하는 것도 가능하다. 이처럼 속도 검출부가 별도로 구비된 경우, 제2 제어부(240A)에서는 제2 속도 산출부(242A)가 생략될 수 있다.
제2 변환부(242A)는 제2 관절 공간(
Figure 112012097013119-pat00114
)에서의 변수를 작업 공간(
Figure 112012097013119-pat00115
)에서의 변수로 변환하고, 이를 다시 제1 관절 공간 (
Figure 112012097013119-pat00116
)에서의 변수로 변환할 수 있다. 구체적으로, 제2 변환부(242A)는 제2 관절 공간(
Figure 112012097013119-pat00117
)에서의 제2 관절(202)의 속도(
Figure 112012097013119-pat00118
)를 작업 공간(
Figure 112012097013119-pat00119
)에서의 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00120
)로 변환한 후, 이를 다시 제1 관절 공간(
Figure 112012097013119-pat00121
)에서의 제1 관절(102)의 속도로 변환할 수 있다. 앞서 설명한 바와 같이, 제1 관절 공간 (
Figure 112012097013119-pat00122
)과 제2 관절 공간 (
Figure 112012097013119-pat00123
)에서의 속도들 간에 변환이 필요하며, 작업 공간 (
Figure 112012097013119-pat00124
)에서의 속도를 매개로 하여 변환할 수 있다.
제2 관절 공간(
Figure 112012097013119-pat00125
)에서의 변수를 작업 공간(
Figure 112012097013119-pat00126
)에서의 변수로 변환하기 위해서, 제2 변환부(242A)는 로봇 암의 자코비안 행렬(
Figure 112012097013119-pat00127
)을 이용할 수 있다. 로봇 암의 자코비안 행렬(
Figure 112012097013119-pat00128
)은 제2 관절 공간(
Figure 112012097013119-pat00129
)에서의 제2 관절(202)의 속도(
Figure 112012097013119-pat00130
)를 작업 공간(
Figure 112012097013119-pat00131
)에서의 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00132
)로 매핑하는 행렬이다. 즉,
Figure 112012097013119-pat00133
와 같이 매핑한다. 또한, 입력부(10)의 자코비안 행렬 (
Figure 112012097013119-pat00134
)의 역행렬(
Figure 112012097013119-pat00135
) 및 의사역행렬을 이용하면작업 공간(
Figure 112012097013119-pat00136
)에서의 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00137
)를 제1 관절 공간(
Figure 112012097013119-pat00138
)에 대한 속도(
Figure 112012097013119-pat00139
)로 변환할 수 있다. 변환식은
Figure 112012097013119-pat00140
와 같이 나타낼 수 있다. 제2 변환부(242A)에서 출력하는 속도(
Figure 112012097013119-pat00141
)는 제1 관절 공간(
Figure 112012097013119-pat00142
)에서 본 제2 엔드 이펙터(203)의 속도이면서, 입력부(10)에 마련된 제1 관절(102)의 목표 속도이기도 하다.
제2 마찰 보상값 산출부(243A)는 제2 변환부(242A)로부터 제공받은 속도 즉, 제1 관절 공간(
Figure 112012097013119-pat00143
)에서 본 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00144
)에 기초하여, 제1 관절(102)의 마찰력을 보상하기 위한 마찰 보상값(
Figure 112012097013119-pat00145
)을 산출할 수 있다. 마찰 보상값(
Figure 112012097013119-pat00146
)은 [수학식 4]를 이용하여 산출될 수 있다.
[수학식 4]
Figure 112012097013119-pat00147
[수학식 4]에 표시된 항들 중서 아래첨자가 's'인 것은 슬레이브 장치(200A)와 관련된 변수이고, 아래첨자가 'm'인 것은 마스터 장치(100A)와 관련된 변수를 의미한다. 즉, [수학식 4]에서
Figure 112012097013119-pat00148
은 입력부(10)의 제1 관절(102)에 적용할 마찰 보상값을 나타낸다. 그리고,
Figure 112012097013119-pat00149
은 제1 관절(102)의 마찰 계수를 나타낸다. 그리고,
Figure 112012097013119-pat00150
는 제1 관절 공간(
Figure 112012097013119-pat00151
)에서 본 제2 엔드 이펙터(203) 속도를 나타낸다. 제1 관절(102)의 개수가 하나인 경우, 마찰 계수(
Figure 112012097013119-pat00152
)는 스칼라(scalar)일 수 있다. 제1 관절(102)이 복수개인 경우라면, 마찰 계수(
Figure 112012097013119-pat00153
)는 각각의 제1 관절(102)에 대한 마찰 계수들을 성분으로 갖는 대각행렬일 수 있다. 이러한 마찰 계수(
Figure 112012097013119-pat00154
)는 사전에 저장된 값 또는 추정된 값일 수 있다.
제2 제어신호 생성부(244A)는 입력부(10)의 동작 상태에 따라, 마찰 보상값이 반영된 제어신호를 생성할 수 있다. 이 때, 마찰 보상값으로는 제2 마찰 보상값 산출부(243A)에서 산출된 마찰 보상값이 사용되거나, 제1 관절(102)의 최대 정지 마찰을 고려한 마찰 보상값이 사용될 수 있다.
구체적으로, 입력부(10)의 동작 상태가 정지 상태가 아닌 경우, 제2 제어신호 생성부(244A)는 제2 마찰 보상값 산출부(243A)에서 산출된 마찰 보상값을 반영하여 제어신호를 생성할 수 있다.
만약, 입력부(10)의 동작 상태가 정지 상태라면, 제2 제어신호 제어부(244A)는 제1 관절(102)의 최대 정지 마찰력을 고려한 마찰 보상값을 반영하여 제어신호를 생성할 수 있다. 이 때 마찰 보상값의 부호는 제2 변환부(242A)에서 출력한 속도 즉, 제1 관절(102)의 목표 속도(
Figure 112012097013119-pat00155
)의 부호에 따라 결정된다. 제1 관절(202)의 목표 속도(
Figure 112012097013119-pat00156
)는 로봇 암의 운동 방향에 따라 결정된다. 따라서, 로봇 암의 운동 방향이 양의 방향이라면, 마찰 보상값의 부호는 플러스(+)로 결정된다. 만약, 로봇 암의 운동 방향이 음의 방향이라면, 마찰 보상값의 부호는 마이너스(-)로 결정된다.
마찰 보상값이 반영된 제어신호는 입력부(10)의 운동 방정식을 기초로 생성될 수 있다. 입력부(10)의 운동 방정식은 [수학식 5]와 같다.
[수학식 5]
Figure 112012097013119-pat00157
[수학식 5]에서
Figure 112012097013119-pat00158
는 입력부(10)의 제1 관절(102)에 작용하는 마찰력을 의미한다. 여기서,
Figure 112012097013119-pat00159
의 부호가 마이너스인 이유는 입력부(10)의 제1 관절(102)에 작용하는 마찰력은 입력부(10)의 운동 방향과 반대이기 때문이다. [수학식 5]에서
Figure 112012097013119-pat00160
은 제2 마찰 보상값 산출부(243A)에서 산출된 마찰 보상값을 의미하며,
Figure 112012097013119-pat00161
은 입력부(10)로 제공되는 제어신호를 의미하고,
Figure 112012097013119-pat00162
는 사람과의 상호작용으로 인해 입력부(10)가 받는 힘을 의미한다. 여기서,
Figure 112012097013119-pat00163
은 마찰 보상값이 적용되지 않은 제어신호를 의미하는 것으로, [수학식 6a]과 같이 나타낼 수 있다.
[수학식 6a]
Figure 112012097013119-pat00164
[수학식 6a]에서
Figure 112012097013119-pat00165
Figure 112012097013119-pat00166
는 제어이득(control gains),
Figure 112012097013119-pat00167
는 제1 관절 공간(
Figure 112012097013119-pat00168
)에서 본 제2 엔드 이펙터(203)의 속도 즉, 제1 관절(102)의 목표 속도를 나타낸다. 그리고
Figure 112012097013119-pat00169
은 제1 관절 공간(
Figure 112012097013119-pat00170
)에서의 제1 관절(102)의 속도,
Figure 112012097013119-pat00171
는 제1 관절 공간(
Figure 112012097013119-pat00172
)에서 본 제2 엔드 이펙터(203)의 위치,
Figure 112012097013119-pat00173
은 제1 관절 공간(
Figure 112012097013119-pat00174
)에서의 제1 관절(202)의 위치를 말한다. 이 제어 신호(
Figure 112012097013119-pat00175
)에 의해 입력부(10)는 제2 엔드 이펙터(203)의 위치와 속도를 추종하도록 동작한다. 그 결과, 조작자(D)는 로봇 암과 외부 환경의 상호 작용력을 간접적으로 체험할 수 있다.
[수학식 6b]
Figure 112012097013119-pat00176
[수학식 6b]는 [수학식 6a]에 해당하는 제어 신호를 구성할 수 있는 또 다른 방식이다. [수학식 6b]는 작업 공간 (
Figure 112012097013119-pat00177
)에서의 입력부(10)와 로봇 암의 속도 차이(
Figure 112012097013119-pat00178
)와 위치 차이(
Figure 112012097013119-pat00179
)에 각각 제어이득(
Figure 112012097013119-pat00180
,
Figure 112012097013119-pat00181
)을 곱하여 작업 공간(
Figure 112012097013119-pat00182
)에서 입력부(10)에 적용할 힘을 구하고, 구해진 힘에 입력부(10)의 자코비언 트랜스포우즈 (
Figure 112012097013119-pat00183
)을 이용해서, 제1 관절 공간(
Figure 112012097013119-pat00184
)에서의 제어 신호 (즉, 토크에 해당)
Figure 112012097013119-pat00185
를 구성하는 방식을 나타낸다.
상술한 바와 같이, 제2 제어부(240A)는 [수학식 5] 와 [수학식 6a] 및 [수학식 6b]에 기초하여, 마찰 보상값이 반영된 제어신호(
Figure 112012097013119-pat00186
)를 생성할 수 있다. 생성된 제어신호(
Figure 112012097013119-pat00187
)는 제2 통신부(280A)를 통해 마스터 장치(100A)로 전송될 수 있다. 이후, 마찰 보상값이 반영된 제어신호(
Figure 112012097013119-pat00188
)는 입력부(10)의 제1 관절(102)에 마련된 제1 구동부(170A)로 제공된다. 제1 구동부(170A)는 이 제어신호에 따라 구동되어, 입력부(10)에 마련된 제1 관절(102)을 이동 또는 회전시킨다. 이처럼 외력 또는 여타 이유에 의해 로봇 암이 운동하는 경우, 로봇 암의 운동이 입력부(10)에 반영되므로, 입력부(10)를 파지하고 있는 조작자(D)는 로봇 암의 운동을 촉각으로 느낄 수 있다.
제2 영상 처리부(245A)는 촬영부(230A)로부터 수신한 영상 데이터를 처리하여, 제2 디스플레이부(260A)를 통해 디스플레이할 수 있다.
제2 저장부(250A)는 마찰 보상값을 산출하는데 필요한 데이터나 알고리즘을 저장할 수 있다. 이러한 제2 저장부(250A)는 비휘발성 메모리 소자, 휘발성 메모리 소자, 저장 매체 중 하나로 구현될 수 있다.
제2 디스플레이부(260A)는 촬영부(230A)에 의해 촬영된 영상 혹은 제2 영상 처리부(245A)에 의해 처리된 영상을 디스플레이할 수 있다. 제2 디스플레이부(260A)는 예를 들어, 액정 표시 화면(Liquid Crystal Display: LCD)으로 구현될 수 있다.
제2 구동부(270A)는 로봇 암의 제2 관절(202)에 마련되며, 마스터 장치(100A)로부터 수신한 제어신호에 따라 구동되어, 제2 관절(202)을 이동 또는 회전시킬 수 있다.
제2 통신부(280A)는 마스터 장치(100A)의 제1 통신부(180A)와 짝을 이루어 동작하는 부분으로, 로봇 암을 동작시키기 위한 제어신호를 마스터 장치(100A)로부터 수신할 수 있다. 또한 제2 통신부(280A)는 촬영부(230A)에서 촬영된 영상 데이터, 로봇 암의 속도에 기초한 마찰 보상값이 반영된 제어신호를 마스터 장치(100A)로 송신할 수 있다.
이상으로 도 4를 참조하여 수술 로봇에서 마스터 장치(100A)와 슬레이브 장치(200A)의 제어구성에 대한 다른 실시예를 설명하였다. 도 4는 슬레이브 장치(200A)의 제2 제어부(240A)가 제2 속도 산출부(241A), 제2 변환부(242A), 제2 마찰 보상값 산출부(243A), 제2 제어신호 생성부(244A)를 모두 포함하는 경우를 도시하고 있으나, 본 발명은 이로 한정되지 않으며, 이들 구성요소들 중에서 적어도 하나는 마스터 장치(100A)의 제1 제어부(140A)에 포함될 수도 있다.
일 예로, 제2 제어부(240A)는 제2 속도 산출부(241A)만을 포함할 수 있다. 그리고, 제2 변환부(242A), 제2 마찰 보상값 산출부(243A), 제2 제어신호 생성부(244A)는 제1 제어부(140A)에 포함될 수 있다. 이 경우, 슬레이브 장치(200A)의 제2 제어부(240A)는 제2 위치 검출부(210A)에서 검출된 제2 관절(202)의 위치신호로부터 제2 관절 공간(
Figure 112012097013119-pat00189
)에서의 제2 관절(202)의 속도(
Figure 112012097013119-pat00190
)를 산출하고, 산출된 제2 관절(202)의 속도(
Figure 112012097013119-pat00191
)를 제2 통신부(280A)를 통해 마스터 장치(100A)로 전송할 수 있다. 그러면, 마스터 장치(100A)의 제1 제어부(140)는 제2 관절(202)의 속도(
Figure 112012097013119-pat00192
)에서 제2 엔드 이펙터의 속도(
Figure 112012097013119-pat00193
)로의 변환, 변환된 속도(
Figure 112012097013119-pat00194
)를 기초로, 제1 관절(102)의 목표 속도(
Figure 112012097013119-pat00195
) 산출, 목표 속도(
Figure 112012097013119-pat00196
)에 기초한 마찰 보상값 산출, 마찰 보상값이 적용된 제어신호의 생성, 및 생성된 제어신호에 기초한 입력부(10) 구동 등을 수행할 수 있다.
다른 예로, 제2 제어부(240A)는 제2 속도 산출부(241A)와 제2 변환부(242A)를 포함할 수 있다. 그리고 제2 마찰 보상값 산출부(243A)와 제2 제어신호 생성부(244A)는 마스터 장치(100A)의 제1 제어부(140A)에 포함될 수 있다.
도 5는 도 4에 도시된 수술 로봇에서 수행되는 입력부에 대한 마찰 보상 방법을 도시한 흐름도이다.
슬레이브 장치(200A)의 로봇 암에 외력이 인가되거나, 여타 이유로 인하여, 로봇 암이 운동하면(500), 로봇 암의 위치 및 속도를 검출한다(510). 즉, 로봇 암에 마련된 제2 관절(202)의 위치 및 속도를 검출한다. 제2 관절(202)의 위치는 제2 위치 검출부(210A)에 의해 검출될 수 있으며, 제2 관절(202)의 속도는 제2 관절(202)의 위치신호를 미분하여 얻을 수 있다.
이 후, 입력부(10)의 동작 상태에 관한 데이터에 기초하여, 입력부(10)의 동작 상태가 정지 상태인지를 판단할 수 있다(520). 그리고 판단 결과에 따라 입력부(10)의 제1 관절(102)에 적용할 마찰 보상값을 산출할 수 있다(530, 540, 550).
구체적으로, 520 단계의 판단 결과, 입력부(10)의 동작 상태가 정지 상태라면(520, 예), 제1 관절(102)의 최대 정지 마찰력에 기초하여 입력부(10)의 제1 관절(102)에 적용할 마찰 보상값을 산출할 수 있다(550). 이 때, 마찰 보상값의 부호는 제1 관절(102)의 목표 속도(
Figure 112012097013119-pat00197
)에 따라 결정된다. 제1 관절(102)의 목표 속도(
Figure 112012097013119-pat00198
)의 부호는 로봇 암의 운동 방향에 따라 결정되므로, 마찰 보상값의 부호도 로봇 암의 운동 방향에 따라 결정되는 것으로 볼 수 있다.
만약, 520 단계의 판단 결과, 입력부(10)의 동작 상태가 정지 상태가 아니라면(520, 아니오), 로봇 암의 제2 관절(202)의 속도에 기초하여 입력부(10)의 제1 관절(102)에 적용할 마찰 보상값을 산출할 수 있다(530, 540).
제2 관절(202)의 속도에 기초하여 마찰 보상값을 산출하기 위해 우선, 520 단계에서 검출된 로봇 암의 속도를 입력부(10)의 관절 속도로 변환할 수 있다(530). 이러한 변환 과정에는 로봇 암의 자코비안 행렬(
Figure 112012097013119-pat00199
)와, 입력부(10)의 자코비안 행렬 (
Figure 112012097013119-pat00200
)의 역행렬(
Figure 112012097013119-pat00201
) 및 의사역행렬이 이용될 수 있다.
상기 530 단계를 좀 더 구체적으로 설명하면 다음과 같다. 우선, 제2 관절 공간(
Figure 112012097013119-pat00202
)에서의 제2 관절(202)의 속도(
Figure 112012097013119-pat00203
)에 로봇 암의 자코비안 행렬(
Figure 112012097013119-pat00204
)을 곱하여, 작업 공간(
Figure 112012097013119-pat00205
)에서의 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00206
)를 얻는다. 그 다음, 작업 공간(
Figure 112012097013119-pat00207
)에서의 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00208
)에 입력부(10)의 자코비안 행렬의 역행렬(
Figure 112012097013119-pat00209
) 또는 의사역행렬을 곱하여, 제1 관절 공간(
Figure 112012097013119-pat00210
)에서 본 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00211
)를 산출한다. 산출된 속도(
Figure 112012097013119-pat00212
)는 곧 제1 관절(102)의 목표 속도가 된다.
530 단계 이후에는, 제1 관절 공간(
Figure 112012097013119-pat00213
)에서 본 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00214
)에 기초하여 입력부(10)의 제1 관절(102)에 적용할 마찰 보상값을 산출할 수 있다(540). 이 때, 마찰 보상값은 [수학식 4]와 같이, 제1 관절 공간(
Figure 112012097013119-pat00215
)에서 본 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00216
)에 제1 관절(102)의 마찰 계수(
Figure 112012097013119-pat00217
)를 곱하여 산출할 수 있다.
입력부(10)의 제1 관절(102)에 적용할 마찰 보상값이 산출되면, 산출된 마찰 보상값이 반영된 제어신호를 생성할 수 있다(560). 마찰 보상값이 반영된 제어신호는 [수학식 6a] 및 [수학식 6b] 의 마찰 보상값이 적용되지 않은 제어신호(
Figure 112012097013119-pat00218
)와 [수학식 4]를 이용하여 산출된 마찰 보상값(
Figure 112012097013119-pat00219
)을 합산하여, 마찰 보상값이 적용된 제어신호(
Figure 112012097013119-pat00220
)를 생성할 수 있다.
만약, 520 단계에서 입력부(10)의 동작 상태가 정지 상태로 판단된 경우라면, [수학식 4]를 이용하여 산출된 마찰 보상값(
Figure 112012097013119-pat00221
) 대신, 제1 관절(102)의 최대 정지 마찰력에 기초하여 산출된 마찰 보상값이 적용될 수 있다(550).
마찰 보상값이 반영된 제어신호는 슬레이브 장치(200A)의 제2 통신부(280A)를 통해 마스터 장치(100A)로 전송될 수 있다(570). 마찰 보상값이 반영된 제어신호가 마스터 장치(100A)의 제1 통신부(180A)로 수신되면, 수신된 제어신호는 제1 관절에 마련된 제1 구동부(170A)로 제공되고, 제1 구동부(170A)는 이 제어신호에 따라 제1 관절(102)을 구동시킨다.
상술한 바와 같이, 로봇 암의 속도에 기초하여 입력부(10)의 마찰 보상을 수행하면, 로봇 암에 작용한 외력이 마스터 장치(100A)의 입력부(10)에 전달되므로, 입력부(10)를 조작하고 있던 조작자(D)는 로봇 암에 얼마만큼의 외력이 작용하였는지를 간접적으로 느낄 수 있다.
도 6은 수술 로봇에서 마스터 장치(100B)와 슬레이브 장치(200B)의 제어 구성에 대한 또 다른 실시예를 예시한 도면이다.
도 6에 도시된 수술 로봇은 마스터 장치(100B)에 마련된 입력부(10)가 운동하는 경우, 입력부(10)의 속도에 기초하여, 슬레이브 장치(200B)측의 로봇 암에 마련되어 있는 제2 관절(202)의 마찰력을 보상한다. 이와 더불어, 수술 로봇은 로봇 암이 운동하는 경우, 로봇 암의 속도에 기초하여, 마스터 장치(100B)측의 입력부(10)에 마련되어 있는 제1 관절(102)의 마찰력을 보상한다.
마스터 장치(100B)는 슬레이브 장치(200B)의 로봇 암이 입력부(10)의 동작을 추종하도록 제어하기 위한 제어신호를 생성하여 슬레이브 장치(200B)로 전송할 수 있다. 이 때, 마스터 장치(100B)에서 슬레이브 장치(200B)로 전송되는 제어신호는 로봇 암에 마련된 제2 관절(202)의 마찰력을 보상하기 위한 마찰 보상값이 적용된 제어신호일 수 있으며, 상기 마찰 보상값은 입력부(10)의 속도에 기초하여 산출될 수 있다.
이러한 마스터 장치(100B)는 도 6에 도시된 바와 같이, 제1 위치 검출부(110B), 제1 힘/토크 검출부(120B), 제1 제어부(140B), 제1 저장부(150B), 제1 디스플레이부(160B), 제1 구동부(170B), 및 제1 통신부(180B)를 포함할 수 있다. 이들 구성요소들 중에서 제1 위치 검출부(110B), 제1 힘/토크 검출부(120B), 제1 제어부(140B), 제1 저장부(150B) 및 제1 디스플레이부(160B)는 도 2에 도시된 마스터 장치(100)의 구성요소들과 동일하므로, 중복되는 설명은 생략하기로 한다.
제1 구동부(170B)는 입력부(10)의 제1 관절(102)에 마련되며, 슬레이브 장치(200B)로부터 수신한 제어신호에 따라 구동되어, 제1 관절(102)을 이동 또는 회전시킬 수 있다. 이 때, 슬레이브 장치(200B)로부터 수신한 제어신호는 입력부(10)의 제1 관절(102)에 대한 마찰 보상값이 적용된 제어신호일 수 있으며, 상기 마찰 보상값은 로봇 암의 속도에 기초하여 산출될 수 있다.
제1 통신부(180B)는 마스터 장치(100B)에서 생성된 제어신호, 입력부(10)의 동작 상태에 관한 데이터 등을 슬레이브 장치(200B)로 송신할 수 있다. 또한 제1 통신부(180B)는 슬레이브 장치(200B)에서 생성된 제어신호, 로봇 암의 동작 상태에 관한 데이터 등을 슬레이브 장치(200B)로부터 수신할 수 있다.
슬레이브 장치(200B)는 마스터 장치(100B)로부터 수신한 제어신호에 따라 로봇 암을 동작시킬 수 있다. 또한, 슬레이브 장치(200B)는 로봇 암이 외력 또는 다른 이유에 의해 움직이는 경우, 로봇 암의 움직임을 마스터 장치(100B)의 입력부(10)에 반영하기 위한 제어신호를 생성하여 마스터 장치(100B)로 전송할 수 있다. 이 때, 슬레이브 장치(200B)에서 마스터 장치(100B)로 전송되는 제어신호는 입력부(10)에 마련된 제1 관절(102)의 마찰력을 보상하기 위한 마찰 보상값이 적용된 제어신호일 수 있으며, 상기 마찰 보상값은 로봇 암의 속도에 기초하여 산출될 수 있다.
이러한 슬레이브 장치(200B)는 도 6에 도시된 바와 같이, 제2 위치 검출부(210B), 제2 힘/토크 검출부(220B), 촬영부(230B), 제2 제어부(240B), 제2 저장부(250B), 제2 디스플레이부(260B), 제2 구동부(270B) 및 제2 통신부(280B)를 포함할 수 있다. 이들 구성요소들 중에서 제2 위치 검출부(210B), 제2 힘/토크 검출부(220B), 촬영부(230B), 제2 제어부(240B), 제2 저장부(250B), 제2 디스플레이부(260B) 및 제2 구동부(270B)는 도 4에 도시된 슬레이브 장치(200B)의 구성요소들과 동일하므로, 중복되는 설명은 생략하기로 한다.
제2 통신부(280B)는 마스터 장치(100B)에서 생성된 제어신호, 입력부(10)의 동작 상태에 관한 데이터 등을 마스터 장치(100B)로부터 수신할 수 있다. 또한 제2 통신부(280B)는 슬레이브 장치(200B)에서 생성된 제어신호, 로봇 암의 동작 상태에 관한 데이터 등을 마스터 장치(100B)로 송신할 수 있다.
도 7은 도 6에 도시된 수술 로봇에서 로봇 암과 입력부에 대하여 수행되는 마찰 보상 방법을 개략적으로 도시한 도면이다.
조작자(D)에 의해 마스터 장치(100B)의 입력부(10)에 외력이 인가되어, 입력부(10)가 운동하면(710), 입력부(10)의 위치 및 속도를 검출한다(720). 즉, 입력부(10)에 마련된 제1 관절(102)의 위치 및 속도를 검출한다. 제1 관절(102)의 위치는 제1 위치 검출부(110B)에 의해 검출될 수 있으며, 제1 관절(102)의 속도는 제1 관절(102)의 위치신호를 미분하여 얻을 수 있다.
이 후, 검출된 제1 관절(102)의 속도에 기초하여, 로봇 암의 제2 관절(202)에 적용할 마찰 보상값을 산출할 수 있다(730). 제2 관절(202)에 적용할 마찰 보상값은 로봇 암의 동작 상태에 따라 서로 다른 방식으로 산출될 수 있다.
구체적으로, 로봇 암의 동작 상태가 정지 상태라면, 제2 관절(202)의 최대 정지 마찰력에 기초하여 제2 관절(202)에 적용할 마찰 보상값을 산출할 수 있다. 이 때, 마찰 보상값의 부호는 제2 관절(202)의 목표 속도(
Figure 112012097013119-pat00222
)의 부호에 따라 결정된다. 즉, 마찰 보상값의 부호는 입력부(10)의 운동 방향에 따라 결정된다.
만약, 로봇 암의 동작 상태가 정지 상태가 아니라면, [수학식 1]과 같이, 입력부(10)의 속도 즉, 제1 관절(102)의 속도에 기초하여 로봇 암의 제2 관절(202)에 적용할 마찰 보상값을 산출할 수 있다. 이 때, [수학식 1]에 따라 마찰 보상값을 산출하는 단계는 제1 관절 공간(
Figure 112012097013119-pat00223
)에서의 제1 관절(102)의 속도(
Figure 112012097013119-pat00224
)를 작업 공간(
Figure 112012097013119-pat00225
)에서의 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00226
)로 변환하는 단계와, 작업 공간(
Figure 112012097013119-pat00227
)에서의 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00228
)를 제2 관절 공간(
Figure 112012097013119-pat00229
)에서의 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00230
)로 변환하는 단계와, 제2 관절 공간에서의 제1 엔드 이펙터(103)의 속도(
Figure 112012097013119-pat00231
)에 제2 관절(202)의 마찰 계수(
Figure 112012097013119-pat00232
)를 곱하여 제2 관절(202)에 적용할 마찰 보상값을 산출하는 단계를 포함할 수 있다.
로봇 암의 제2 관절(202)에 적용할 마찰 보상값이 산출되면, 산출된 마찰 보상값이 반영된 제어신호를 생성하여(740), 슬레이브 장치(200B)로 전송할 수 있다(750).
슬레이브 장치(200B)가 마스터 장치(100B)로부터 제어신호를 수신하면(760), 수신된 제어신호는 제2 관절(202)에 마련된 제2 구동부(270B)로 제공되고, 제2 구동부(270B)는 제어신호에 따라 구동될 수 있다(770).
한편, 슬레이브 장치(200B)의 로봇 암에 외력이 인가되거나, 외부 환경과의 작용에 의해 로봇 암이 운동하면(810), 로봇 암의 위치 및 속도를 검출한다(820). 즉, 로봇 암에 마련된 제2 관절(202)의 위치 및 속도를 검출한다. 제2 관절(202)의 위치는 제2 위치 검출부(210B)에 의해 검출될 수 있으며, 제2 관절(202)의 속도는 제2 관절의 위치신호를 미분하여 얻을 수 있다.
이 후, 검출된 제2 관절(202)의 속도에 기초하여, 입력부(10)의 제1 관절(102)에 적용할 마찰 보상값을 산출할 수 있다(830). 제1 관절(102)에 적용할 마찰 보상값은 입력부(10)의 동작 상태에 따라 서로 다른 방식으로 산출될 수 있다.
구체적으로, 입력부(10)의 동작 상태가 정지 상태라면, 제1 관절(102)의 최대 정지 마찰력에 기초하여 제1 관절(102)에 적용할 마찰 보상값을 산출할 수 있다. 이 때, 마찰 보상값의 부호는 제1 관절(102)의 목표 속도(
Figure 112012097013119-pat00233
)의 부호에 따라 결정된다. 즉, 마찰 보상값은 로봇 암의 운동 방향에 따라 결정된다.
만약, 입력부(10)의 동작 상태가 정지 상태가 아니라면, [수학식 4]와 같이, 로봇 암의 속도 즉, 제2 관절(202)의 속도에 기초하여 입력부(10)의 제1 관절(102)에 적용할 마찰 보상값을 산출할 수 있다. 이 때, [수학식 4]에 따라 마찰 보상값을 산출하는 단계는 제2 관절 공간(
Figure 112012097013119-pat00234
)에서의 제2 관절(202)의 속도(
Figure 112012097013119-pat00235
)를 작업 공간(
Figure 112012097013119-pat00236
)에서의 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00237
)로 변환하는 단계와, 작업 공간(
Figure 112012097013119-pat00238
)에서의 제2 엔드 이펙터(203)의 속도(
Figure 112012097013119-pat00239
)를 제1 관절 공간(
Figure 112012097013119-pat00240
)에서의 속도(
Figure 112012097013119-pat00241
)로 변환하는 단계와, 제1 관절 공간(
Figure 112012097013119-pat00242
)에서의 제2 엔드 이펙터의 속도(
Figure 112012097013119-pat00243
)에 제1 관절(102)의 마찰 계수(
Figure 112012097013119-pat00244
)를 곱하여 제1 관절(102)에 적용할 마찰 보상값을 산출하는 단계를 포함할 수 있다.
입력부(10)의 제1 관절(102)에 적용할 마찰 보상값이 산출되면, 산출된 마찰 보상값이 반영된 제어신호를 생성하여(840), 마스터 장치(100B)로 전송할 수 있다(850).
마스터 장치(100B)가 슬레이브 장치(200B)로부터 제어신호를 수신하면(860), 수신된 제어신호는 제1 관절(102)에 마련된 제1 구동부(170B)로 제공되고, 제1 구동부(170B)는 제어신호에 따라 구동될 수 있다(870). 이처럼 로봇 암의 속도에 기초하여 입력부(10)에 대한 마찰 보상을 하면, 마스터 장치(100B)의 입력부(10)를 조작하고 있던 조작자(D)는 로봇 암에 발생한 외력을 입력부(10)를 통해 느낄 수 있다.
도 8은 본 발명의 실시예에 따른 마찰 보상을 수행한 경우, 마스터 장치와 슬레이브 장치의 속도 변화를 도시한 그래프이다. 그리고, 도 9는 마찰 보상을 수행하지 않은 경우, 마스터 장치와 슬레이브 장치의 속도 변화를 도시한 그래프이다.
도 8에서 알 수 있듯이, 본 발명의 실시예에 따른 마찰 보상을 수행하는 경우, 마스터 장치의 속도 변화 그래프와 슬레이브 장치의 속도 변화 그래프가 거의 일치하는 것을 볼 수 있다. 즉, 슬레이브 장치(또는 마스터 장치)가 마스터 장치(또는 슬레이브 장치)의 동작을 자연스럽게 추종하고 있는 것을 알 수 있다.
이에 비하여, 마찰 보상을 수행하지 않은 경우에는 도 9에 도시된 바와 같이, 마스터 장치의 속도 변화 그래프와 슬레이브 장치의 속도 변화 그래프에 차이가 있는 것을 알 수 있다.
이상으로 본 발명의 실시예들을 설명하였다. 전술한 실시예들에 더하여, 본 발명의 실시예들은 전술한 실시예의 적어도 하나의 처리 요소를 제어하기 위한 컴퓨터 판독 가능한 코드/명령을 포함하는 매체 예를 들면, 컴퓨터 판독 가능한 매체를 통해 구현될 수도 있다. 상기 매체는 상기 컴퓨터 판독 가능한 코드의 저장 및/또는 전송을 가능하게 하는 매체/매체들에 대응할 수 있다.
상기 컴퓨터 판독 가능한 코드는, 매체에 기록될 수 있을 뿐만 아니라, 인터넷을 통해 전송될 수도 있는데, 상기 매체는 예를 들어, 마그네틱 저장 매체(예를 들면, ROM, 플로피 디스크, 하드 디스크 등) 및 광학 기록 매체(예를 들면, CD-ROM 또는 DVD)와 같은 기록 매체, 반송파(carrier wave)와 같은 전송매체를 포함할 수 있다. 또한, 본 발명의 실시예에 따라 상기 매체는 합성 신호 또는 비트스트림(bitstream)과 같은 신호일 수도 있다. 상기 매체들은 분산 네트워크일 수도 있으므로, 컴퓨터로 읽을 수 있는 코드는 분산 방식으로 저장/전송되고 실행될 수 있다. 또한 더 나아가, 단지 일 예로써, 처리 요소는 프로세서 또는 컴퓨터 프로세서를 포함할 수 있고, 상기 처리 요소는 하나의 디바이스 내에 분산 및/또는 포함될 수 있다.
이상과 같이 예시된 도면을 참조로 하여, 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해해야만 한다.
100: 마스터 장치
10: 입력부
101: 제1 링크
102: 제1 관절
103: 제1 엔드 이펙터
200: 슬레이브 장치
201: 제2 링크
202: 제2 관절
203: 제2 엔드 이펙터

Claims (22)

  1. 제1 엔드 이펙터 및 제1 관절로 이루어진 입력부를 포함하는 마스터 장치;
    제2 엔드 이펙터 및 제2 관절로 이루어진 로봇 암이 구비되며, 상기 마스터 장치에 의해 원격으로 제어되는 슬레이브 장치; 및
    상기 입력부가 운동하는 경우, 상기 입력부의 속도에 기초하여 상기 제2 관절의 마찰력을 보상하기 위한 마찰 보상값을 산출하고, 상기 마찰 보상값이 반영된 제어신호를 상기 제2 관절에 마련된 모터로 제공하는 제어부를 포함하는 로봇.
  2. 제 1 항에 있어서,
    상기 제어부는
    상기 로봇 암이 정지되어 있는 경우, 상기 제2 관절의 최대 정지 마찰력을 상기 마찰 보상값으로 출력하되, 상기 출력된 마찰 보상값의 부호는 상기 입력부의 운동 방향에 기초하는 로봇.
  3. 제 1 항에 있어서,
    상기 제어부는 상기 마스터 장치 또는 상기 슬레이브 장치에 구비되는 로봇.
  4. 제 1 항에 있어서,
    상기 마스터 장치는 상기 입력부의 속도를 검출하기 위한 속도 검출부를 더 포함하는 로봇.
  5. 제 1 항에 있어서,
    상기 마스터 장치는 상기 입력부의 위치를 검출하기 위한 위치 검출부를 더 포함하며,
    상기 제어부는 상기 입력부의 위치로부터 상기 입력부의 속도를 산출하는 로봇.
  6. 제 1 항에 있어서,
    상기 제어부는
    상기 입력부의 속도를 상기 제2 관절의 속도로 변환하고, 상기 변환된 속도에 상기 제2 관절의 마찰 계수를 곱하여 상기 마찰 보상값을 산출하는 로봇.
  7. 제1 엔드 이펙터 및 제1 관절로 이루어진 입력부를 포함하는 마스터 장치;
    제2 엔드 이펙터 및 제2 관절로 이루어진 로봇 암이 구비되며, 상기 마스터 장치에 의해 원격으로 제어되는 슬레이브 장치; 및
    상기 로봇 암이 운동하는 경우, 상기 로봇 암의 속도에 기초하여 상기 제1 관절의 마찰력을 보상하기 위한 마찰 보상값을 산출하고, 상기 마찰 보상값이 반영된 제어신호를 상기 제1 관절에 마련된 모터로 제공하는 제어부를 포함하는 로봇.
  8. 제 7 항에 있어서,
    상기 제어부는
    상기 입력부의 움직임이 정지되어 있는 경우, 상기 제1 관절의 최대 정지 마찰력을 상기 마찰 보상값으로 출력하되, 상기 출력된 마찰 보상값의 부호는 상기 로봇 암의 운동 방향에 기초하는 로봇.
  9. 제 7 항에 있어서,
    상기 제어부는
    상기 로봇 암의 속도를 상기 제1 관절의 속도로 변환하고, 상기 변환된 속도에 상기 제1 관절의 마찰 계수를 곱하여 상기 마찰 보상값을 산출하는 로봇.
  10. 제 7 항에 있어서,
    상기 슬레이브 장치는 상기 로봇 암의 속도를 검출하기 위한 속도 검출부를 더 포함하는 로봇.
  11. 제 7 항에 있어서,
    상기 슬레이브 장치는 상기 로봇 암의 위치를 검출하기 위한 위치 검출부를 더 포함하며,
    상기 제어부는 상기 로봇 암의 위치로부터 상기 로봇 암의 속도를 산출하는 로봇.
  12. 제 7 항에 있어서,
    상기 제어부는 상기 마스터 장치 또는 상기 슬레이브 장치에 구비되는 로봇.
  13. 제1 엔드 이펙터 및 제1 관절로 이루어진 입력부를 포함하는 마스터 장치;
    제2 엔드 이펙터 및 제2 관절로 이루어진 로봇 암이 구비되며, 상기 마스터 장치에 의해 원격으로 제어되는 슬레이브 장치;
    상기 입력부가 운동하는 경우, 상기 입력부의 속도에 기초하여 상기 제2 관절의 마찰력을 보상하기 위한 제1 마찰 보상값을 산출하고, 상기 제1 마찰 보상값이 반영된 제어신호를 상기 제2 관절에 마련된 모터로 제공하는 제1 제어부; 및
    상기 로봇 암이 운동하는 경우, 상기 로봇 암의 속도에 기초하여 상기 제1 관절의 마찰력을 보상하기 위한 제2 마찰 보상값을 산출하고, 상기 제2 마찰 보상값이 반영된 제어신호를 상기 제1 관절에 마련된 모터로 제공하는 제2 제어부를 포함하는 로봇.
  14. 제 13 항에 있어서,
    상기 제1 제어부는
    상기 로봇 암이 정지되어 있는 경우, 상기 제2 관절의 최대 정지 마찰력을 상기 제1 마찰 보상값으로 출력하되, 상기 출력된 제1 마찰 보상값의 부호는 상기 입력부의 운동 방향에 기초하는 로봇.
  15. 제 13 항에 있어서,
    상기 제1 제어부는
    상기 입력부의 속도를 상기 제2 관절의 속도로 변환하고, 상기 변환된 속도에 상기 제2 관절의 마찰 계수를 곱하여 상기 제1 마찰 보상값을 산출하는 로봇.
  16. 제 13 항에 있어서,
    상기 마스터 장치는 상기 입력부의 속도를 검출하기 위한 속도 검출부를 더 포함하는 로봇.
  17. 제 13 항에 있어서,
    상기 마스터 장치는 상기 입력부의 위치를 검출하기 위한 위치 검출부를 더 포함하며,
    상기 제1 제어부는 상기 입력부의 위치로부터 상기 입력부의 속도를 산출하는 로봇.
  18. 제 13 항에 있어서,
    상기 제2 제어부는
    상기 입력부가 정지되어 있는 경우, 상기 제1 관절의 최대 정지 마찰력을 상기 제2 마찰 보상값으로 출력하되, 상기 출력된 제2 마찰 보상값의 부호는 상기 로봇 암의 운동 방향에 기초하는 로봇.
  19. 제 13 항에 있어서,
    상기 제2 제어부는
    상기 로봇 암의 속도를 상기 제1 관절의 속도로 변환하고, 상기 변환된 속도에 상기 제1 관절의 마찰 계수를 곱하여 상기 제2 마찰 보상값을 산출하는 로봇.
  20. 제 13 항에 있어서,
    상기 슬레이브 장치는 상기 로봇 암의 속도를 검출하기 위한 속도 검출부를 더 포함하는 로봇.
  21. 제 13 항에 있어서,
    상기 슬레이브 장치는 상기 로봇 암의 위치를 검출하기 위한 위치 검출부를 더 포함하며,
    상기 제2 제어부는 상기 로봇 암의 위치로부터 상기 로봇 암의 속도를 산출하는 로봇.
  22. 제 13 항에 있어서,
    상기 제1 제어부 및 상기 제2 제어부 중 적어도 하나는 상기 마스터 장치 또는 상기 슬레이브 장치에 구비되는 로봇.
KR1020120133922A 2012-11-23 2012-11-23 로봇 및 로봇의 마찰 보상 방법 KR102023910B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120133922A KR102023910B1 (ko) 2012-11-23 2012-11-23 로봇 및 로봇의 마찰 보상 방법
US14/089,727 US9132552B2 (en) 2012-11-23 2013-11-25 Robot and friction compensation method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120133922A KR102023910B1 (ko) 2012-11-23 2012-11-23 로봇 및 로봇의 마찰 보상 방법

Publications (2)

Publication Number Publication Date
KR20140066544A KR20140066544A (ko) 2014-06-02
KR102023910B1 true KR102023910B1 (ko) 2019-09-23

Family

ID=50826197

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120133922A KR102023910B1 (ko) 2012-11-23 2012-11-23 로봇 및 로봇의 마찰 보상 방법

Country Status (2)

Country Link
US (1) US9132552B2 (ko)
KR (1) KR102023910B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102333782B1 (ko) * 2020-08-04 2021-12-01 네이버랩스 주식회사 인터페이스 장치 및 이를 이용한 로봇 장치의 양방향 원격제어 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102206198B1 (ko) * 2013-07-10 2021-01-22 삼성전자주식회사 수술 로봇 시스템 및 그 제어 방법
WO2016073367A1 (en) * 2014-11-03 2016-05-12 The Board Of Trustees Of The Leland Stanford Junior University Position/force control of a flexible manipulator under model-less control
WO2017033360A1 (ja) * 2015-08-25 2017-03-02 川崎重工業株式会社 遠隔操縦マニピュレータシステム及びその運転方法
US10052164B2 (en) 2015-10-02 2018-08-21 Ethicon Llc System and method of converting user input into motion of a surgical instrument via a robotic surgical system
US10562191B2 (en) * 2015-12-29 2020-02-18 Robomotive Laboratories LLC Method of controlling devices with sensation of applied force
KR101949018B1 (ko) * 2016-05-23 2019-04-29 한양대학교 에리카산학협력단 혈관중재시술 마스터 장치 및 그 동작방법
EP3678576A4 (en) * 2017-09-05 2021-05-12 Covidien LP CONTROL ARM WITH DOUBLE ENCODERS FOR SURGICAL ROBOTIC SYSTEM
CA3079347C (en) * 2017-12-11 2022-09-06 Verb Surgical Inc. Active backdriving for a robotic arm
JP7116600B2 (ja) * 2018-06-11 2022-08-10 株式会社大林組 建設機械、建設機械の制御装置及び建設機械の制御方法
CN111428317B (zh) * 2020-04-06 2023-06-09 宁波智诚祥科技发展有限公司 一种基于5g和循环神经网络的关节摩擦力矩补偿方法
US11691285B2 (en) * 2020-05-07 2023-07-04 Mujin, Inc. Method and computing system for estimating parameter for robot operation
KR102479904B1 (ko) * 2020-10-21 2022-12-21 주식회사 뉴로메카 다자유도 로봇의 마찰보상 시스템 및 마찰보상 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63162173A (ja) * 1986-12-25 1988-07-05 工業技術院長 マスタハンドの操作力低減装置
JP2831662B2 (ja) * 1988-09-09 1998-12-02 株式会社明電舎 バイラテラル式マスター・スレーグマニプレータの制御方式
US5049796A (en) * 1989-05-17 1991-09-17 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Robust high-performance control for robotic manipulators
US4999553A (en) * 1989-12-28 1991-03-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method and apparatus for configuration control of redundant robots
US7345672B2 (en) * 1992-12-02 2008-03-18 Immersion Corporation Force feedback system and actuator power management
JP2762943B2 (ja) * 1995-01-24 1998-06-11 株式会社明電舎 多軸マスタ・スレーブ形サーボマニプレータのマスタアーム操作装置
KR100439466B1 (ko) 1995-09-11 2004-09-18 가부시키가이샤 야스가와덴끼 로봇제어장치
US6659939B2 (en) * 1998-11-20 2003-12-09 Intuitive Surgical, Inc. Cooperative minimally invasive telesurgical system
US6565554B1 (en) 1999-04-07 2003-05-20 Intuitive Surgical, Inc. Friction compensation in a minimally invasive surgical apparatus
JP2004094368A (ja) 2002-08-29 2004-03-25 Masaomi Tsutsumi サーボ系の制御方法および制御装置
US7212886B2 (en) * 2002-12-12 2007-05-01 Kabushiki Kaisha Yaskawa Denki Robot control apparatus and method
US7819859B2 (en) * 2005-12-20 2010-10-26 Intuitive Surgical Operations, Inc. Control system for reducing internally generated frictional and inertial resistance to manual positioning of a surgical manipulator
JP5198514B2 (ja) 2010-07-22 2013-05-15 株式会社東芝 ロボット制御装置
JP2014073222A (ja) * 2012-10-04 2014-04-24 Sony Corp 運動補助装置及び運動補助方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102333782B1 (ko) * 2020-08-04 2021-12-01 네이버랩스 주식회사 인터페이스 장치 및 이를 이용한 로봇 장치의 양방향 원격제어 방법

Also Published As

Publication number Publication date
US9132552B2 (en) 2015-09-15
KR20140066544A (ko) 2014-06-02
US20140156074A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
KR102023910B1 (ko) 로봇 및 로봇의 마찰 보상 방법
KR102584754B1 (ko) 로봇식 시스템 및 그를 역구동하는 방법
TWI631447B (zh) Robot system
KR102079945B1 (ko) 수술 로봇 및 수술 로봇 제어 방법
US11850014B2 (en) Control system, control method, and surgical arm system
EP2885114B1 (en) Phantom degrees of freedom for manipulating the movement of mechanical bodies
US9770300B2 (en) Surgical robot and control method thereof
US20170143437A1 (en) Phantom degrees of freedom in joint estimation and control
JP2010076012A (ja) マニピュレータシステムおよびその制御方法
EP2884936A1 (en) Phantom degrees of freedom for manipulating the movement of surgical systems
CN110709211B (zh) 机器人系统和机器人系统的控制方法
US20200206961A1 (en) Backdrivable and haptic feedback capable robotic forceps, control system and method
WO2018105045A1 (ja) 医療システムとその制御方法
Hwang et al. A robot-assisted cutting surgery of human-like tissues using a haptic master operated by magnetorheological clutches and brakes
KR20130080638A (ko) 서보 제어 장치 및 그 제어 방법
TW202007501A (zh) 機械手臂
Wang et al. A robotic system with force feedback for micro-surgery
Yilmaz et al. 6-axis hybrid sensing and estimation of tip forces/torques on a hyper-redundant robotic surgical instrument
KR20140136828A (ko) 원격 조종 시스템 및 그 제어방법
Miyazaki et al. Pneumatically driven handheld forceps with force display operated by motion sensor
Li et al. Achieving force perception in master-slave manipulators using pneumatic artificial muscles
Ortmaier et al. Autonomy and haptic feedback in minimally invasive robotic surgery
Yılmaz Development of a Sensorless Haptic Teleoperation System for Robotic Minimally Invasive Surgery
CN115399884A (zh) 机器人驱动模块的实时监测
De Donno et al. First Evaluations in the Control of a Novel Flexible Surgical Robot

Legal Events

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