마스터 얼라인먼트를 위한 래칫작용을 하는 원격조종식 최소 침습 수술 기구

申请号 KR1020117031313 申请日 2010-06-11 公开(公告)号 KR101699319B1 公开(公告)日 2017-01-24
申请人 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드; 发明人 잇코비츠브랜던디; 디마이오시몬; 노울린윌리엄씨; 니마이어귄터디; 민츠데이비드에스;
摘要 최소침습수술시스템(100)은슬레이브수술기구(112) 팁을가지고있는슬레이브수술기구및 마스터그립을포함하고있다. 상기슬레이브수술기구팁은공통기준프레임에서얼라인먼트를가지고있고, 슬레이브수술기구에결합되어있는마스터그립도공통기준프레임에서얼라인먼트를가지고있다. 공통기준프레임에서의얼라인먼트에러는, 슬레이브수술기구팁의얼라인먼트와마스터그립의얼라인먼트사이의얼라인먼트상의차이이다. 래칫작용시스템(130)은 (i) 마스터그립의얼라인먼트를수용하기위해마스터그립에결합되어있으며 (ii) 마스터그립이이동할때, 슬레이브수술기구팁의자율적인움직임없이그리고마스터그립의자율적인움직임없이얼라인먼트에러를연속적으로감소시킴으로써슬레이브수술기구의움직임을컨트롤하기위해슬레이브수술기구에결합되어있다.
权利要求
  • 최소 침습 수술 시스템(100)으로서
    공통 좌표 기준 프레임에서 얼라인먼트를 가지고 있는 슬레이브 수술 기구 팁(212T)을 가진 슬레이브 수술 기구(112);
    상기 슬레이브 수술 기구(112)에 결합되어 있으며, 상기 공통 좌표 기준 프레임에서 얼라인먼트를 가지고 있는 마스터 그립(230); 그리고
    (i) 상기 마스터 그립(230)에 결합되어서 상기 마스터 그립(230)의 상기 얼라인먼트를 나타내는 데이터를 수신하고, (ii) 상기 슬레이브 수술 기구(112)에 결합되어서, 상기 슬레이브 수술 기구 팁(212T)의 상기 얼라인먼트를 나타내는 데이터를 수신하는, 래칫작용 시스템(130);을 포함하고,
    상기 공통 기준 프레임에서의 얼라인먼트 에러는 상기 슬레이브 수술 기구 팁(212T)의 얼라인먼트와 상기 마스터 그립(230)의 얼라인먼트 사이의 상기 공통 기준 프레임에서의 얼라인먼트 차이이고,
    상기 래칫작용 시스템은 상기 공통 기준 프레임에서 새로운 얼라인먼트 에러를 결정하도록 구성되어 있고, 상기 새로운 얼라인먼트 에러는 마스터 그립(230)의 새로운 얼라인먼트와 슬레이브 수술 기구 팁(212T)의 현재의 얼라인먼트 사이의 얼라인먼트 차이이고,
    상기 래칫작용 시스템(130)은, 상기 마스터 그립(230)의 움직임이 상기 얼라인먼트 에러를 감소시키면 상기 슬레이브 수술 기구 팁(212T)의 움직임의 제어에 있어서 상기 공통 기준 프레임에서 상기 새로운 얼라인먼트 에러를 사용함으로써, 그리고 상기 마스터 그립(230)의 움직임이 상기 얼라인먼트 에러를 감소시키지 않으면 상기 슬레이브 수술 기구 팁(212T)의 움직임의 제어에 있어서 상기 공통 기준 프레임에서 현재의 얼라인먼트 에러를 사용함으로써, 얼라인먼트 에러를 감소시키도록 구성되어 있고, 상기 현재의 얼라인먼트 에러는 미리 결정되어 있는 상기 마스터 그립(230)의 얼라인먼트와 상기 슬레이브 수술 기구 팁(212T)의 얼라인먼트 사이의 얼라인먼트 차이인 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 제1항에 있어서, 상기 얼라인먼트 에러는 오리엔테이션 에러인 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 제2항에 있어서, 상기 오리엔테이션 에러는 각도로 이루어지는 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 제3항에 있어서, 상기 각도는 아래의 식:
    θ e = COS -1 [ O.5 *(R Δ11 + R Δ22 + R Δ33 - 1) ]
    으로 표현되고, 상기 식에서 R Δ11 , R Δ22 , R Δ33 은 상대 회전 행렬(R Δ )의 대각선 요소인 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 제3항에 있어서, 상기 각도는 오일러 각도 집합 중의 하나의 오일러 각도인 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 제1항에 있어서, 상기 래칫작용 시스템(130)은,
    상기 슬레이브 수술 기구 팁(212T)의 움직임이 조인트 한계에 도달하는지 여부를 결정하고, 상기 조인트 한계에 도달하면, 슬레이브 수술 기구 팁(212T)의 움직임을 제한하는 롤-조인트 한계 컨트롤러(635)를 포함하는 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 제1항에 있어서, 상기 래칫작용 시스템(130)은,
    상기 슬레이브 수술 기구 팁(212T) 및 상기 마스터 그립(230)의 상기 얼라인먼트에 대하여 컨트롤 시스템 에러를 도입하는 컨트롤 시스템 에러 도입 컨트롤러(560A)를 포함하는 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 제1항에 있어서, 상기 래칫작용 시스템(130)은,
    상기 마스터 그립(230)의 오리엔테이션에 가장 가까운 오리엔테이션 솔루션을 결정하는 복수의 오리엔테이션 솔루션 컨트롤러(621)를 포함하는 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 제1항에 있어서, 상기 마스터 그립(230)은 비전동식 마스터 그립을 포함하는 것을 특징으로 하는 최소 침습 수술 시스템(100).
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 说明书全文

    마스터 얼라인먼트를 위한 래칫작용을 하는 원격조종식 최소 침습 수술 기구{RATCHETING FOR MASTER ALIGNMENT OF A TELEOPERATED MINIMALLY-INVASIVE SURGICAL INSTRUMENT}

    본 발명은 원격조종식 최소 침습 수술 시스템에 관한 것이며, 보다 상세하게는 원격조종식 최소 침습 수술 시스템에 있어서 마스터 수술 기구 팁 및 슬레이브 수술 기구 팁의 오리엔테이션(orientation)을 컨트롤하는 것에 관한 것이다.

    미국 캘리포니아주 써니베일에 있는 인튜어티브 서지컬사(Intuitive Surgical, Inc.)에 의해 제작된 다빈치(da Vinci ® ) 시스템은 신체에 대한 외상의 감소, 빠른 회복 및 단기간의 입원과 같은 많은 장점을 환자에게 제공하는 최소 침습, 원격조종식 로보트 시스템이다. 다빈치(da Vinci ® ) 수술 시스템의 한 가지 구성요소는 외과의사가 슬레이브 수술 기구(slave surgical instrument)라고 하는 수술 기구를 조작하는데 사용하는 마스터 툴 매니퓰레이터(master tool manipulator)이다.

    특히 마스터 툴 매니퓰레이터의 마스터 그립은 슬레이브 수술 기구를 컨트롤하는데 있어서 인체공학적이며 사용하기가 용이하도록 설계되어 있다. 외과의사는 자신의 집게 손가락과 엄지 손가락을 사용하여 특별한 방식으로 마스터 그립을 유지하기 때문에, 대상물을 겨냥하여 붙잡는 동작이 직감에 의한 겨냥 동작과 집는 동작을 필요로 한다.

    슬레이브 수술 기구의 편리한 컨트롤을 가능하게 하기 위해서는, 마스터 그립이 입체 영상장치(stereoscopic viewer)의 시야 기준 프레임에서 슬레이브 수술 기구 팁과 오리엔테이션이 정렬되어야 한다. 슬레이브 수술 기구 팁의 움직임은 원격조종을 통하여 마스터 그립의 움직임을 따라 행해지고 슬레이브 수술 기구 팁의 움직임은 절대 오리엔테이션(absolute orientation) 뿐만 아니라 움직임의 방향에 있어서 일치된다. 오리엔테이션 얼라인먼트가 이루어지지 않으면, 슬레이브 수술 기구 팁이 원하는 방향으로 회전할 수는 있지만, 슬레이브 수술 기구 팁은 동일한 절대 방향으로 향하지 않고 외과의사가 지시하는 것과 동일한 축을 따라서 구름운동(roll)하지 않는다.

    마스터 툴 매니퓰레이터는 시야 좌표에서 마스터 그립의 오리엔테이션 축을 해당 슬레이브 수술 기구 팁과 적극적으로 정렬시키기 위해 짐벌 조립체(gimbal assembly)의 모터를 이용한다. 이러한 얼라인먼트는 외과의사가 원격조종을 수행하기 전에 자동적으로 이루어진다. 더우기, 상기 시스템은 카메라 또는 기구 외부 축의 조작이 이루어지는 동안 자동적으로 이러한 얼라인먼트를 보존한다.

    구체적으로, 다빈치(da Vinci ® ) 수술 시스템에 대해 팔로잉(following)을 실행하면, 마스터 그립은 다빈치(da Vinci ® ) 수술 시스템이 팔로잉에서 제대로 작동하기 전에 슬레이브 수술 기구 팁의 오리엔테이션과 정렬되어야 한다. 본 시스템은,(툴(tool) 변경, 카메라 클러치(camera clutch), 슬레이브 클러치(slave clutch), 제4 아암 시스템에 있어서 아암의 교체 등의 후에) 상기 오리엔테이션 얼라인먼트가 훼손될 수 있는 한 모드(mode)로부터 본 시스템의 전환이 있을 때마다 마스터 얼라인먼트를 수행한다.

    마스터 얼라인먼트는 마스터 그립 위치를 바꾸지 않고서 마스터 그립의 오리엔테이션을 슬레이브 수술 기구 팁의 오리엔테이션에 맞추게 하는 일련의 마스터 손목 조인트 각도를 계산한다. 그 다음에 마스터 손목 조인트는 모터를 사용하여 계산된 각도를 일치시키도록 명령을 받는다.

    다빈치(da Vinci ® ) 수술 시스템은 사용자가 팔로잉을 실행하는 것을 허용하기 전에 마스터 오리엔테이션과 슬레이브 오리엔테이션이 일치하는지 체크한다. 만약에 마스터 오리엔테이션과 슬레이브 오리엔테이션이 일치하지 않으면(아마도 사용자가 마스터에 과도하게 동력을 공급하여 마스터가 얼라인먼트를 완료할 수 없게 하였기 때문에) 경고 메세지가 표시되고 마스터 얼라인먼트가 다시 시도된다. 이것은 종종 외과의사의 팔로잉으로의 진입을 늦추게 하고 또한 마스터 손목 조인트를 적절한 오리엔테이션으로 이동시키기 위해서 짐벌 조립체에 모터를 가진 전동식 마스터 툴 매니퓰레이터를 필요로 한다.

    본 발명의 목적은 원격조종식 최소 침습 수술 시스템에 있어서 마스터 수술 기구 팁 및 슬레이브 수술 기구 팁의 오리엔테이션을 적절하게 컨트롤하는 것에 관한 장치와 방법을 제공하는 것이다.

    최소 침습 수술 시스템은 슬레이브 수술 기구 팁을 가지고 있는 슬레이브 수술 기구 및 마스터 그립을 포함하고 있다. 마스터 그립은 원격조종 서보 컨트롤 시스템에 의해 슬레이브 수술 기구 팁에 결합되어 있다. 한 가지 실시형태에서는, 원격조종 서보 컨트롤 시스템 내의 래칫작용 시스템(ratcheting system)이, 마스터 그립이 이동할 때 공통 좌표 기준 프레임에서 슬레이브 수술 기구 팁에 대한 마스터 그립의 얼라인먼트를 균일하게 연속적으로 개선시킨다.

    상기 래칫작용 시스템은 마스터 그립과 슬레이브 수술 기구 팁 사이의 용이한 얼라인먼트를 제공한다. 또한, 상기 래칫작용 시스템은 외과의사가 마스터 그립을 조작하는 것과 외과의사가 외과의사의 콘솔에서 디스플레이상에서의 슬레이브 수술 기구 팁의 움직임을 보는 것의 직접적인 관련성을 제공한다. 이것은 팔로잉이 실행될 수 있기 전에 종래의 전동식 얼라인먼트와 관련된 지연이 없는 상태로 이루어진다. 또한, 상기 래칫작용 시스템은, 한 가지 실시형태에서, 전동식 마스터 그립에 대한 필요성을 배제시키며 마스터 그립으로서 보다 저렴하고 용이하게 구입할 수 있는 구성요소를 사용할 수 있게 해 준다.

    한 가지 실시형태에서는, 슬레이브 수술 기구와 마스터 그립이 공통 좌표 기준 프레임에서 직각좌표 위치 구성요소 및 오리엔테이션 구성요소를 가진다. 래칫작용 시스템은 모든 구성요소, 구성요소들의 부분 집합, 예를 들면, 오리엔테이션 구성요소 또는 직각좌표 구성요소에 대해 얼라인먼트를 달성하거나, 구성요소들의 특정 집합에 대해 하나의 구성요소 방식으로 얼라인먼트를 달성할 수 있다.

    래칫작용 시스템은, 원격조종 서보 컨트롤 시스템에서, 공통 좌표 프레임에서의 마스터 그립의 얼라인먼트를 수신하기 위해서 (i) 마스터 그립에 결합되어 있고, (ii) 슬레이브 수술 기구에 결합되어 있다. 상기 래칫작용 시스템은, 마스터 그립이 움직일 때 공통 좌표 프레임에서의 얼라인먼트 에러를 연속적으로 감소시킴으로써 슬레이브의 움직임을 컨트롤한다. 이것은 슬레이브 수술 기구 팁의 자율적인 움직임(autonomous motion)없이 그리고 마스터 그립의 자율적인 움직임없이 행해진다.

    한 가지 실시형태에서는, 공통 좌표 프레임에서의 얼라인먼트 에러가 오리엔테이션 에러이다. 오리엔테이션 에러는 각도를 포함한다. 한 가지 실시형태에서는, 상기 각도는 아래와 같이 정의된 각도 θ e 이고,

    θ e = COS -1 [ O.5 *(R Δ11 + R Δ22 + R Δ33 - 1) ],

    상기 식에서 R Δ11 , R Δ22 , R Δ33 은 상대 회전 행렬(R Δ )의 대각선 요소들이다. 다른 실시형태에서는, 상기 각도가 복수의 오일러 각도(Euler angle) 중의 하나의 오일러 각도이다.

    다른 실시형태에서는, 래칫작용 시스템이 공통 기준 프레임에서의 슬레이브 수술 기구 팁 및 마스터 그립의 얼라인먼트에 컨트롤 시스템 에러를 도입하는 컨트롤 루프 에러 도입 컨트롤러(introduce control loop error controller)를 포함하고 있다. 예를 들면, 슬레이브 수술 기구 팁과 마스터 그립 사이의 공통 기준 프레임에서의 미스얼라인먼트(misalignment)의 양에 기초하여 슬레이브 수술 기구의 각속도에 페널티가 부여된다. 또 다른 실시형태에서는, 래칫작용 시스템이 롤-조인트 한계 컨트롤러(roll-joint limit controller)를 포함하고 있고, 상기 롤-조인트 한계 컨트롤러는 슬레이브 수술 기구의 움직임이 조인트 한계에 도달하였는지 여부를 결정하고 조인트 한계에 도달하는 즉시 슬레이브 수술 기구 팁의 움직임을 제한한다. 또 다른 실시형태에서는, 래칫작용 시스템이 복수의 오리엔테이션 솔루션(solution)을 포함하고 있고, 베스트 오리엔테이션 컨트롤러(best orientation controller)가 복수의 오리엔테이션 솔루션으로부터 마스터 그립의 오리엔테이션에 가장 가까운 하나의 솔루션을 선택한다.

    상기 최소 침습 수술 시스템을 이용하는 방법은, 최소 침습 수술 시스템의 슬레이브 수술 기구 팁의 움직임을 최소 침습 수술 시스템의 마스터 그립의 움직임으로 컨트롤하는 것을 포함하고 있다. 이러한 방법에 있어서, 최소 침습 수술 시스템의 래칫작용 시스템은 공통 기준 프레임에서의 슬레이브 수술 기구 팁의 얼라인먼트와 마스터 그립의 얼라인먼트를 수신한다. 상기 래칫작용 시스템은, 마스터 그립이 움직일 때, 슬레이브 수술 기구 팁의 자율적인 움직임없이 그리고 마스터 그립의 자율적인 움직임없이 슬레이브 수술 기구 팁의 얼라인먼트와 마스터 그립의 얼라인먼트 사이의 얼라인먼트 에러를 연속적으로 감소시킴으로써 슬레이브 수술 기구 팁의 얼라인먼트를 마스터 그립의 얼라인먼트에 래칫작용되게 한다.

    한 가지 실시형태에 있어서, 래칫작용(ratcheting)은 공통 기준 프레임에서의 얼라인먼트와 관계없이 최소 침습 수술 시스템에 의한 팔로잉의 관여(engagement)시에 동일한 상대적인 방식으로 슬레이브 수술 기구 팁과 마스터 그립을 이동시키는 것을 포함한다. 래칫작용은 또한, 마스터 그립의 움직임이 공통 기준 프레임에서의 얼라인먼트 에러를 감소시킬 때 새로운 얼라인먼트 에러를 사용함으로써, 그리고 마스터 그립의 움직임이 공통 기준 프레임에서의 얼라인먼트 에러를 감소시키지 않을 때 공통 기준 프레임에서의 현재의 얼라인먼트 에러를 이용하여 공통 기준 프레임에서의 얼라인먼트들 사이의 얼라인먼트 에러를 연속적으로 감소시킴으로써 공통 기준 프레임에서의 얼라인먼트 에러를 감쇠시키는 것을 포함한다.

    또한 래칫작용 시스템은 새로운 얼라인먼트 에러를 이용하여 슬레이브 수술 기구에 대해 새로운 얼라인먼트를 생성하고, 새로운 얼라인먼트에 기초하여 슬레이브 수술 기구에 명령을 발송한다.

    다른 실시형태에서는, 상기 래칫작용 시스템이 슬레이브 수술 기구 얼라인먼트와 마스터 그립 얼라인먼트 사이에 컨트롤 에러를 도입한다. 컨트롤 에러의 도입은 또한 현재의 얼라인먼트 에러에 기초하여 슬레이브 수술 기구 팁에 대해 지시된 각속도에 페널티를 부가하는 것을 포함한다.

    도 1은 래칫작용 시스템을 가진 원격조종 서보 컨트롤 시스템을 포함하는 최소 침습 수술 로보트의 개략도이다.
    도 2a는 도 1의 최소 침습 수술 로보트에 대한 도 1의 외과의사의 콘솔의 일부분의 개략도이다.
    도 2b는 마스터 그립과 슬레이브 그립의 오리엔테이션 및 2개의 오리엔테이션 사이의 회전 각도 에러 θ e 를 나타내고 있다.
    도 2c는 마스터 그립과 슬레이브 그립의 오리엔테이션 및 오리엔테이션 에러가 복수의 오일러 각도로 분해되는 것을 나타내고 있다.
    도 3a는 래칫작용 시스템에 대한 프로세스 흐름도이다.
    도 3b는 래칫작용 시스템을 실행하기 위해 사용된 모듈을 포함하는 컨트롤 시스템의 블록도이다.
    도 4a는 도 3a의 래칫 얼라인먼트 프로세스의 한 실시형태에 대한 프로세스 흐름도이다.
    도 4b는 래칫 얼라인먼트 프로세스를 실행하기 위해 사용된 모듈을 포함하는 컨트롤 시스템의 블록도이다.
    도 5a는 도 3a의 래칫 얼라인먼트 프로세스의 다른 실시형태에 대한 프로세스 흐름도이다.
    도 5b는 각속도 페널티 프로파일의 그래프이다.
    도 6a는 래칫작용 시스템의 다른 실시형태에 대한 프로세스 흐름도이다.
    도 6b는 도 6a의 래칫작용 시스템을 실행하기 위해 사용된 모듈을 포함하는 컨트롤 시스템의 블록도이다.
    도 7은 슬레이브 수술 기구 팁에 대한 롤-조인트 한계의 코너 케이스 조작의 예시도이다.
    상기 도면에 있어서, 부재 번호의 첫번째 숫자는 그 부재 번호를 가진 요소가 처음으로 나오는 도면 번호를 나타낸다.

    본 발명의 실시형태는 미국 캘리포니아주 써니베일에 있는 인튜어티브 서지컬사(Intuitive Surgical, Inc.)에 의해 제작된 다빈치(da Vinci ® ) 수술 로보트 시스템에 사용된 것과 같은 전동식 마스터 툴 매니퓰레이터(powered master tool manipulator)를 적어도 하나의 마스터 그립을 포함하는 비전동식 마스터 툴 매니퓰레이터(unpowered master tool manipulator)로 교체시킨다. 최소 침습 수술 시스템(100)에서, 콘솔(114)에 있는 외과의사는, 엄지손가락과 집게손가락 사이에 마스터 그립(도시되어 있지 않음)을 쥐고 있으므로 대상물을 겨냥하여 붙잡는 동작이 여전히 직감에 의한 겨냥 동작과 집는 동작을 필요로 한다. 아래에 보다 상세하게 기술되어 있는 바와 같이, 마스터 그립의 움직임이 컨트롤 시스템(150)에 의해 슬레이브 수술 기구(112)의 엔드-이펙터(end-effector)를 움직이도록 이용된다.

    공통 기준 프레임에서, 마스터 그립의 얼라인먼트 및 슬레이브 수술 기구 엔드-이펙터가 팔로잉이 실행될 수 있도록 위치될 때까지 외과의사가 기다릴 것을 요하는 종래의 시스템과는 달리, 외과의사가 마스터 그립을 움직이기 시작하면 컨트롤 시스템(150)의 원격조종 서보 컨트롤 시스템(160) 내에 있는 래칫작용 시스템(130)이 작동된다. 공통 기준 프레임에서의 마스터 그립과 슬레이브 수술 기구(112)의 엔드-이펙터 사이의 얼라인먼트와 관계없이, 원격조종 서보 컨트롤 시스템(160)이 마스터 그립과 종종 슬레이브 수술 기구 팁이라고 칭하는 수술 기구 엔드-이펙터 사이에서 팔로잉을 개시하고, 래칫작용 시스템(130)을 작동시킨다.

    래칫작용 시스템(130)은 마스터 그립이 움직일 때 공통 기준 프레임에서 슬레이브 수술 기구 팁에 대한 마스터 그립의 얼라인먼트을 균일하게 연속적으로 개선시킨다. 래칫작용 시스템(130)은 슬레이브 수술 기구 팁과 마스터 그립 사이의 공통 기준 프레임에서의 임의의 얼라인먼트 에러를 연속적으로 균일하게 감소시키기 위해서 슬레이브 수술 기구 팁의 움직임을 래칫작용되게 한다. 래칫작용 시스템(130)은 마스터 그립이나 슬레이브 수술 기구 팁의 자율적인 움직임없이 얼라인먼트를 달성한다.

    래칫작용 시스템(130)은 외과의사가 보는 것처럼 마스터 그립과 슬레이브 수술 기구 팁 사이의 편리한 얼라인먼트를 제공한다. 또한, 래칫작용 시스템(130)은 외과의사가 마스터 그립을 조작하는 것과 외과의사가 콘솔(114)에서 디스플레이상에서의 슬레이브 수술 기구 팁의 움직임을 보는 것 사이의 직접적인 관련성을 제공한다. 이것은 팔로잉이 개시될 수 있기 전에 종래의 전동식 얼라인먼트과 관련된 지연(delay)이 없는 상태로 이루어진다. 또한, 래칫작용 시스템(130)은 전동식 마스터 그립에 대한 필요성을 배제시키며 마스터 그립으로서 보다 저렴하고 용이하게 구입할 수 있는 구성요소를 사용할 수 있게 해 준다.

    콘솔(114)(도 1 및 도 2a)은 마스터 디스플레이를 포함하고 있고, 이 마스터 디스플레이는 적어도 환자(111)의 수술 부위(103)의 입체 영상(210)(도 2a)을 표시한다. 상기 입체 영상(210)은 대체적으로 수술 부위(103)의 영상(203), 수술 기구(112)의 일부분의 영상(212), 그리고 슬레이브 수술 기구(112)의 팁의 영상(212T)을 포함하고 있다. 콘솔(114)은 또한 하나 이상의 푸트 페달(도시되어 있지 않음)을 포함하고 있다.

    콘솔(114)(도 1)은 컨트롤 시스템(150)에 연결되어 있고, 컨트롤 시스템(150)은 카트(110)에 연결되어 있으며, 이 카트(110)는 로보트 팔(113)을 포함하는 복수의 로보트 팔을 지탱하고 있다. 슬레이브 수술 기구(112)는 로보트 팔(113)에 의해 유지되어 위치결정된다. 도 1에 도시되어 있지는 않지만, 다른 로보트 팔에 의해 유지된 내시경이 영상(210)을 제공하기 위해 사용된다.

    외과의사는 수술하는 내내 콘솔(114)에 있는 마스터 디스플레이를 편안하게 앉아서 본다. 외과의사는 적어도 마스터 그립(230)(도 2a)을 조작하는 것에 의해서 수술을 시행한다. 마스터 그립(230)으로부터 얻는 마스터 얼라인먼트 정보(132)에 따라, 컨트롤 시스템(150)(도 1) 내의 원격조종 서보 컨트롤 시스템(160)이 슬레이브 명령(135)을 이용하여 이에 상응하는 로보트 팔(113)을 슬레이브 수술 기구(112)에 위치되도록 한다. 대체적으로, 콘솔(114)은 적어도 두 개의 마스터 그립을 포함하고 있고 각각의 마스터 그립은 서로 다른 로보트 팔과 이에 부착된 수술 기구를 컨트롤한다. 본 경우에서는, 하나의 마스터 그립(230)이 고려되고 있다. 본 설명에 비추어 보아, 래칫작용 시스템(130)은 임의의 원하는 갯수의 마스터 그립에 대해서 실행될 수 있다.

    마스터 디스플레이에서 보여지는 영상(210)(도 2a)이 외과의사가 실제로 수술 부위(103)를 직접 내려다 보는 것으로 느끼도록 배향되게끔 마스터 디스플레이가 콘솔(114)(도 1)에서 외과의사의 손 근처에 위치되어 있다. 슬레이브 수술 기구(112)의 영상(212)은, 외과의사의 손이 외과의사가 자신의 손의 위치에 기초하여 슬레이브 수술 기구(112)가 있을 것으로 예상하는 것과 대체로 동일하게 배치되어 향하는 곳에 대체로 배치되는 것으로 나타난다. 그러나, 외과의사는 영상(210)을 보면서 마스터 그립(230)의 위치 또는 오리엔테이션을 볼 수는 없다.

    마치 실제 상황의 수술공간을 보는 것처럼, 외과의사가 상응하는 마스터 그립(230)을 통하여 슬레이브 수술 기구(112)의 수술 기구 엔드-이펙터를 조작할 수 있도록 내시경으로부터의 실시간 영상이 입체 영상(210)으로 나타난다. 여기서 "실제 상황" 이라는 표현은, 보여지는 영상이 수술 기구를 실제로 조작하는 시술자의 시야(viewpoint)를 시뮬레이션하는 현실감이 있는 입체 영상인 것을 의미한다. 따라서, 컨트롤 시스템(150)은, 상기 입체 영상이 개방 캐버티 절차(open cavity procedure) 동안 내시경이 외과의사의 눈높이로부터 수술 기구(112)를 직접 주시하고 있다면 외과의사가 볼 수 있는 영상이 되도록 수술 기구(112)의 좌표를 인식된 위치로 변환시킨다.

    컨트롤 시스템(150)은 최소 침습 수술 시스템(100)에서 다양한 기능을 수행한다. 컨트롤 시스템(150)은 내시경으로부터 영상을 수신하여 외과의사가 보는 입체영상을 생성한다. 종래의 방식에서는, 컨트롤 시스템(150)이 래칫작용 시스템(130)에 의해서 사용되는 종종 공통 기준틀이라고 칭하는, 공통 기준 프레임으로 마스터 얼라인먼트를 외과의사의 방향(aspect)에 대해 관련(map)시키고 슬레이브 얼라인먼트를 내시경의 팁에 대하여 관련시킨다. 이에 대해서는, 예를 들면, 니메이어(Niemeyer) 등에게 부여되었으며, 2002년 7월 23일자로 발행된, 발명이 명칭이 "최소 침습 수술 장치에서의 카메라 참고 컨트롤(Camera Referenced Control in a Minimally-invasive Surgical Apparatus" 인 미국 특허 제6,424,885호를 참고하기 바란다.

    외과의사가 슬레이브 수술 기구(112)를 효과적으로 조작할 수 있도록 하기 위해서 컨트롤 시스템(150)은 원격조종 서보 컨트롤 시스템(160)를 사용하여 컨트롤 명령(135)을 통하여 마스터 그립(230)의 기계적인 움직임을 해석하여 관련된 로보트 팔(113)의 움직임으로 전환시킨다. 원격조종 서보 컨트롤 시스템(160)에 의해서 수행되는 기능은 컨트롤 시스템(150)에 포함되어 있는 래칫작용 시스템(130)과 관련하여 고려하면 종래의 기능과 동등하다.

    한 번에 사용되는 수술 기구의 숫자와, 결과적으로 최소 침습 수술 시스템(100)에서 사용되는 로보트 팔의 숫자는 다른 요소들 중에서도, 대체로 수행될 수술 및 수술실 내의 공간적인 제약에 좌우된다. 수술하는 도중에 사용되고 있는 하나 이상의 수술 기구를 교체할 필요가 있는 경우에는, 보조자가 더 이상 사용되지 않는 수술 기구를 로보트 팔로부터 제거하여, 이 수술 기구를 수술실 내의 트레이(tray)에 있는 다른 수술기구와 교체할 수 있다.

    비록 컨트롤 시스템(150)이라고 설명하였지만, 이 컨트롤 시스템(150)은 하드웨어, 프로세서에서 실행되는 소프트웨어, 그리고 펌웨어(firmware)의 임의의 조합에 의해서 실행될 수 있다는 것을 알아야 한다. 또한, 본 명세서에 기술되어 있는 바와 같이, 컨트롤 시스템의 기능은 하나의 유닛으로 실행되거나, 상이한 여러 구성요소로 분할될 수 있고, 상이한 여러 구성요소의 각각은 하드웨어, 프로세서에서 실행되는 소프트웨어, 그리고 펌웨어의 임의의 조합에 의해서 차례로 실행될 수 있다. 상이한 여러 구성요소로 분할되는 경우, 상기 구성요소는 최소 침습 수술 시스템(100)의 한 장소에 집중되거나 프로세싱 분배 목적을 위해 최소 침습 수술 시스템(100) 전체에 걸쳐서 분배될 수 있다.

    최소 침습 수술 시스템(100)에 단 2개의 마스터 그립만 있는 경우, 그리고 외과의사가 상기 2개의 마스터 그립에 결합된 2개의 슬레이브 수술 기구와는 다른 슬레이브 수술 기구의 움직임을 컨트롤하기를 원하는 경우, 외과의사는 상기 2개의 슬레이브 수술 기구 중의 하나 또는 양자 모두를 제위치에 고정시킬 수 있다. 그리고 나서 외과의사는 상기 2개의 마스터 그립 중의 하나 또는 양자 모두를 다른 로보트 팔에 의해 유지되어 있는 다른 슬레이브 수술 기구와 결합시키고 래칫작용 시스템(130)은 상기 수술 기구에 대하여 작동할 수 있게 된다.

    마스터 그립(230)은 공통 기준 프레임으로 관련되어지는 얼라인먼트를 제공하지만, 동력이 공급되지 않거나, 적어도 전동식 손목을 포함하지 않는다. 그러나, 아래에서 보다 상세하게 설명하겠지만, 마스터 그립(230)의 기능부는, 전동식 손목을 포함하는 마스터 그립과 함께 사용될 수 있다. 본 명세서에 사용되고 있는, 전동식 손목(powered wrist)이란 표현은 손목의 위치결정을 컨트롤하는 적어도 하나의 모터를 포함하는 손목을 의미한다. 모터는 중력 및 마찰력을 보상하고 움직임력 피드백(motion force-feedback)의 범위를 제공하기 위해서 사용될 수 있지만, 임의의 전동식 얼라인먼트 능력은 상실된다(turned-off).

    마스터 그립(230)은 2개의 레버(231, 232)를 포함하고 있고, 2개의 레버(231, 232)를 외과의사가 대체로 엄지손가락과 집게손가락 사이에 쥐고 있다. 외과의사가 마스터 그립(230)을 움직일 때, 한 가지 실시형태에서는, 공통 기준 프레임에서 마스터 그립 얼라인먼트(132)가 래칫작용 시스템(130)에 제공된다(예를 들면 도 2b 참고). 본 실시형태에서는, 슬레이브 수술 기구 팁(212T)이 슬레이브 얼라인먼트를 가지고 있고 래칫작용 시스템(130)은 또한 공통 기준 프레임으로 관련된(mapped) 상기 슬레이브 얼라인먼트를 수신한다. 래칫작용 시스템(130)에 의해 사용된 2개의 얼라인먼트는 공통 기준 프레임에 있다.

    따라서, 방법(300)의 한 실시형태(도 3a)가 래칫작용 시스템(130)에 의해서 실행된다. 본 실시형태에서는, 래칫작용 시스템(130)이 래칫작용 시스템 모듈(370)(도 3b)을 포함하고 있고, 이 래칫작용 시스템 모듈(370)은 얼라인먼트 수신 모듈(receive alignment module)(371) 및 래칫 얼라인먼트 모듈(372)을 포함하고 있다.

    얼라인먼트 수신 모듈(371)과 관련된, 마스터 및 슬레이브의 새로운 얼라인먼트 수신(receive new alignment of master and slave) 동작(310)은 공통 기준 프레임에서의 마스터 그립 얼라인먼트 및 슬레이브 수술 기구 팁 얼라인먼트를 수신한다. 래칫작용 시스템(130)은 팔로잉이 개시될 때까지 팔로잉 체크 동작(320)에서 기다린다. 팔로잉 체크 동작(320)은 연속적인 폴링(continuous polling)을 필요로 하는 것으로 해석되는 것이 아니라, 팔로잉이 개시될 때까지 공통 기준 프레임에서의 얼라인먼트에 아무것도 행해지지 않는 것으로 해석되어야 한다.

    팔로잉 체크 동작(320)은 단지 예시적인 목적으로 사용된 것이며 제한사항으로 여겨져서는 않된다. 팔로잉이 개시되었는지 여부를 결정하는 데 사용되는 특별한 기술은 인터럽트(interrupt), 이벤트(event), 특정 플래그(flag) 또는 비트(bit) 변경 상태 등에 기초할 수 있다.

    마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 팔로잉의 관여(engagement)시에, 래칫 얼라인먼트 모듈(372)과 관련되어 있는 래칫 얼라인먼트 프로세스(330)는, 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 공통 기준 프레임에서의 얼라인먼트 에러와 관계없이 마스터 그립(230)이 이동되는 것과 동일한 상대적인 방식으로 슬레이브 수술 기구 팁(212T)을 이동하게 하는 명령을 생성한다.

    외과의사가 움직이는 것을 보는 것은 슬레이브 수술 기구 팁(212T)이므로 편의상, 본 설명에 있어서 슬레이브 수술 기구 팁(212T)이 사용된다. 이러한 영상의 움직임은 슬레이브 수술 기구 팁 자체의 움직임과 직접 대응한다. 본 명세서에 기술되어 있는 바와 같이, 당해 기술분야의 전문가는 영상의 움직임이 컨트롤 시스템(150)으로부터의 명령에 따라 로보트 팔에 의한 슬레이브 수술 기구 팁 자체의 움직임의 직접적인 결과라는 사실을 알 수 있다.

    마스터 그립(230)과 슬레이브 수술 기구 팁(212T)이 움직일 때, 래칫 얼라인먼트 프로세스(330)는 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 공통 기준 프레임에서의 얼라인먼트 에러를 감쇠시킨다. 예를 들면, 외과의사가 상기 얼라인먼트 에러를 감소시키는 방식으로 마스터 그립(230)을 움직일 때, 래칫 얼라인먼트 프로세스(330)는 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 팔로잉에서 감소된 얼라인먼트 에러를 이용한다. 반대로, 외과의사가 상기 얼라인먼트 에러를 증가시키는 방식으로 마스터 그립(230)을 움직일 때, 래칫 얼라인먼트 프로세스(330)는 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 팔로잉에서 증가된 얼라인먼트 에러가 아니라, 현재의 얼라인먼트 에러를 이용한다.

    따라서, 래칫 얼라인먼트 프로세스(330)는 슬레이브 수술 기구 팁(212T)에 대한 마스터 그립(230)의 절대 얼라인먼트(absolute alignment)를 균일하게 연속적으로 개선시킨다. 래칫 얼라인먼트 프로세스(330)는 마스터 그립(230)이나 슬레이브 수술 기구 팁(212T)의 자율적인 움직임을 일으키지 않고서 절대 얼라인먼트에 있어서의 연속적인 개선을 달성한다.

    래칫작용 시스템(130)은 위치 에러나 오리엔테이션 에러인 공통 기준 프레임에서의 얼라인먼트 에러를 래칫작용시킬 수 있다. 아래의 예에서는, 공통 기준 프레임에서의 오리엔테이션 에러의 래칫작용이 고려된다. 그러나, 오리엔테이션 에러의 예는 단지 예시적인 것이며 기술된 특정 실시형태로 제한되는 것은 아니다. 본 설명을 고려하면, 당해 기술 분야의 전문가는 위치 에러를 래칫작용시키는데 동일한 원리를 적용할 수 있다.

    아래의 예에서, 외과의사가 마스터 그립(230)을 이동시킬 때, 한 가지 실시형태에서는, 공통 기준 프레임에서의 마스터 그립 오리엔테이션(235)이 래칫작용 시스템(130)에 제공된다. 본 실시형태에서는, 슬레이브 수술 기구 팁(212T)은 공통 기준 프레임에서 슬레이브 오리엔테이션(225)을 가지고 있고, 이 공통 기준 프레임에서 슬레이브 오리엔테이션(225)은 슬레이브 수술 기구 팁(212T) 자체의 오리엔테이션과 동등하다. 래칫작용 시스템(130)은 또한 공통 기준 프레임에서의 상기 슬레이브 오리엔테이션을 수신한다. 본 실시형태에서는, 마스터 그립(230)의 z-축이 롤 축(roll axis)상에 있으며 손으로부터 멀어지게 향한다. 슬레이브 수술 기구 팁상의 대응하는 z-축은, 예를 들면, 조(jaw)의 중심선을 따라 놓여 있으며 조가 향하는 곳을 나타낸다.

    한 가지 실시형태에서는, 공통 기준 프레임에서의 마스터 그립(230)의 오리엔테이션(235)이 마스터 그립 회전 행렬(R m )에 의해서 원격조종 서보 컨트롤 시스템(160) 내에 정의되고, 본 예에서, 마스터 그립 회전 행렬(R m )은 3행 3열 행렬이다. 마찬가지로, 공통 기준 프레임에서의 슬레이브 수술 기구 팁(212T)의 오리엔테이션(225)이 슬레이브 수술 기구 팁 회전 행렬(R s )에 의해서 원격조종 서보 컨트롤 시스템(160) 내에 정의되고, 본 예에서 슬레이브 수술 기구 팁 회전 행렬(R s )도 3행 3열 행렬이다. 마스터 그립 회전 행렬(R m )과 슬레이브 수술 기구 팁 회전 행렬(R s )은 정규화된 직교 회전 행렬(orthonormal rotation matrix)이다.

    마스터 그립(230)의 오리엔테이션(235)과 슬레이브 수술 기구 팁(212T)의 오리엔테이션(225)을 이러한 행렬로 나타내면, 공통 기준 프레임에서의 오리엔테이션 에러는 상대 회전 행렬(R Δ )이다. 상대 회전 행렬(R Δ )은 다음 식:

    (1)

    으로 정의되고, 상기 식에서 행렬

    는 슬레이브 수술 기구 팁 회전 행렬(R

    s )의 변환형태이다. 상기 식(1)을 고려하면 행렬 와 행렬 R

    m 의 정의로부터 상대 회전 행렬(R

    Δ )은 아래의 3행 3열 행렬이다.


    마스터 그립(230)의 오리엔테이션(235)과 슬레이브 수술 기구 팁(212T)의 오리엔테이션(225)이 공통 기준 프레임에서 일직선으로 되면, 상대 회전 행렬(R Δ )은 단위 행렬, 다시 말해서, 대각선 요소 R Δ11 , R Δ22 , R Δ33 는 1의 값을 가지고 모든 다른 요소는 0의 값을 가진다.

    마스터 그립 회전 행렬(R m ), 슬레이브 수술 기구 팁 회전 행렬(R s ), 및 상대 회전 행렬(R Δ )의 이러한 정의에 의해, 마스터 그립 오리엔테이션이 공통 기준 프레임에서 아래의 식:

    (2)

    을 통하여 상응하는 슬레이브 오리엔테이션 명령에 관련되고(mapped), 상기 식에서 행렬

    는 상대 회전 행렬(R

    Δ )의 변환형태이다.

    상기한 바와 같이, 현재의 상대 회전 행렬(R Δ-Current )과 새로운 상대 회전 행렬(R Δ-New )로, 상기 2개의 상대 회전 행렬 중에서 어느 것이 상응하는 슬레이브 오리엔테이션 명령에 대한 매핑(mapping)에 사용할 것인지에 대한 결정이 내려져야 한다.

    R Δ-New < R Δ-Current

    인 경우에는 새로운 상대 회전 행렬(R Δ-New )이 사용된다.

    그러나, 어느 상대 회전 행렬을 사용할 것인지 결정하는데에는 스칼라 양이 사용될 수 있다는 사실이 알려져 있다. 따라서, 새로운 상대 회전 행렬(R Δ-New )이 현재의 상대 회전 행렬(R Δ-Current )보다 작은 경우를 결정하기 위해서 다차원 형렬(multi-dimension matrix)들을 비교하는 기술이 필요하지 않다.

    도 2b에 도시되어 있는 바와 같이, 공통 기준 프레임에서의 마스터 그립(230)의 오리엔테이션(235)과 슬레이브 수술 기구 팁(212T)의 오리엔테이션(225) 사이의 오리엔테이션 에러는 스칼라 회전 각도 에러(θ e )에 의해 표시된다. 회전 각도 에러(θ e )는 마스터 그립(230)의 오리엔테이션(235)과 일치하기 위해서 슬레이브 수술 기구 팁(212T)의 오리엔테이션(225)이 회전되어야 할 각도이고 따라서 미스얼라인먼트를 나타낸다.

    회전 각도 에러(θ e )는 다음식:

    θ e = COS -1 [ O.5 *(R Δ11 + R Δ22 + R Δ33 - 1) ] (3)

    으로 정의된다. 상기한 바와 같이, 마스터 그립(230)의 오리엔테이션(235)과 슬레이브 수술 기구 팁(212T)의 오리엔테이션(225)이 일직선으로 되면, 대각선 요소 R Δ11 , R Δ22 , R Δ33 은 1의 값을 가진다. 따라서, 상기 2개의 오리엔테이션이 일직선이 되면, 회전 각도 에러(θ e )는 0이다.

    본 실시형태에서는, 래칫작용 시스템 모듈(470)과 관련된 래칫 오리엔테이션 프로세스(330A)(도 4a)와 같이 래칫작용 시스템(130)에 대한 래칫 얼라인먼트 프로세스(330)가 실행된다. 래칫작용 시스템 모듈(470)은 오리엔테이션 수신 모듈(471) 및 래칫 오리엔테이션 모듈(472)(도 4b)을 포함하고 있다.

    팔로잉을 시작하면, 오리엔테이션 에러 생성 모듈(481)과 관련되어 있는 새로운 오리엔테이션 에러 프로세스(410)를 생성하고, 마스터 그립 회전 행렬(R m ) 및 슬레이브 수술 기구 팁 회전 행렬(R s )을 이용한다.

    그 다음에, 새로운 오리엔테이션 에러 프로세스(410)는 상기 식(1)에 기초하여 새로운 상대 회전 행렬(R Δ-New )을 생성하기 위해 마스터 그립 회전 행렬(R m ) 및 슬레이브 수술 기구 팁 회전 행렬(R s )을 이용한다. 이 경우에, 슬레이브 수술 기구 팁 회전 행렬(R s )은 슬레이브 수술 기구 팁(212T)의 현재의 오리엔테이션이고, 예를 들면, 메모리(404)(도 4b)의 슬레이브 오리엔테이션 요소(131)에 저장되고, 마스터 그립 회전 행렬(R m )은 마스터 그립(230)의 새로운 오리엔테이션이다. 새로운 상대 회전 행렬(R Δ-New )의 대각선 요소는 새로운 회전 각도 에러(θ e-New )를 생성하기 위해 상기 식(3)에 사용된다. 새로운 회전 각도 에러(θ e-New )의 생성 후에, 새로운 오리엔테이션 에러 프로세스(410)가 오리엔테이션 에러 비교기 모듈(482)(도 4b)과 관련되어 있는 오리엔테이션 에러 감소 체크 동작(420)으로 넘어간다.

    오리엔테이션 에러 감소 체크 동작(420)은 새로운 회전 각도 에러(θ e-New )가 현재의 회전 각도 에러(θ e-Current )보다 작은지 여부를 결정한다. 예를 들면, 오리엔테이션 에러 감소 체크 동작(420)이 비교기로서 실행된다. 새로운 회전 각도 에러(θ e-New )가 현재의 회전 각도 에러(θ e-Current )와 동일하거나 현재의 회전 각도 에러(θ e-Current )보다 큰 경우에는, 오리엔테이션 에러 감소 체크 동작(420)이 오리엔테이션 설정 동작(set orientation operation) 440으로 넘어간다. 반대로, 새로운 회전 각도 에러(θ e-New )가 현재의 회전 각도 에러(θ e-Current )보다 작은 경우에는, 오리엔테이션 에러 감소 체크 동작(420)이 프로세싱을 오리엔테이션 설정 동작 430으로 넘겨준다.

    2개의 오리엔테이션 설정 동작(430, 440)의 이용은 단지 예시의 편의를 위한 것이며 본 발명을 이에 제한하기 위한 것은 아니다. 예를 들면, 회전 각도 에러(θ e )가 감소되는 경우에 대해서는 하나의 오리엔테이션 설정 동작이 사용될 수 있다. 또한, 래칫 오리엔테이션 프로세스(330A)를 통한 제1 패스(pass)에서는, 오리엔테이션 에러 감소 체크 동작(420)이 단지 프로세싱을 오리엔테이션 에러 설정 동작(430)으로 넘겨줄 수 있다. 대체 실시형태로서, 초기값 설정(initialization)에 있어서, 현재의 회전 각도 에러(θ e-Current )는, 제1 패스에서 새로운 회전 각도 에러(θ e-New )가 현재의 회전 각도 에러(θ e-Current )보다 항상 작게 되도록 큰 값으로 설정될 수 있다. 래칫 오리엔테이션 프로세스(330A)를 통한 제1 패스를 처리하기 위해 사용된 특정 실시형태는 자율적인 움직임이 도입되지 않는 한 중요하지 않다.

    현재의 회전 각도 에러(θ e-Current )와 현재의 상대 회전 행렬(R Δ-Current )이 각각 현재의 회전 각도 에러와 현재의 상대 회전 행렬로서 유지되고 있기 때문에, 오리엔테이션 에러 설정 동작(440)은 실질적으로 조종 불능 상태이다. 따라서, 오리엔테이션 에러 설정 동작(440)은 제거될 수 있고 프로세싱이 오리엔테이션 에러 감소 체크 동작(420)으로부터 바로 새로운 슬레이브 오리엔테이션 생성(generate new slave orientation) 동작(450)으로 넘어갈 수 있다.

    비교기 모듈(482)과 관련되어 있는 오리엔테이션 에러 설정 동작(430)은 현재의 회전 각도 에러(θ e-Current )를 새로운 회전 각도 에러(θ e-New )로 설정한다. 상기 오리엔테이션 에러 설정 동작(430)은 또한 현재의 상대 회전 행렬(R Δ-Current )을 새로운 상대 회전 행렬(R Δ-New )로 설정한 다음 새로운 슬레이브 오리엔테이션 생성 동작(450)으로 넘어간다.

    슬레이브 오리엔테이션 생성 모듈(483)과 관련되어 있는 새로운 슬레이브 오리엔테이션 생성 동작(450)은, 먼저, 현재의 상대 회전 행렬(R Δ-Current )의 변환 행렬(

    )을 생성한다. 그 다음에, 상기 식(2)에 따라 변환 행렬( )과 마스터 그립 회전 행렬(R

    m )을 결합함으로써 새로운 슬레이브 오리엔테이션 행렬(R

    s )이 얻어진다. 그 결과, 새로운 슬레이브 오리엔테이션 생성 동작(450)은 마스터 오리엔테이션을 슬레이브 오리엔테이션으로 변환시킨다.

    새로운 슬레이브 오리엔테이션 생성 동작(450)은 슬레이브 명령 생성 모듈(484)과 관련되어 있는 슬레이브 오리엔테이션 명령 발송(send slave orientation command) 동작(460)으로 프로세싱을 넘겨준다. 새로운 슬레이브 오리엔테이션 행렬(R s )을 이용하면, 상기 슬레이브 오리엔테이션 명령 발송 동작(460)이 슬레이브 입력/출력 모듈(403)을 통하여 명령을 발송하고, 이로 인해 슬레이브 수술 기구 팁(212T)이 움직이게 된다. 움직임은 어떤 상대 회전 행렬(R Δ )이 래칫 오리엔테이션 프로세스(330A)의 현재의 반복단계(current iteration)에서 사용되었는지에 따라 좌우된다.

    래칫 오리엔테이션 프로세스(330A)에 있어서, 외과의사가 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 공통 기준 프레임에서의 얼라인먼트 에러를 감소시키는 방식으로, 예를 들면, 회전 각도 에러(θ e )를 감소시키는 방식으로 마스터 그립(230)을 이동시킬 때, 래칫 얼라인먼트 프로세스(330A)(도 4a)는 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 팔로잉에서 감소된 얼라인먼트 에러를 이용한다. 반대로, 외과의사가 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 공통 기준 프레임에서의 얼라인먼트 에러를 증가시키는 방식으로 마스터 그립(230)을 이동시킬 때, 래칫 얼라인먼트 프로세스(330A)는 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 팔로잉에서 증가된 얼라인먼트 에러가 아니라 현재의 얼라인먼트 에러를 이용한다.

    따라서, 래칫 얼라인먼트 프로세스(330A)는 슬레이브 수술 기구 팁(212T)에 대하여 마스터 그립(230)의 절대 얼라인먼트를 균일하게 연속적으로 개선시킨다. 래칫 얼라인먼트 프로세스(330A)는 마스터 그립(230)이나 슬레이브 수술 기구 팁(212T)의 자율적인 움직임없이 절대 얼라인먼트의 연속적인 개선을 달성한다.

    마스터 그립(230)과 슬레이브 수술 기구 팁이 견고하게 연결되어 있다면, 상대 회전 행렬(R Δ )은 일정하게 된다. 실제로는, 마스터 그립(230)과 슬레이브 수술 기구 팁이 견고하게 연결되어 있는 것이 아니라, 원격조종 서보 컨트롤 시스템(160)을 통하여 결합되어 있다. 마스터 그립(230)과 슬레이브 수술 기구 팁이 움직이고 있을 때마다, 항상 약간의 컨트롤 에러가 존재한다. 이러한 컨트롤 에러는 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이에서 얻어지는 얼라인먼트와 래칫 얼라인먼트 프로세스(330A)를 이용하여 완화될 수 있다.

    그러나, 이러한 방식은 서보 컨트롤 루프의 경직성(stiffness)에 크게 좌우된다. 경직된 서보 컨트롤 루프(stiff servo control loop)를 가진 원격조종식 최소 침습 수술 시스템에서의 통상적인 조건하에서는, 점진적인 개선이 너무 작을 수 있고 그 결과 만족스러운 얼라인먼트에 도달하기 위해서는 긴 시간이 소요될 수 있다. 이러한 시스템에서도, 래칫작용 시스템(130)은 여전히 사용되지만, 컨트롤 시스템 에러 도입 컨트롤러(introduce control system error controller)(560)(도 5a)가 슬레이브 수술 기구 팁의 자율적인 움직임을 초래하지 않고서 공통 기준 프레임에서 마스터 그립 오리엔테이션(235)과 슬레이브 수술 기구 팁 오리엔테이션(225) 사이에 미세한 컨트롤 에러를 도입한다.

    컨트롤 시스템 에러 도입 컨트롤러(560)에 의해 상기와 같은 미세한 컨트롤 에러를 도입하기 위한 기술은 아래의 단계를 포함지만, 이에만 국한되는 것은 아니다.

    1. 회전 각도 에러(θ e )의 양에 기초하여 슬레이브 각속도에 페널티를 부여하는 단계. 이것은 회전 각도 에러(θ e )에 기초하여 슬레이브의 움직임을 인위적으로 느리게함으로써 컨트롤 에러를 도입한다.

    2. 회전 각도 에러(θ e )가 허용가능한 한계값보다 클 때, 슬레이브 수술 기구 팁 회전 행렬(R s )의 움직임에 인위적인 조인트 한계를 부과하는 단계. 이것은 슬레이브 수술 기구 팁이 인위적인 조인트 한계에 도달할 때마다 마스터 그립과 슬레이브 수술 기구 팁 사이에 컨트롤 에러를 초래한다. 슬레이브 수술 기구 팁에 대한 움직임의 허용가능한 범위는 얼라인먼트가 개선됨에 따라 슬레이브 움직임의 전체 범위로 점진적으로 확대될 수 있다.

    3. 감지된 마스터 그립 회전 행렬(R m )을 로우패스 필터링하는 단계. 이것은 컨트롤 에러가 유도될 수 있게 하고 마스터 그립(230)의 신속한 움직임 및/또는 불연속적인 움직임을 완화시킨다. 로우패스 필터 컷오프는 회전 각도 에러(θ e )가 감소함에 따라 반응성(responsiveness)이 개선되도록 회전 각도 에러(θ e )의 함수로 될 수 있다.

    4. 지시된 슬레이브 수술 기구 팁 회전 행렬(R s )을 로우패스 필터링하는 단계. 이것은 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이에 컨트롤 에러를 도입하고, 이로 인해 슬레이브 수술 기구 팁(212T)의 신속한 오리엔테이션 명령 및/또는 불연속적인 오리엔테이션 명령을 받아들일 수 있다. 로우패스 필터 컷오프는 회전 각도 에러(θ e )가 감소함에 따라 반응성이 개선되도록 회전 각도 에러(θ e )의 함수로 될 수 있다.

    도 5a는 래칫작용 시스템(130)에서의 래칫 오리엔테이션 프로세스(330B)의 다른 실시예를 나타내고 있다. 래칫 오리엔테이션 프로세스(330B)은, 컨트롤 시스템 에러 도입 프로세스(510)를 통하여, 공통 기준 프레임에서 슬레이브 수술 기구 팁의 오리엔테이션과 마스터 그립의 오리엔테이션 사이에 컨트롤 시스템 에러를 도입하기 위해서 상기의 기술 또는 다른 동등한 기술 중의 하나를 이용한다. 다른 프로세스(410, 420, 430, 440, 450A, 460A)들은 도 4a와 관련하여 위에서 설명한 대응하는 프로세스와 유사하므로 반복하여 설명하지 않는다.

    본 예에 있어서, 컨트롤러(560)에서의 컨트롤 시스템 에러 도입 동작(510)은 프로세스(410)에서의 새로운 회전 각도 에러(θ e-New )의 발생 후에 컨트롤 시스템 에러를 도입한다. 래칫 오리엔테이션 프로세스(330B)에 있어서 이러한 배치(location)는 단지 예시적인 것이며 래칫 오리엔테이션 프로세스(330B)에 있어서 이러한 특정의 배치로 제한하기 위한 것은 아니다. 컨트롤 시스템 에러를 도입하기 위해 특정의 기술을 선택하면, 컨트롤 시스템 에러 도입 동작(510)이 래칫 오리엔테이션 프로세스(330B) 내에서 적절한 위치에 배치될 수 있다. 또한, 본 예에서는 컨트롤 시스템 에러 도입 모듈이 래칫 오리엔테이션 모듈(472)(도 4b) 내에 포함된다.

    한 가지 실시형태에서는, 컨트롤 시스템 에러 도입 동작(510)이 현재의 회전 각도 에러(θ e-Current )에 기초하여 슬레이브 수술 기구 팁의 지시된 각속도(commanded angular velocity)를 인위적으로 조정함으로써 컨트롤 에러를 도입한다. 지시된 각속도에 페널티를 부여하기 위해 다양한 상이한 기술들이 사용될 수 있다.

    컨트롤 시스템 에러 도입 동작(510)의 한 가지 실시형태에 있어서, 현재의 회전 각도 에러(θ e-Current )가 각속도 페널티 프로파일(angular velocity penalty profile)과 함께 사용되어 슬레이브 수술 기구 팁의 지시된 각속도에 페널티를 부여하는 각속도 스케일 요소(angular velocity scale factor)를 생성한다. 본 실시형태에서는 각속도 스케일 요소가 수용할 수 없는 회전 각도 에러에 대한 0과 제로의 회전 각도 에러에 대한 1 사이에서 변한다.

    회전 각도 에러(θ e )가 변함에 따라 0과 1 사이에서 원활하게 변하는 각속도 페널티 프로파일을 이용하여 각속도에 페널티를 부여할 수 있다. 보다 일반적으로는, 각속도 페널티 프로파일이 자율적인 움직임을 도입하지 않고 슬레이브 수술 기구 팁의 예상치 못한 움직임을 만들어 내지 않는 한 임의의 연속적이며 단조로운(monotonic) 각속도 페널티 프로파일이 이용될 수 있다. 본 명세서에서 사용되고 있는, "연속적" 이라는 표현은 각속도 페널티 프로파일의 임의의 지점에 각속도 페널티 프로파일의 1차 도함수(first derivative)가 존재한다는 것을 의미한다.

    한 가지 실시형태에서는, 각속도 페널티 프로파일이 외과의사의 경험에 기초하여 선택된다. 다른 실시형태에서는, 모든 외과의사에 대해서 하나의 각속도 페널티 프로파일이 사용된다. 또 다른 실시형태에서는, 각속도 페널티 프로파일이 외과의사마다 특정된다.

    사용하기에 적합한 한 가지 각속도 페널티 프로파일은 S자 형상의 곡선이다. 도 5b는 2개의 별개의 변곡점 θ e1 과 변곡점 θ e2 를 가지고 있는 S자 형상의 곡선인 각속도 페널티 프로파일(500)을 나타내고 있다.

    본 예에서, 제1 변곡점(θ e1 )은 30도 위치에 배치되어 있고 제2 변곡점(θ e2 )은 90도 위치에 배치되어 있다. 각도 θ eo 는 보다 상세하게는 각속도 스케일 요소라고 하는 가중치(weight)가 1인 각도이고, 각도 θ e3 는 가중치가 0으로 되고 임의의 큰 미스얼라인먼트에 대해 0으로 남아있는 각도이다.

    제1 변곡점(θ e1 )과 관련된 미스얼라인먼트 각도는 미스얼라인먼트에 대한 사용자 허용오차(user tolerance)를 나타내도록 선택되는 반면에, 제2 변곡점(θ e2 )과 관련된 미스얼라인먼트 각도는 최대 사용가능한 미스얼라인먼트 각도를 나타내도록 선택되어 제2 변곡점(θ e2 )보다 큰 각도는 사용가능하지 않은 얼라인먼트로 간주된다. 회전 각도 에러(θ e )가 제2 변곡점(θ e2 )보다 큰 경우에는 언제나, 슬레이브 수술 기구 팁의 지시된 각속도가 0 가까이로 조정되고, 이로 인해 슬레이브 수술 기구 팁이 조금 움직이거나 움직이지 않게 된다. 이로 인해 사용자가 마스터 그립(230)을 슬레이브 수술 기구 팁(212T)쪽으로 회전시킬 때 상대 회전 행렬(R Δ )이 용이하게 갱신될 수 있다.

    회전 각도 에러(θ e )가 제1 변곡점(θ e1 )쪽으로 감소함에 따라, 지시된 각속도는 점차적으로 증가하여, 상대 회전 행렬(R Δ )을 더욱 개선할 정도로 충분히 컨트롤 에러를 유발시키면서 슬레이브 수술 기구 팁의 보다 반응이 빠른 움직임을 가능하게 한다. 일단 회전 각도 에러(θ e )가 제1 변곡점(θ e1 )보다 작아지면, 슬레이브 수술 기구 팁(212T)가 외과의사에 의해 감지되어 마스터 그립(230)과 잘 정렬된다. 따라서, 슬레이브 수술 기구 팁(212T)의 각운동(angular motion)이 마스터 그립(230)의 움직임에 대해 보다 빠르게 반응할 수 있다. 상대 회전 행렬(R Δ )이 단위 행렬이 되고 회전 각도 에러(θ e )가 0이 될 때까지 부가적인 작은 얼라인먼트 수정이 계속 행해질 수 있다.

    인위적인 조인트 한계와 관련하여, 슬레이브 수술 기구 팁(212T)의 움직임에 대한 인위적인 조인트 한계는 공통 기준 프레임에서의 얼라인먼트 에러의 함수, 예를 들면, 회전 각도 에러(θ e )의 함수로서 정의된다. 얼라인먼트 에러가 크면, 예를 들어, 얼라인먼트 에러가 90도보다 크면, 인위적인 조인트 한계가 슬레이브 수술 기구 팁(212T)의 움직임에 부가되고, 이로 인해 슬레이브 수술 기구 팁(212T)이 슬레이브 수술 기구 팁(212T)의 현재의 위치 주위에서 조금 움직일 수 있게 된다.

    마스터 그립(230)이 슬레이브 수술 기구 팁(212T)쪽으로 이동할 때, 슬레이브 수술 기구 팁(212T)은 인위적인 조인트 한계에 접촉할 때까지 동일한 상대 방향으로 이동한다. 인위적인 조인트 한계에 접촉하면, 슬레이브 수술 기구 팁(212T)은 인위적인 조인트 한계에서 위치가 고정된 채로 있다. 이로 인해 래칫작용 시스템(130)은, 마스터 그립(230)이 계속하여 슬레이브 수술 기구 팁(212T)의 방향으로 이동할 때 얼라인먼트 에러를 적극적으로 감소시킬 수 있게 된다.

    한 가지 실시형태에서는, 얼라인먼트 에러가 감소함에 따라 인위적인 조인트 한계가 점차적으로 확대된다. 이것은 얼라인먼트 프로세스를 더욱 균일하면서도 연속적으로 만든다.

    예를 들어, 감지된 마스터 그립 회전 행렬(R m )의 로우패스 필터링이 컨트롤 시스템 에러를 도입하기 위해서 사용된다면, 마스터 그립 회전 행렬(R m )은 보다 낮은 주파수(frequency)에서 변한다. 예를 들면, 사람은 약 20 헤르쯔까지 컨트롤된 움직임을 만들 수 있다. 마스터 오리엔테이션(master orientation)은 얼라인먼트가 좋지 못할 때 오리엔테이션 변화를 더욱 느리게 만들기 위해, 예를 들면 1 내지 5 헤르쯔로 필터링될 수 있다. 다시, 현재의 오리엔테이션 에러의 함수로서 0헤르쯔와 20헤르쯔 사이에서 움직이게 하기 위해서 단조로운 페널티 프로파일이 사용될 수 있다.

    반대로, 예를 들어, 지시된 슬레이브 수술 기구 팁 회전 행렬(R s )의 로우패스 필터링이 컨트롤 시스템 에러를 도입하기 위해서 사용된다면, 슬레이브 수술 기구 팁 회전 행렬(R s )은 보다 낮은 주파수에서 변한다. 이러한 예를 고려하면, 당해 기술 분야의 전문가는, 래칫작용이 슬레이브 수술 기구 팁(212T)에 대해 마스터 그립(230)의 절대 얼라인먼트를 균일하고 연속적으로 개선시키도록 적절한 로우패스 필터를 선택할 수 있다. 래칫 얼라인먼트 프로세스(330B)는 마스터 그립(230)이나 슬레이브 수술 기구 팁(212T)의 자율적인 움직임없이 절대 얼라인먼트의 연속적인 개선을 달성한다.

    다른 실시형태에서는, 방법 600(도 6a)이 래칫작용 시스템(130)에 의해 실행된다. 본 실시형태에서는, 래칫작용 시스템(130)이 래칫작용 시스템 모듈(470A)(도 6b)을 포함하고 있다. 래칫작용 시스템 모듈(470A)은 오리엔테이션 수신 모듈(471A) 및 래칫 오리엔테이션 모듈(672)을 포함하고 있다. 아래에서 보다 상세하게 설명하겠지만, 래칫 오리엔테이션 모듈(672)과 관련되어 있는 래칫 오리엔테이션 프로세스(330C)(도 6a)는 회전 각도 에러(θ e )의 크기에 기초하여 슬레이브 각속도에 페널티를 부여하고; 롤 조인트 한계 컨트롤러(roll joint limit controller)를 포함하고 있으며; 외과의사가 마스터 그립(230)을 어떻게 쥐는지를, 예를 들면, 마스터 그립(230)을 똑바로 쥐거나 위아래가 뒤집어지게 쥐는지를 결정한다.

    오리엔테이션 수신 모듈(471A)과 관련된 마스터와 슬레이브의 새로운 오리엔테이션 수신(receive new orientation of master and slave) 동작(310A)은 마스터 그립 오리엔테이션(235)과 슬레이브 수술 기구 팁 오리엔테이션(225)을 수신한다. 마스터와 슬레이브의 새로운 오리엔테이션 수신 동작(310A)은 시스템 팔로잉 체크 동작(320A)으로 넘어간다.

    시스템 팔로잉 체크 동작(320A)은 시스템 팔로잉이 개시되었는지 여부를 결정한다. 만약 시스템 팔로잉이 개시되어 않았다면, 마스터 오리엔테이션 저장(save master orientation) 동작(610)이 메모리(404a)에 있어서 구 마스터 오리엔테이션(old master orientiona) 저장 위치(632)에 수용된 마스터 오리엔테이션을 저장하고 프로세싱이 래칫작용 시스템으로부터 복귀된다. 따라서, 팔로잉이 개시될 때까지, 래칫작용 시스템은 공통 기준 프레임에서의 마스터 그립(230)의 가장 최근의 오리엔테이션을 유지한다.

    시스템 팔로잉이 개시되면, 시스템 팔로잉 체크 동작(320A)은 래칫 오리엔테이션 모듈(672)의 오리엔테이션 에러 생성 모듈(481A)(도 6b)과 관련되어 있는 새로운 오리엔테이션 에러 행렬 생성(generate new orientation error matrix) 동작(615)으로 넘어간다. 마스터 오리엔테이션 저장 동작(610)은 마스터 그립 회전 행렬(R m ) 및 슬레이브 수술 기구 팁 회전 행렬(R s )을 이용하여 상기 식 (1)에 기초하여 새로운 상대 회전 행렬(R Δ-New )을 생성한다. 이 경우에, 슬레이브 수술 기구 팁 회전 행렬(R s )은 공통 기준 프레임에서의 슬레이브 수술 기구 팁(212T)의 현재의 오리엔테이션이고, 예를 들면, 메모리(404a)(도 6b)의 슬레이브 오리엔테이션 요소(131)에 저장되고, 마스터 그립 회전 행렬(R m )은 마스터 그립(230)의 새로운 오리엔테이션이다. 종료시에는, 새로운 오리엔테이션 에러 행렬 생성 동작(615)이 래칫 오리엔테이션 모듈(672)의 복수의 오리엔테이션 솔루션 모듈(multiple orientation solution module)(681)과 관련되어 있는 베스트 솔류션 체크(best solution check) 동작(620)으로 넘어간다.

    베스트 솔루션 체크 동작(620)은 오리엔테이션에 대한 복수의 솔루션 중에서 공통 기준 프레임에서의 마스터 그립(230)의 현재의 오리엔테이션과 가장 일치하는 것을 결정한다. 예를 들면, 외과의사가 어떻게 마스터 그립(230)을 쥐는 지의 오리엔테이션에 대하여, 똑바로 쥐는 방법(right side up)과 위아래를 뒤집어서 쥐는 방법(upside down(USD))의 2가지 가능한 방법이 고려된다. 따라서, 한 가지 실시형태에서는, 업사이드 다운(USD) 컨트롤러(upside down controller)를 포함하고 있는 복수의 오리엔테이션 솔루션 컨트롤러(multiple orientation solution controller)(621)에서 베스트 솔루션 체크 동작(620)이 실행된다.

    외과의사가 마스터 그립(230)을 쥐기 위해서 자신의 오른쪽 손을 사용한다고 가정하면, 외과의사의 손목의 상부가 외과의사에게 보일 수 있도록 엄지손가락은 레버 231(도 2a)에 놓이고 집게손가락은 레버 232에 놓이는데, 이를 라이트 사이드 업(right side up) 자세라고 한다. 반대로, 외과의사의 손목의 하부가 외과의사에게 보일 수 있도록 엄지손가락이 레버 232에 놓이고 집게손가락이 레버 231에 놓이는 경우, 이를 업사이드 다운(upside down) 자세라고 한다. 따라서, 외과의사가 마스터 그립(230)을 쥐는 오리엔테이션에 대한 2가지 자세는 롤 축(roll axis)을 따라서 180도 이격되어 있다. 마스터 그립(230)을 쥐는 오리엔테이션에 대한 2가지 자세 중 어느 것을 래칫 오리엔테이션 프로세스(330C)에서 사용할 것인지 결정하기 위하여, 각각의 오리엔테이션에 대해 회전 각도 에러(θ e )의 코사인이 결정된다. 업사이드 다운 오리엔테이션에 대한 코사인이 라이트 사이드 업 오리엔테이션에 대한 코사인보다 크면, 업사이드 다운 오리엔테이션이 참(true)으로 설정되고 그렇지 않으면 거짓(false)으로 설정된다.

    따라서, 상기 식 (3)을 이용하면, 한 가지 실시형태에서는, 체크 동작(620)이 아래의 동작:

    cos(θ e _s ) = [ 0 . 5 * (R Δ11 + R Δ22 + R Δ33 - 1 ) ]

    cos(θ e _f ) = [ 0 . 5 * (-1 * R Δ11 - R Δ22 + R Δ33 - 1 ) ]

    을 실행한다.

    cos(θ e _f )이 cos(θ e _s )보다 크면, 2차원에서의 오리엔테이션이 업사이드 다운이고, 업사이드 다운 오리엔테이션 플래그(flag) USD가 참으로 설정된다. 반대로, cos(θ e _f )이 cos(θ e _s )보다 작거나 같으면 업사이드 다운 오리엔테이션 플래그 USD가 거짓으로 설정된다.

    새로운 회전 각도 에러 생성(generate new rotation angle error:θ e ) 동작(625)과 현재의 회전 각도 에러 생성(generate current rotation angle error:θ e ) 동작(630)은 오리엔테이션 에러 생성 모듈(481A)과 관련되어 있다.

    새로운 회전 각도 에러 생성 동작(625)과 현재의 회전 각도 에러 생성 동작(630)은 업사이드 다운 오리엔테이션 플래그 USD의 상태, 새로운 상대 회전 행렬(R Δ_New ), 그리고 현재의 상대 회전 행렬(R Δ-Current )을 이용하여 새로운 회전 각도 에러(θ e-New ) 및 현재의 회전 각도 에러(θ e-Current )를 생성한다.

    상세하게는, 업사이드 다운 오리엔테이션 플래그 USD가 참(true)으로 설정되면, 새로운 회전 각도 에러 생성 동작(625)은 먼저 2차원에서 현재의 상대 회전 행렬(R Δ-Current )을 회전시키고, 그 다음에 상기한 바와 같이 현재의 회전 각도 에러(θ e-Current )를 결정한다. 업사이드 다운 오리엔테이션 플래그 USD가 거짓(false)으로 설정되면, 새로운 회전 각도 에러 생성 동작(625)은 아무런 회전없이 현재의 회전 각도 에러(θ e-Current )를 결정한다. 현재의 회전 각도 에러(θ e-Current )가 체크되어, (1) 값이 파이(pi)보다 크면, 현재의 회전 각도 에러(θ e-Current )는 파이로 설정되거나, (2) 값이 0보다 작으면, 현재의 회전 각도 에러(θ e-Current )는 0으로 설정된다. 따라서, 현재의 회전 각도 에러(θ e-Current )는 0과 파이 사이로 제한되어 있다.

    마찬가지로, 업사이드 다운 오리엔테이션 플래그 USD이 참(true)으로 설정되면, 현재의 회전 각도 에러 생성 동작(630)은 먼저 2차원에서 새로운 상대 회전 행렬(R Δ-New )을 회전시키고, 그 다음에 상기한 바와 같이 새로운 회전 각도 에러(θ e-New )를 결정한다. 업사이드 다운 오리엔테이션 플래그 USD이 거짓(false)으로 설정되면, 현재의 회전 각도 에러 생성 동작(630)은 아무런 회전없이 새로운 회전 각도 에러(θ e-New )를 결정한다. 새로운 회전 각도 에러(θ e-New )가 체크되어, (1) 값이 파이(pi)보다 크면, 새로운 회전 각도 에러(θ e-New )는 파이로 설정되거나, (2) 값이 0보다 작으면, 새로운 회전 각도 에러(θ e-New )가 0으로 설정된다. 따라서, 새로운 회전 각도 에러(θ e-New )도 0과 파이 사이로 제한되어 있다.

    베스트 솔루션에 기초하여 새로운 회전 각도 에러 생성 동작(625)과 현재의 회전 각도 에러 생성 동작(630)에서의 회전 각도 에러를 결정한 다음에, 컨트롤 시스템 에러가 페널티가 부여된 각속도 생성(generate penalized angular velocity) 동작(510A)에 도입되고, 이 페널티가 부여된 각속도 생성 동작(510A)은 래칫 오리엔테이션 모듈(672)(도 6b)의 컨트롤 시스템 에러 도입 모듈(682)과 관련되어 있다.

    본 실시형태에서는, 페널티가 부여된 각속도 생성 동작(510A)이 컨트롤 시스템 에러 도입 컨트롤러(560A)에서 실행되고, 컨트롤 시스템 에러 도입 컨트롤러(560A)는 컨트롤 시스템 에러 도입 모듈(682)과 관련되어 있다. 각속도에 페널티를 부여하는 것은 컨트롤 시스템 에러 도입 컨트롤러(560A)에 의해서 도입될 수 있는 컨트롤 시스템 에러의 한 가지 유형의 한 예이다. 대체로, 컨트롤 시스템 에러 도입 컨트롤러(560A)는 상기한 것과 같은 컨트롤 에러를 도입한다.

    페널티가 부여된 각속도 생성 동작(510A)의 본 실시형태에서는, 상기한 바와 같이, 현재의 회전 각도 에러(θ e-Current )에 기초하여 페널티 커브(500)로부터의 각속도 스케일 요소로 마스터 그립(230)으로부터 감지된 각속도를 곱하는 것에 의해서 각속도에 페널티가 부여된다. 페널티가 부여된 각속도 생성 동작(510A)의 완료후에는, 프로세싱이 롤-조인트 한계 컨트롤러(635)에서 실행되는 조인트 한계 컨트롤 프로세스로 넘어간다. 롤-조인트 한계 컨트롤러(635)는 래칫 오리엔테이션 모듈(672)의 조인트 한계 컨트롤 모듈(683)과 관련되어 있다.

    롤-조인트 한계 컨트롤러(635)는 슬레이브 수술 기구 조인트가 주어진 방향에서 한계에 도달하였는지 여부와, 마스터 그립(230)으로부터 감지된 움직임이 상기 주어진 방향으로 슬레이브 수술 기구 팁을 이동시키려고 하는지 여부를 결정한다. 본 실시형태에서는, 롤-조인트 한계 컨트롤러(635)에서의 슬레이브 롤 한계 체크 동작(640)이 슬레이브 수술 기구의 롤 조인트가 롤 한계에 도달하였는지 여부와, 마스터 그립(230)으로부터 감지된 움직임이 상기 롤 방향으로 슬레이브 수술 기구 팁(212T)을 회전시키려고 하는지 여부를 결정한다.

    슬레이브 롤 한계 체크 동작(640)에서는, 상부 롤 한계와 하부 롤 한계가 미리정해져 있다. 구(old) 마스터 오리엔테이션 위치(632)에 저장되어 있던 구(old) 마스터 그립 회전 행렬(R m-Old )이 변환된다. 상대 마스터 그립 회전 행렬(R )은 다음과 같이 정의된다.

    따라서, 상대 마스터 그립 회전 행렬(R )은 아래의 3행 3열 행렬이다.


    마스터 그립 롤 방향은 아래와 같이 정의된다.

    Master_roll_dir = [R Δ21 - R Δ12 ]

    다음에, 슬레이브 롤 한계 체크 동작(640)이 제1 결정으로서 슬레이브 수술 기구 팁(212T)의 위치가 하부 롤 조인트 한계 더하기 허용오차(tolerance)보다 작고 마스터 그립 롤 방향( Master_roll_dir )이 0보다 작은지 여부를 결정한다. 이러한 제1 결정의 결과가 참(true)이면, 하부 롤 조인트 한계에 이르렀고 마스터 그립 회전의 방향이 하부 롤 한계의 방향으로 된다. 따라서, 슬레이브 수술 기구 팁의 움직임이 제한된다.

    상기 제1 결정의 결과가 거짓(false)이면, 슬레이브 롤 한계 체크 동작(640)이 제2 결정으로서 슬레이브 수술 기구 팁의 위치가 상부 롤 조인트 한계 빼기 허용오차보다 크고 마스터 그립 롤 방향( Master_roll_dir )이 0보다 큰지 여부를 결정한다. 이러한 제2 결정의 결과가 참이면, 상부 롤 조인트 한계에 이르렀고 마스터 그립 회전의 방향이 상부 롤 한계의 방향으로 된다. 따라서, 슬레이브 수술 기구의 움직임이 제한된다.

    슬레이브 수술 기구의 움직임이 제한되면, 슬레이브 롤 한계 체크 동작(640)이 현재의 회전 각도 에러 및 각속도 설정(set current rotation angle error and angular velocity) 동작(645)으로 넘어가고, 그렇지 않으면 회전 각도 에러 감소 체크 동작(420A)으로 넘어간다. 현재의 회전 각도 에러 및 각속도 설정 동작(645)은 현재의 회전 각도 에러(θ e-Current )를 임의의 가능한 물리적인 값보다 큰 값으로 설정하고 지시된 각속도를 0으로 설정한다. 현재의 회전 각도 에러 및 각속도 설정 동작(645)은 프로세싱을 오리엔테이션 에러 감소 체크 동작(420A)으로 넘긴다.

    오리엔테이션 에러 감소 체크 동작(420A)은 새로운 회전 각도 에러(θ e-New )가 현재의 회전 각도 에러(θ e-Current )보다 작은지 여부를 결정한다. 예를 들면, 오리엔테이션 에러 감소 체크 동작(420A)이 비교기로서 실행된다. 새로운 회전 각도 에러(θ e-New )이 현재의 회전 각도 에러(θ e-Current )보다 크거나 같으면, 오리엔테이션 에러 감소 체크 동작(420A)은 마스터 오리엔테이션 저장(save master orientatin) 동작(650)으로 넘어간다. 반대로, 새로운 회전 각도 에러(θ e-New )가 현재의 회전 각도 에러(θ e-Current )보다 작으면, 오리엔테이션 에러 감소 체크 동작(420A)이 프로세싱을 오리엔테이션 에러 설정(set orientation error) 동작(430A)으로 넘긴다.

    비교기 모듈(482A)과 관련되어 있는 오리엔테이션 에러 설정 동작(430A)은 현재의 회전 각도 에러(θ e-Current )를 새로운 회전 각도 에러(θ e-New )로 설정한다. 오리엔테이션 에러 설정 동작(430A)은 또한 현재의 상대 회전 행렬(R Δ-Current )을 새로운 상대 회전 행렬(R Δ-New )로 설정하고 나서 마스터 그립 회전 행렬(R m )을 구(old) 마스터 오리엔테이션 위치(632)(도 6b)에 저장하는 마스터 오리엔테이션 저장 동작(650)으로 넘어간다. 마스터 오리엔테이션 저장 동작(650)은 프로세싱을 새로운 슬레이브 오리엔테이션 생성(generate new slave orientation) 동작(450B)(도 6a)으로 넘겨 준다.

    슬레이브 오리엔테이션 생성 모듈(483A)(도 6b)과 관련되어 있는 새로운 슬레이브 오리엔테이션 생성 동작(450B)은 먼저 현재의 상대 회전 행렬(R Δ-Current )의 변환 행렬(

    )을 생성시킨다. 그 다음에, 상기 식 (2)에 따라 변환 행렬( )과 마스터 그립 회전 행렬(R

    m )을 결합시킴으로써 새로운 슬레이브 오리엔테이션 행렬(R

    s )이 얻어진다.

    새로운 슬레이브 오리엔테이션 생성 동작(450B)은 프로세싱을 슬레이브 명령 생성 모듈(484A)과 관련되어 있는 슬레이브 오리엔테이션 명령 발송(send slave orientation command) 동작(460B)(도 6a)으로 넘겨 준다. 새로운 슬레이브 오리엔테이션 행렬(R s )을 이용하여, 슬레이브 오리엔테이션 명령 발송 동작(460B)은 슬레이브 입력/출력 모듈(403)을 통하여 공통 기준 프레임에서의 슬레이브 오리엔테이션 및 지시된 각속도를 포함하는 명령을 발송하고, 이로 인해 상기 명령에 의해 지시된 대로 슬레이브 수술 기구 팁(212T)이 움직이게 된다. 움직임은 어떤 상대 회전 행렬(R Δ )이 래칫 오리엔테이션 프로세스(330A)의 현재의 반복단계(current iteration)에서 사용되었는지와 지시된 각속도에 따라 좌우된다.

    외과의사가 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 얼라인먼트 에러를 감소시키는 방식으로, 예를 들면, 회전 각도 에러(θ e )를 감소시키는 방식으로 마스터 그립(230)을 움직일 때, 래칫 얼라인먼트 프로세스(330C)(도 6a)는 외과의사가 마스터 그립(230)를 어떻게 쥐는지와 롤 조인트 한계에 접촉하였는지 여부를 고려하면서 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 팔로잉에서 감소된 얼라인먼트 에러를 이용한다. 반대로, 외과의사가 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 얼라인먼트 에러를 증가시키는 방식으로 마스터 그립(230)을 움직일 때, 래칫 얼라인먼트 프로세스(330C)는 마스터 그립(230)과 슬레이브 수술 기구 팁(212T) 사이의 팔로잉에서의 증가된 얼라인먼트 에러가 아니라 현재의 얼라인먼트 에러를 이용한다.

    따라서, 래칫 얼라인먼트 프로세스(330C)는 슬레이브 수술 기구 팁(212T)에 대하여 마스터 그립(230)의 절대 얼라인먼트를 균일하게 연속적으로 개선시킨다. 래칫 얼라인먼트 프로세스(330C)는 마스터 그립(230)이나 슬레이브 수술 기구 팁(212T)의 자율적인 움직임없이 절대 얼라인먼트의 연속적인 개선을 달성한다.

    방법 600에 있어서, 롤-조인트 한계 컨트롤러(635)가 슬레이브의 이동 범위에 대한 코너 케이스(corner-case)를 처리하기 위해 사용되었다. 이 코너 케이스는 도 7과 관련하여 추후에 고려된다. 도 7은 코너 케이스 조인트 한계를 도입하기 위한 기술을 나타내고 있다. 본 예에서는, 0도 위치에 롤 조인트 한계가 있고 180도 위치에 다른 롤 조인트 한계가 있다. 따라서, 마스터 그립(230)이 0도 위치에 있을 때에는, 슬레이브 수술 기구 팁 790에 의해 표시되어 있는 것과 같이 슬레이브 수술 기구 팁이 위치되어 있고, 90도 위치에서는 슬레이브 수술 기구 팁 791에 의해 표시되어 있는 것과 같이 슬레이브 수술 기구 팁이 위치되어 있고; 180도 위치에서는, 슬레이브 수술 기구 팁 792에 의해 표시되어 있는 것과 같이 슬레이브 수술 기구 팁이 위치되어 있다.

    외과의사가 계속하여 마스터 그립(230)을 반시계 방향으로 회전시키서 0도 위치로 되돌리면, 슬레이브 수술 기구 팁(792)이 급작스럽게 슬레이브 수술 기구 팁(790)의 오리엔테이션으로 이동할 수 있고, 예를 들면, 자율적인 움직임이 있을 수 있다. 그러나, 슬레이브 수술 기구 팁의 움직임에 대해 코너 케이스 조인트 한계에서는, 상기와 같은 움직임이 억제된다. 예를 들면, 마스터 그립(230)의 오리엔테이션이 조인트 한계의 소정의 허용오차 범위 내에 있으면, 슬레이브 수술 기구 팁의 지시된 각속도가 0으로 설정되고 새로운 상대 회전 행렬(R Δ-New )이 이용되도록 현재의 회전 각도 에러(θ e-Current )는 인위적으로 큰 수로 설정된다. 이로 인해 슬레이브 수술 기구 팁이 롤 한계에 있을 때 마스터 오리엔테이션이 슬레이브 수술 기구 팁의 오리엔테이션에 대해 어긋날 수 있다.

    종래의 전동식 마스터에 의하면, 사용자는 슬레이브가 이동 한계의 범위에 도달하였을 때를 나타내는 힘 피드백을 받을 수 있다. 비전동식 마스터에서는, 롤-조인트 한계 컨트롤러가, 래칫작용 시스템에서, 마스터가 조인트 한계의 내외에서 슬레이브를 구동시킬 때 슬레이브 움직임의 연속성을 유지하기 위해서 사용될 수 있다.

    상기 방법에 있어서, 다양한 모듈 및 이들 모듈과 관련된 동작 및/또는 프로세스를 설명하였다. 상기 모듈은 하드웨어, 프로세서에서 실행되는 소프트웨어, 펌웨어, 또는 하드웨어, 소프트웨어 또는 펌웨어의 임의의 조합으로 실행될 수 있다.

    상기 모듈이 저장 매체에 저장된 하나 이상의 명령을 포함하고 있는 경우, 상기한 동작 및/또는 프로세스는 상기한 변화를 얻기 위한 프로세서 모듈(401) 내의 적어도 하나의 프로세서에 대한 하나 이상의 명령의 검색 및 실행의 결과이다. 상기한 특정 모듈은 단지 예시적인 것이며 상기 특정 모듈로 제한하기 위한 것은 아니다. 본 개시내용을 고려하면, 당해 기술 분야의 전문가는 필요에 따라 여러개의 모듈을 함께 결합하거나 하나의 모듈을 하나 이상의 부가적인 모듈로 분리시킬 수 있다. 더우기, 상기 모듈은 공통의 위치에 그룹을 이루고 있는 것으로 도시되어 있지만, 이 또한 단지 예시적인 것이다.

    아래의 테이블 1은 프로세서 실행 요소(302A, 610, 615, 620, 621, 625, 630, 510A, 560A, 635, 640, 645, 420A, 430A, 650)에서 실행되었을 경우의 C-프래그래밍 언어로 작성된 소프트 웨어 명령의 한 예이다.

    테이블 1

    #define CLAMP(val, lo, hi) (MIN(MAX((val), (lo)), (hi)))

    typedef FLOAT (*Matrix3x3Ptr) [3] ;

    /******************************************************************/

    static FLOAT psm_io_rotation_angle(const Matrix3x3Ptr R,

    BOOLEAN USD)

    {

    float traceR;

    float costheta;

    /* Account for USD configuration by applying

    rotation of 180 degrees Z */

    if(USD)

    {

    FLOAT Rtmp[3] [3] ;

    static const FLOAT Rroll[3] [3] =

    {

    { -1, 0, 0 },

    { 0, -1, 0 },

    { 0, 0, 1 }

    };

    Matrix_multiplyMatrixf(Rtmp, /* = */ R, 3, 3,

    /* x */ Rroll, 3, 3) ;

    traceR = Rtmp [O] [O] + Rtmp [1] [1] + Rtmp [2] [2] ;

    }

    else

    {

    traceR = R[O] [0] + R[1] [1] + R[2] [2] ;

    }

    costheta = 0.5f *(traceR - 1.Of);

    if(costheta > 1.0)

    {

    return 0.0;

    }

    else if(costheta < -1.0)

    {

    return M_PI;

    }

    else

    {

    return(FLOAT) acos(costheta) ;

    }

    }

    /******************************************************************/

    INT psm_io_constrain_master_roll

    (const Matrix3x3Ptr Rm_old, const Matrix3x3Ptr Rm)

    {

    static const FLOAT tolerance = 1.Of * M_PI / 180.0;

    FLOAT* const pos = Ptr(SYS_HW_JNTPOS, 0,

    PSM_JNT_POS_DOFS) ;

    float_par* lower = Ptr(PC_JI_IK_POSLOWERLIMIT, 0,

    PSM_JNT_POS_DOFS) ;

    float_par* upper = Ptr(PC_JI_IK_POSUPPERLIMIT, 0,

    PSM_JNT_POS_DOFS) ;

    FLOAT Rm_old_trans [3] [3] ;

    FLOAT Rm_delta [3] [3];

    FLOAT mtm_roll_dir;

    INT constrain_roll = 0;

    //Compute the error rotation as R2 wrt Rl.

    Matrix_transposef(Rm_old_trans, Rm_old, 3, 3);

    /* Rm_delta = Rm_old_trans' * Rm */

    Matrix_multiplyMatrixf(Rm_delta,

    /* = */ Rm_old_trans, 3, 3, /* x

    */ Rm, 3, 3) ;

    //Define the local error vector wrt Rl.

    mtm_roll_dir = Scalar_fsignf(Rm_delta [1] [0] -

    Rm_delta[0] [1]);

    //Check if the PSM roll joint has reached a limit and //if

    the MTM is trying to rotate in that roll //direction

    if(pos[PSM_RO] <(lower [PSM_RO] + tolerance)

    && mtm_roll_dir < 0)

    {

    constrain_roll = 1;

    }

    else if(pos [PSM_RO] >(upper [PSM_RO] - tolerance)

    && mtm_roll_dir > 0)

    {

    constrain_roll = 1;

    }

    return constrain_roll;

    }

    /******************************************************************/

    // Parameters used by sigmoid-shaped velocity weight

    // function

    #define SIGMOID_ALPHA 5.Of

    #define SIGMOID_BETA (0.3f*M_PI)

    /******************************************************************/

    * psm_io_ratchet_offset( ) *

    * Conditionally updates the orientation offset *

    * to improve the alignment between MTM and PSM *

    /******************************************************************/

    void psm_io_ratchet_offset( const Matrix3x3Ptr Rm,

    Matrix3x3Ptr Roff, FLOAT *rotvel)

    {

    static FLOAT Rm_old[3] [3];

    FLOAT Rs_trans [3] [3] ;

    FLOAT Roff_new[3] [3];

    FLOAT cur_offset;

    FLOAT new_offset;

    FLOAT cosangle_s, cosangle_f;

    FLOAT vel_weight;

    BOOLEAN USD = FALSE;

    Matrix3x3Ptr Rs =(Matrix3x3Ptr ) Ptr(SYS_IO_OUT_CART,

    3, 9);

    if(Kernel_RobustBooleanIsFALSE

    (PSM_IO_FOLLOW_DATA_VALID) )

    {

    Matrix_copyf(Rm_old, Rm, 3, 3);

    return;

    }

    /* Update the relative rotation offset Roff between master

    and slave, if the current offset is smaller */

    Matrix_transposef(Rs_trans, Rs, 3, 3);

    // Compute the offset between the new MTM and new PSM

    /* Roff_new = Rs' * Rm */

    Matrix_multiplyMatrixf(Roff_new, /* = */ Rs_trans,

    3, 3, /* x */ Rm, 3, 3) ;

    // Determine whether to use the straight or

    // upside-down solution

    cosangle_s =(FLOAT)(0.5 *(Roff_new [0] [0] +

    Roff_new[1] [1] + Roff_new [2] [2] - 1));

    cosangle_f =(FLOAT)(0.5 *(-1 * Roff_new [0] [0] -

    Roff_new[1] [1] + Roff_new [2] [2] - 1));

    USD =(cosangle_f > cosangle_s) ? TRUE : FALSE;

    new_offset = psm_io_rotation_angle(Roff_new, USD);

    cur_offset = psm_io_rotation_angle(Roff, USD);

    /* Reduce the angular velocity based on the current

    * amount of misalignment. We are using a sigmoid

    * function as the weight, since it provides a smooth

    * transition between full velocity and no velocity.

    * The curve has been tuned to falloff near 30

    * degrees and bottom out around 90 degrees */

    vel_weight = 1.0f/(1.0f + exp(SIGMOID_ALPHA*

    (cur_offset-SIGMOID_BETA))) ;

    vel_weight = CLAMP(vel_weight, 0.0f, 1.Of);

    vector_scalef(rotvel, rotvel, vel_weight,

    CART_ORI_DOFS) ;

    /* Constrain the MTM command if the PSM has hit a roll

    limit */

    if(psm_io_constrain_master_roll(Rm_old, Rm))

    {

    cur_offset = BIG_NUM;

    vector_setf(rotvel, 0, CART_ORI_DOFS) ;

    }

    /* Conditionally update the Roff offset if we've found a

    smaller relative rotation*/

    if(new_offset < cur_offset)

    {

    Matrix_copyf(Roff , Roff_new, 3, 3);

    }

    // Save the most recent Rm

    Matrix_copyf(Rm_old, Rm, 3, 3);

    }

    도 2b, 도 4a, 도 4b, 도 5a, 도 5b, 도 6a 및 도 6b의 예에서는, 공통 기준 프레임에서 3차원의 오리엔테이션의 래칫작용을 결정하기 위해서 스칼라량이 사용되었다. 그러나, 다른 실시형태에서는, 이 스칼라량이 공통 기준 프레임에서 1차원과 관련될 수 있다. 예를 들면, 3차원에 대한 오리엔테이션 에러를 명시하기 위해서 스칼라 회전 각도 에러(θ e )를 사용하는 대신에, 상대 회전 행렬(R Δ )이 일련의 오일러 각도 α, β, γ(도 2c)로 표현될 수 있다. 라인 N은 2개의 XY 평면의 교선을 나타낸다. 본 예에서는, 프로세스 330, 프로세스 330A, 프로세스 330B, 또는 프로세스 330C의 래칫작용이 상기 오일러 각도들 중의 하나, 예를 들면, 오일러 각도 β에 대해 실행될 수 있거나, 상기 오일러 각도의 각각 또는 상기 오일러 각도의 몇 가지 부분 집합을 순차적으로 또는 동시에 래칫작용시키는 것에 의해서 얼라인먼트 에러가 최적화될 수 있다. 예를 들면, 몇 가지 최소 침습 수술 기구는, 오일러 각도들 중의 하나에 대한 오리엔테이션이 중요하여 이 오리엔테이션의 래칫작용이 상기 오일러 각도에 대해 행해질 수 있도록 제한되거나 실시될 수 있다.

    본 발명의 여러 실시형태 및 실시예를 나타내는 상기의 설명과 첨부된 도면은 제한적인 것으로 받아들여져서는 않되며, 청구항이 보호받고자 하는 발명을 한정한다. 본 발명의 기술사상 및 기술영역 그리고 청구항에 기재된 사항으로부터 벗어나지 않고서 다양한 기계적인 변경, 구성적인 변경, 구조적인 변경, 전기적인 변경, 그리고 작동적인 변경이 이루어질 수 있다. 몇 가지 예에 있어서는, 본 발명을 불명확하게 하는 것을 회피하기 위해서 주지된 회로, 구조 및 기술은 상세하게 도시되거나 기술되어 있지 않다.

    본 명세서의 용어는 본 발명을 제한하기 위한 것이 아니다. 예를 들면, "아래", "하부", "상부" 등과 같은 공간적으로 상대적인 용어는 도면에 도시되어 있는 것과 같이 하나의 요소 또는 특징부의 다른 요소 또는 특징부에 대한 관계를 설명하기 위해서 사용될 수 있다. 이러한 공간적으로 상대적인 용어는 도면에 도시되어 있는 위치 및 방향에 부가하여 사용시나 작동중에 있는 장치의 상이한 위치 및 방향을 포함하는 것이다. 예를 들면, 도면에 도시된 장치가 전도되면, 다른 요소 또는 특징부의 하부 또는 아래에 있는 것으로 기술되어 있던 요소는 다른 요소 또는 특징부의 상부 또는 위에 있게 된다. 따라서, 예시적인 용어 "하부"는 상부와 하부의 위치 및 방향을 포함할 수 있다. 장치는 다르게 배향될 수 있고(90도로 회전되거나 다른 방향으로 배치될 수 있고) 공간적으로 상대적인 표현은 이에 상응하게 사용될 수 있다.

    단수 형태인 "하나의", "한 가지" 라는 용어는, 본 명세서에서 달리 표시되어 있지 않으면, 복수 형태도 포함하는 것이다. "포함하는", "포함한다" 등과 같은 표현은 언급한 특징, 단계, 동작, 요소 및/또는 구성요소의 존재를 명시하는 것이지만, 하나 이상의 다른 특징, 단계, 동작, 요소, 구성요소, 및/또는 그룹의 존재 또는 부가를 배제하는 것은 아니다.

    모든 예 및 예시사항은 비제한적인 것이며, 청구항을 본 명세서에 기술된 특정의 실시사항 및 실시예 그리고 그 등가물로 제한하기 위해서 사용되어서는 안된다. 본 명세서의 소제목(headings)은 단지 명세서의 포맷을 위한 것이며, 하나의 소제목하의 내용은 하나 이상의 소제목하의 내용을 상호 참고하거나 하나 이상의 소제목하의 내용에 적용될 수 있기 때문에, 본 명세서의 소제목은 결코 그 주제를 제한하기 위해서 사용되어서는 안된다. 마지막으로, 본 개시내용을 고려하면, 하나의 실시형태 또는 실시예와 관련하여 기술된 특정의 특징은, 비록 도면에 명시적으로 도시되어 있거나 상세한 설명부분에 기술되어 있지 않더라도, 본 발명의 다른 실시형태 또는 실시예에 적용될 수 있다.

    메모리가 단일 구조로 예시되어 있지만, 이것이 모든 메모리가 동일한 물리적인 위치에 있을 것을 요하는 것으로 해석되어서는 안된다. 메모리의 모두 또는 일부분이 프로세서가 아닌 다른 물리적인 위치에 있을 수 있다. 메모리는 휘발성 메모리, 비휘발성 메모리, 또는 상기 2개의 메모리의 임의의 조합을 지칭한다.

    프로세서는 이 프로세서에 의해 실행되는 명령을 포함하는 메모리에 결합되어 있다. 이것은 컴퓨터 시스템내에서 이루어지거나, 대체 실시형태로서 모뎀 및 아날로그 라인(analog line), 또는 디지털 인더페이스 및 디지털 캐리어 라인(digital carrier line)을 통하여 다른 컴퓨터로의 접속을 통해서 이루어질 수 있다.

    본 명세서에서, 컴퓨터 프로그램 제품은 방법 300, 방법 330, 방법 330A, 방법 330B, 방법 600, 방법 330C 중의 어느 하나 또는 이들의 임의의 조합에 필요한 컴퓨터 판독가능 코드를 저장하도록 구성되어 있거나, 방법 300, 방법 330, 방법 330A, 방법 330B, 방법 600, 방법 330C 중의 어느 하나 또는 이들의 임의의 조합을 위한 컴퓨터 판독가능 코드가 저장되어 있는 매체를 포함하고 있다. 컴퓨터 프로그램 제품의 몇 가지 예는 CD-ROM 디스크, DVD 디스크, 플래시 메모리, ROM 카드, 플로피 디스크, 자기 테이프, 컴퓨터 하드 드라이브, 네트워크 상의 서버 그리고 컴퓨터 판독가능 프로그램 코드를 나타내는 네트워크로 전송된 신호이다. 유형의 컴퓨터 프로그램 제품은 방법 300, 방법 330, 방법 330A, 방법 330B, 방법 600, 방법 330C 중의 어느 하나 또는 이들의 임의의 조합을 위한 컴퓨터 판독가능 명령을 저장하도록 구성되어 있거나, 방법 300, 방법 330, 방법 330A, 방법 330B, 방법 600, 방법 330C 중의 어느 하나 또는 이들의 임의의 조합을 위한 컴퓨터 판독가능 명령이 저장되어 있는 매체를 포함하고 있다. 유형의 컴퓨터 프로그램 제품은 CD-ROM 디스크, DVD 디스크, 플래시 메모리, ROM 카드, 플로피 디스크, 자기 테이프, 컴퓨터 하드 드라이브 및 다른 물리적인 저장 매체이다.

    본 개시내용을 고려하면, 방법 300, 방법 330, 방법 330A, 방법 330B, 방법 600, 방법 330C 중의 어느 하나 또는 이들의 임의의 조합에 사용된 명령은 사용자에게 유리한 오퍼레이팅 시스템 및 컴퓨터 프로그래밍 언어를 이용하여 광범위하게 다양한 컴퓨터 시스템 환경(configuration)에서 실행될 수 있다.

    또한, 여러가지 상이한 최소 침습 시스템 및 방법이 본 개시내용을 고려하여 실시될 수 있다.

    한 가지 실시형태에 있어서, 최소 침습 수술 시스템은:

    공통 좌표 기준 프레임에서 얼라인먼트를 가지고 있는 슬레이브 수술 기구 팁을 가지고 있는 슬레이브 수술 기구;

    상기 슬레이브 수술 기구에 결합되어 있으며, 공통 좌표 기준 프레임에서 얼라인먼트를 가지고 있는 마스터 그립; 그리고

    (i) 마스터 그립에 결합되어서 마스터 그립의 얼라인먼트를 수용하고 (ii) 슬레이브 수술 기구에 결합되어서, 마스터 그립이 움직일 때, 슬레이브 수술 기구 팁의 자율적인 움직임없이 그리고 마스터 그립의 자율적인 움직임없이 상기 얼라인먼트 에러를 연속적으로 감소시킴으로써 슬레이브 수술 기구의 움직임을 컨트롤하는 래칫작용 시스템;

    을 포함하고 있고,

    공통 기준 프레임에서의 얼라인먼트 에러는 공통 기준 프레임에서의 슬레이브 수술 기구 팁의 얼라인먼트와 마스터 그립의 얼라인먼트 사이의 얼라인먼트의 차이이다.

    상기 래칫작용 시스템은 슬레이브 수술 기구 팁의 얼라인먼트와 마스터 그립의 얼라인먼트에 대해 컨트롤 시스템 에러를 도입하는 컨트롤 시스템 에러 도입 컨트롤러를 더 포함하고 있다.

    상기 컨트롤 시스템 에러 도입 컨트롤러는,

    1. 회전 각도 에러의 양에 기초하여 슬레이브 각속도에 페널티를 부여하는 것;

    2. 회전 각도 에러에 기초하여 슬레이브 수술 기구 팁의 움직임에 인위적인 조인트 한계를 부가하는 것;

    3. 감지된 마스터 그립 회전을 로우패스 필터링하는 것; 그리고

    4. 지시된 슬레이브 수술 기구 팁 회전을 로우패스 필터링하는 것;

    중의 어느 하나 또는 이들의 임의의 조합을 포함하지만, 이에 국한되는 것은 아니다.

    다른 실시형태에서는, 상기 래칫작용 시스템이 마스터 그립의 오리엔테이션에 가장 근접한 오리엔테이션 솔루션을 결정하기 위한 복수의 오리엔테이션 솔루션 컨트롤러를 포함하고 있다. 상기 복수의 오리엔테이션 솔루션 컨트롤러는 컨트롤 시스템 에러 도입 컨트롤러를 포함하여 임의의 컨트롤러의 조합에 포함될 수 있다. 한 가지 실시형태에서는, 상기 복수의 오리엔테이션 솔루션 컨트롤러는 업사이드 다운 컨트롤러를 포함한다.

    다른 실시형태로서, 최소 침습 수술 시스템에서의 마스터 그립의 얼라인먼트와 함께 최소 침습 수술 시스템에서의 슬레이브 수술 기구 팁의 얼라인먼트를 컨트롤하는 방법이,

    최소 침습 수술 시스템의 래칫작용 시스템에 의해, 공통 기준 프레임에서의 슬레이브 수술 기구 팁의 얼라인먼트 및 공통 기준 프레임에서의 마스터 그립의 얼라인먼트를 수용하는 것; 그리고

    래칫작용 시스템에 의해, 마스터 그립이 움직일 때, 슬레이브 수술 기구 팁의 자율적인 움직임없이 그리고 마스터 그립의 자율적인 움직임없이 슬레이브 수술 기구 팁의 얼라인먼트와 마스터 그립의 얼라인먼트 사이의 공통 기준 프레임에서의 얼라인먼트 에러를 연속적으로 감소시키는 것에 의해서 슬레이브 수술 기구 팁의 얼라인먼트를 마스터 그립의 얼라인먼트에 래칫작용시키는 것;

    을 포함한다.

    한 가지 실시형태에서는, 상기 래칫작용이 슬레이브 수술 기구 팁 얼라인먼트와 마스터 그립 얼라인먼트 사이에 컨트롤 시스템 에러를 도입하는 것을 더 포함하고 있다.

    상기 컨트롤 시스템 에러를 도입하는 것은,

    1. 회전 각도 에러의 양에 기초하여 슬레이브 각속도에 페널티를 부여하는 것;

    2. 회전 각도 에러에 기초하여 슬레이브 수술 기구 팁의 움직임에 인위적인 조인트 한계를 부가하는 것;

    3. 감지된 마스터 그립 회전을 로우패스 필터링하는 것; 그리고

    4. 지시된 슬레이브 수술 기구 팁 회전을 로우패스 필터링하는 것;

    중의 어느 하나 또는 이들의 임의의 조합을 포함하지만, 이에 국한되는 것은 아니다.

    또 다른 실시형태에서는, 상기 래칫작용이, 공통 기준 프레임에서의 마스터 그립의 오리엔테이션에 기초하여 오리엔테이션 솔루션 그룹으로부터 하나의 오리엔테이션 솔루션을 선택하는 것을 더 포함하고 있다. 한 가지 실시형태에서는, 오리엔테이션 솔루션을 선택하는 것이 컨트롤 시스템 에러를 도입하는 것과 결합된다. 다른 실시형태에서는, 오리엔테이션 솔루션을 선택하는 것이 업사이드 다운 솔루션을 선택하는 것을 포함한다.

    QQ群二维码
    意见反馈