JP6772185B2 - 複数の装置の制御 - Google Patents

複数の装置の制御 Download PDF

Info

Publication number
JP6772185B2
JP6772185B2 JP2017557046A JP2017557046A JP6772185B2 JP 6772185 B2 JP6772185 B2 JP 6772185B2 JP 2017557046 A JP2017557046 A JP 2017557046A JP 2017557046 A JP2017557046 A JP 2017557046A JP 6772185 B2 JP6772185 B2 JP 6772185B2
Authority
JP
Japan
Prior art keywords
subsystem
patient
software version
software
control
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017557046A
Other languages
English (en)
Other versions
JP2018526699A (ja
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 インテュイティブ サージカル オペレーションズ, インコーポレイテッド
Publication of JP2018526699A publication Critical patent/JP2018526699A/ja
Application granted granted Critical
Publication of JP6772185B2 publication Critical patent/JP6772185B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/35Surgical robots for telesurgery
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B17/00234Surgical instruments, devices or methods, e.g. tourniquets for minimally invasive surgery
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/10Computer-aided planning, simulation or modelling of surgical operations
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/25User interfaces for surgical systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/37Master-slave robots
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/40ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B2017/00017Electrical control of surgical instruments
    • A61B2017/00199Electrical control of surgical instruments with a console, e.g. a control panel with a display
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B2017/00017Electrical control of surgical instruments
    • A61B2017/00212Electrical control of surgical instruments using remote controls
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B2017/00017Electrical control of surgical instruments
    • A61B2017/00221Electrical control of surgical instruments with wireless transmission of data, e.g. by infrared radiation or radiowaves
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B2017/00017Electrical control of surgical instruments
    • A61B2017/00225Systems for controlling multiple different instruments, e.g. microsurgical systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/25User interfaces for surgical systems
    • A61B2034/258User interfaces for surgical systems providing specific settings for specific users
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B2034/304Surgical robots including a freely orientable platform, e.g. so called 'Stewart platforms'
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • A61B2034/743Keyboards
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • A61B2034/744Mouse
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/90Identification means for patients or instruments, e.g. tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Surgery (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Veterinary Medicine (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Description

関連出願
この特許出願は、2015年7月7日に出願された、”CONTROL OF MULTIPLE DEVICES”という標題の米国仮特許出願第62/189,523号について優先権及び出願日の利益を主張するものであり、この文献は、その全体が参照により本明細書に組み込まれる。
本明細書は、制御システムに関する。
最小侵襲性医療技術は、診断的処置又は外科的処置中に損傷を受ける無関係な組織の量を減らし、それによって患者の回復時間、不快感、及び有害な副作用を低減させることを目的としている。米国で毎年数百万回の手術が行われている。これらの外科手術の多くは、潜在的に最小侵襲的な方法で行うことができる。
手術で使用する最小侵襲性システムは、遠隔操作、ロボット操作、又は遠隔操作及びロボット操作の両方が可能である。遠隔操作とは、ある距離を置いてマシンを制御するように作動させることをいう。遠隔操作可能な手術システムでは、外科医は、器具を手で直接的に保持して動かすのではなく、コントローラを使用して体腔に挿入された手術用器具を制御する。
一般に、本明細書に記載される主題の1つの革新的な態様は、以下の動作を含む方法において具体化することができ、この方法は、手術システムに関連する制御サブシステムにおいて、制御サブシステムに通信可能に結合され且つ制御サブシステムによって制御される手術システムの第1の患者側サブシステムからハードウェア構成情報を取得するステップと;制御サブシステム及び第1の患者側サブシステムによって使用すべきソフトウェア・バージョンを決定するステップであって、ソフトウェア・バージョンを決定するステップは、複数のソフトウェア・バージョンの中からソフトウェア・バージョンを選択するステップを含み、複数のソフトウェア・バージョンの各ソフトウェア・バージョンは、特定の患者側サブシステムに関連付けられる、決定するステップと;第1の患者側サブシステムにソフトウェア・バージョンを使用するように指示するステップと;ソフトウェア・バージョンが制御サブシステムに現在ロードされているかどうかを判定するステップと;ソフトウェア・バージョンが制御サブシステムに現在ロードされていないと判定したことに応答して、ソフトウェア・バージョンを制御サブシステムにロードするステップと;制御サブシステム及び第1の患者側サブシステムにロードされたソフトウェア・バージョンを有効化するステップと;手術システムをそのソフトウェア・バージョンで初期化するステップと;を含む。
この態様の他の実施形態は、対応するコンピュータシステム、装置、及び1つ又は複数のコンピュータ記憶装置に記録されたコンピュータプログラムを含み、それぞれが、この方法の動作を実行するように構成される。特定の操作又は動作を行うように構成された1つ又は複数のコンピュータから構成されるシステムでは、システムが、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組合せでインストールされ、動作時にシステムに操作又は動作を実行させるようにすることを意味する。特定の操作又は動作を行うように構成される1つ又は複数のコンピュータプログラムでは、1つ又は複数のプログラムが、データ処理装置によって実行されると、この装置に操作又は動作を実行させる命令を含むことを意味する。
前述の実施形態及び他の実施形態は、それぞれ、必要に応じて、以下の特徴のうちの1つ又は複数を単独で又は組み合わせて含むことができる。特に、一実施形態は、以下の特徴の全てを組み合わせて含む。この方法は、ソフトウェア・バージョンを決定する前に、第1の患者側サブシステムのハードウェア構成を検証するステップを含む。ハードウェア構成を検証するステップには、ハードウェア構成が制御サブシステムと互換性があると判定するステップが含まれる。制御サブシステムは、手術システムの外科医コンソールの構成要素を含み、外科医コンソールは、手術システムのオペレータに制御機能を提供するように構成される。第1の患者側サブシステムは、1つ又は複数の対応する手術用器具を保持して位置付けするように構成される1つ又は複数のマニピュレータを含む。
ソフトウェア・バージョンを第1の患者側サブシステムにロードするステップは、複数のブートイメージのうちの特定のブートイメージを決定するステップであって、特定のブートイメージはソフトウェア・バージョンを含む、決定するステップと;現在のブートイメージから特定のブートイメージに第1の患者側サブシステムをリブートするステップと;を含む。現在のブートイメージから特定のブートイメージに第1の患者側サブシステムをリブートするステップは、特定のブートイメージのための第1のヘッダブロックを取得するステップと;取得した第1のヘッダブロックを特定のブートイメージに復元するステップと;現在のブートイメージのための第2のヘッダブロックのコピーを格納するステップと;復元及び格納するステップの後に、現在のブートイメージのための第2のヘッダブロックを無効化するステップと;を含む。現在のブートイメージから特定のブートイメージに第1の患者側サブシステムをリブートするステップは、特定のブートイメージを特定するパラメータを格納するステップと;ブートローダ(boot loader)によって、格納したパラメータを読み出すステップと;ブートローダによって、格納したパラメータに基づいて特定のブートイメージを選択するステップと;を含む。ソフトウェア・バージョンを第1の患者側サブシステムにロードするステップは、複数のモジュールのうちの1つ又は複数の特定のモジュールを決定するステップであって、特定のモジュールはソフトウェア・バージョンを含む、決定するステップと;特定のモジュールをロードするステップと;を含む。
ソフトウェア・バージョンを決定するステップは、制御サブシステムと第1の患者側サブシステムとの間の協働に基づいている。ソフトウェア・バージョンを有効化するステップは、制御サブシステム及び第1の患者側サブシステムがソフトウェア・バージョンをロードしたかどうかを決定するステップと;制御サブシステム又は第1の患者側サブシステムのうちの1つ又は複数が決定されたソフトウェア・バージョンをロードしていないと判定したことに応答して、エラーメッセージを生成し、手術システムでの使用のために少なくとも制御サブシステム又は第1の患者側サブシステムの初期化を防止するステップと;を含む。
この方法は、1つ又は複数のアクセサリ装置を手術システムに結合するステップを含み、1つ又は複数のアクセサリ装置は、第1の患者側サブシステムに特有の装置ではない。この方法は、第2の患者側サブシステムが制御サブシステムに通信可能に結合されていることを認識するステップと;第2の患者側サブシステムに関するハードウェア情報を取得するステップと;第2の患者側サブシステムのハードウェア情報を検証するステップと;第2の患者側サブシステムに決定されたソフトウェア・バージョンをロードするように指示するステップと;をさらに含む。この方法は、第2の患者側サブシステムが制御サブシステムに通信可能に結合されていることを認識するステップと;第2の患者側サブシステムに関するハードウェア情報を取得するステップと;第2の患者側サブシステムのハードウェア情報を検証するステップと;第2のソフトウェア・バージョンを制御サブシステムにロードするステップであって、第2のソフトウェア・バージョンは、第2の患者側サブシステムにロードされたソフトウェアに対応する、ロードするステップと;をさらに含む。ソフトウェア・バージョンは、制御サブシステムに現在ロードされているソフトウェア・バージョンに基づいて決定される。ソフトウェア・バージョンは、第1の患者側サブシステムに現在ロードされているソフトウェア・バージョンに基づいて決定される。
一般に、本明細書に記載される主題の1つの革新的な態様は、以下の動作を含む方法において具体化することができ、この方法は、手術システムの第1のサブシステムにおいて、特定のソフトウェア・バージョンを第1のサブシステムにロードする命令を受信するステップであって、特定のソフトウェア・バージョンは、複数のサブシステムのそれぞれのサブシステムに関連する複数のソフトウェア・バージョンのうちの1つであり、第1のサブシステムは複数の構成を含み、この複数の構成には、第1のサブシステムに現在構成されている第1の構成が含まれる、受信するステップと;特定のソフトウェア・バージョンが第2の構成に位置していることを判定するステップと;第2の構成に対応するデータを格納するステップと;サブシステムを第2の構成に構成するステップと;特定のソフトウェア・バージョンをロードするステップと;を含む。
この態様の他の実施形態は、対応するコンピュータシステム、装置、及び1つ又は複数のコンピュータ記憶装置に記録されたコンピュータプログラムを含み、それぞれが、この方法の動作を実行するように構成される。特定の操作又は動作を行うように構成された1つ又は複数のコンピュータから構成されるシステムでは、システムが、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組合せでインストールされ、動作時にシステムに操作又は動作を実行させるようにすることを意味する。特定の操作又は動作を行うように構成される1つ又は複数のコンピュータプログラムでは、1つ又は複数のプログラムが、データ処理装置によって実行されると、この装置に操作又は動作を実行させる命令を含むことを意味する。
前述の実施形態及び他の実施形態は、それぞれ、必要に応じて、以下の特徴のうちの1つ又は複数を単独で又は組み合わせて含むことができる。この方法は、特定のソフトウェア・バージョンをロードする命令を受信することに応答して、第2の構成をダウンロードするステップを含む。第1の構成は第1のブートイメージを含み、第2の構成は第2のブートイメージを含み、第2の構成に対応するデータを格納するステップは、第2のブートの第1のヘッダブロックを復元して第2のブートイメージを有効化するステップと;第1のブートイメージのための第2のヘッダブロックのコピーを格納するステップと;復元及び格納するステップの後に、第1のブートイメージのためのヘッダブロックを無効化するステップと;を含む。
サブシステムを構成する前の割込みに応答して、第1のブートイメージ及び第2のブートイメージから有効なブートイメージを決定するステップと;サブシステムを有効なブートイメージにリブートするステップと;有効なブートイメージが第2のブートイメージであるかどうかを判定するステップと;有効なブートイメージが第2のブートイメージでないとの判定に応答して、第1のヘッダブロックを第2のブートイメージに復元し、第1のブートイメージのためのヘッダブロックを無効化し、サブシステムを第2のブートイメージにリブートするステップと;を含む。
第1の構成は第1のブートイメージを含み、第2の構成は第2のブートイメージを含み、サブシステムを第2の構成にリブートするステップは、ブートローダによって、格納したデータを読み出すことによって、サブシステムを第2の構成にリブートするステップと;ブートローダによって、格納したデータに基づいて第2のブートイメージを選択するステップと;を含む。第1の構成は第1セットのモジュールを含み、第2の構成は第2セットのモジュールを含み、サブシステムを第2の構成に構成するステップは、特定のモジュールをロードするステップを含む。
一般に、本明細書に記載される主題の1つの革新的な態様は、複数のサブシステムを含むシステムで具体化することができ、複数のサブシステムは、制御サブシステムと、第1の患者側サブシステムと、第2の患者側サブシステムとを含み、第1の患者側サブシステムは、第1のソフトウェア構成に関連付けられ、第2の患者側サブシステムは、第1のソフトウェア構成とは異なる第2のソフトウェア構成に関連付けられ、制御サブシステムはシステムを構成し、システムを構成することは、制御サブシステムと第1の患者側サブシステムとの第1の組合せ、又は制御サブシステムと第2の患者側サブシステムとの第2の組合せが共に通信可能に結合されているかどうかを判定することを含み、この判定に応じて、第1又は第2の組合せによって使用すべき特定のソフトウェア構成を選択し、ソフトウェア構成を有効化した後にシステムを初期化することを含む。
前述の実施形態及び他の実施形態は、それぞれ、必要に応じて、以下の特徴のうちの1つ又は複数を単独で又は組み合わせて含むことができる。システムを構成することは、決定されたソフトウェア構成を制御サブシステムにロードすることを含む。第1の患者側サブシステムは第1のハードウェア構成を有し、制御サブシステムは、特定のソフトウェア構成を決定する前に、制御サブシステム及び第1の患者側サブシステムを含むシステムについて第1のハードウェア構成が有効であると判定する。第1の組合せでは、第1の患者側サブシステムは制御サブシステムに通信可能に結合され、システムを構成することは、制御サブシステムから第1の患者側サブシステムに命令を送信して、決定されたソフトウェア構成をロードさせることを含む。制御サブシステムは、手術システムの外科医コンソールの構成要素を含み、外科医コンソールは、手術システムのオペレータに制御機能を提供するように構成される。
一般に、本明細書に記載される主題の1つの革新的な態様は、以下の動作を含む方法で具体化することができ、その動作は、制御サブシステムに通信可能に結合するための第1の患者側サブシステムを選択するステップであって、第1の患者側サブシステムは複数の患者側サブシステムから選択され、各患者側サブシステムは別個のデフォルトのソフトウェア構成を有する、選択するステップと;制御サブシステム及び第1の患者側サブシステムを含む手術システムを構成するステップと;を含み、手術システムを構成するステップは、制御サブシステム及び第1の患者側サブシステムのそれぞれによって使用すべき特定のソフトウェア構成を決定するステップと;特定のソフトウェア構成が、第1の患者側サブシステムに現在ロードされている第1のソフトウェア構成とは異なると判定したことに応答して、第1の患者側サブシステムに特定のソフトウェア・バージョンを使用するように指示するステップと;特定のソフトウェア構成が制御サブシステムに現在ロードされている第2のソフトウェア構成とは異なると判定したことに応答して、特定のソフトウェア構成を制御サブシステムにロードするステップと;手術システムを特定のソフトウェア・バージョンで初期化するステップと;を含む。この態様の他の実施形態は、対応するコンピュータシステム、装置、及び1つ又は複数のコンピュータ記憶装置に記録されたコンピュータプログラムを含み、それぞれが、この方法の動作を実行するように構成される。特定の操作又は動作を行うように構成された1つ又は複数のコンピュータのシステムでは、システムが、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組合せでインストールされ、動作時にシステムに操作又は動作を実行させるようにすることを意味する。特定の操作又は動作を行うように構成される1つ又は複数のコンピュータプログラムでは、1つ又は複数のプログラムが、データ処理装置によって実行されると、装置に操作又は動作を実行させる命令を含むことを意味する。
一般に、本明細書に記載される主題の1つの革新的な態様は、以下の動作を含む方法で具体化することができ、その動作は、手術システムの第1の制御サブシステム及び第1の患者側サブシステムに手術機能を提供するステップと;手術システムが手術機能を提供している間に手術システムへの通信可能な結合のために、第2の制御サブシステム及び第2の患者側サブシステムから構成されるグループのうちの1つである新しい手術サブシステムを選択するステップと;手術システムが手術機能を提供している間に、手術システムによって使用される特定のソフトウェア構成が新しい手術サブシステムにロードされていないと判定するステップと、第1の制御サブシステム及び第1の患者側サブシステムとの手術機能を維持しながら、特定のソフトウェア構成を新しい手術サブシステムにロードするステップと、によって、手術機能を中断することなく新しい手術サブシステムを手術システムに追加するステップと;を含む。
この態様の他の実施形態は、対応するコンピュータシステム、装置、及び1つ又は複数のコンピュータ記憶装置に記録されたコンピュータプログラムを含み、それぞれが、この方法の動作を実行するように構成される。特定の操作又は動作を行うように構成された1つ又は複数のコンピュータのシステムでは、システムが、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組合せでインストールされ、動作時にシステムに操作又は動作を実行させるようにすることを意味する。特定の操作又は動作を行うように構成される1つ又は複数のコンピュータプログラムでは、1つ又は複数のプログラムが、データ処理装置によって実行されると、この装置に操作又は動作を実行させる命令を含むことを意味する。
前述の実施形態及び他の実施形態は、それぞれ、必要に応じて、以下の特徴のうちの1つ又は複数を単独で又は組み合わせて含むことができる。特定のソフトウェア構成を新しい手術サブシステムにロードするステップは、複数のブートイメージのうちの特定のブートイメージを決定するステップであって、特定のブートイメージは特定のソフトウェア構成を含む、決定するステップと;新しい手術サブシステムを現在のブートイメージから特定のブートイメージにリブートするステップと;を含む。新しい手術サブシステムを現在のブートイメージから特定のブートイメージにリブートするステップは、特定のブートイメージのための第1のヘッダブロックを取得するステップと;取得した第1のヘッダブロックを特定のブートイメージに復元するステップと;現在のブートイメージのための第2のヘッダブロックのコピーを格納するステップと;復元及び格納するステップの後に、現在のブートイメージのための第2のヘッダブロックを無効化するステップと;を含む。新しい手術サブシステムを現在のブートイメージから特定のブートイメージへリブートするステップは、特定のブートイメージを特定するパラメータを格納するステップと;ブートローダによって、格納したパラメータを読み出すステップと;ブートローダによって、格納したパラメータに基づいて特定のブートイメージを選択するステップと;を含む。特定のソフトウェア構成を新しい手術サブシステムにロードするステップは、複数のモジュールのうちの1つ又は複数の特定のモジュールを決定するステップであって、特定のモジュールは特定の構成を含む、決定するステップと;特定のモジュールをロードするステップと;を含む。手術システムによって使用される特定のソフトウェア構成が新しい手術サブシステムにロードされていないと判定するステップは、第1の制御サブシステムに現在ロードされている特定のソフトウェア構成に基づく。手術システムによって使用される特定のソフトウェア構成が新しい手術サブシステムにロードされていないと判定するステップは、第1の患者側サブシステムに現在ロードされている特定のソフトウェア構成に基づく。
本明細書に記載される主題の特定の実施形態は、以下の利点のうちの1つ又は複数を実現する、又は実現しないように実施され得る。複数のサブシステムを有する手術システムは、共通のソフトウェア・バージョンを使用するようにセットアップされ且つ構成され得る。その結果、異なるハードウェア及びソフトウェア構成を有するサブシステムを共通システムで使用して、プロバイダが複数の完全な別個の手術システムを取得する必要がないようにすることができる。手術システムが無効の構成で動作するのを防ぐために、ハードウェア及びソフトウェアの構成が検証される。
異なるハードウェア及びサブシステム及びソフトウェア構成を使用する能力は、製造業者にとって試験の利点を与える。現場に複数のハードウェアサブシステムがあり、それぞれに複数のソフトウェア構成がある場合に、製造業者の試験負担は非常に大きくなる可能性がある。従来のシステムでは、顧客がハードウェア及びソフトウェアを互換性を有した状態で使用できるようにするために、製造業者は可能な全ての組合せを試験しなければならない。この明細書に記載されるように複数のサブシステムを共に結合した後にシステムを再プログラム及び/又は再構成する能力によって、全ての可能な組合せを試験することなく、1つの特定のサブシステムを異なるシステム構成で使用することが可能になる。有効なサブシステムの各組合せには、特定の試験済みのソフトウェア・バージョンが関連付けられており、サブシステムは、そのソフトウェア・バージョンに即座に再構成される。
本明細書に記載される主題の1つ又は複数の実施形態の詳細は、以下の添付図面及び詳細な説明に記載される。主題の他の特徴、態様、及び利点は、詳細な説明、図面、及び特許請求の範囲から明らかになるであろう。
遠隔操作可能な手術を行うための例示的な環境の平面図である。 異なる手術システムに関連するサブシステムを結合する例示的なシステムの図である 手術システムにおいて共に使用される制御コンソール及び他のサブシステムを構成するための例示的プロセスのフロー図である。 予め構成された手術システムに新しいサブシステムを追加するための例示的なプロセスのフロー図である。 ソフトウェア・バージョンをロードするための例示的なプロセスのフロー図である。 サブシステムを特定のソフトウェア・バージョンに再構成するための例示的なプロセスのフロー図である。 サブシステムを特定のソフトウェア・バージョンに再構成するための例示的なプロセスのフロー図である。 サブシステムを特定のソフトウェア・バージョンに再構成するための例示的なプロセスのフロー図である。
様々な図面における同様の参照符号及び表示は同様の要素を示す。
最小侵襲性手術は、手術用器具を患者の身体のポートを通して挿入することによって行われる。いくつかの実施態様では、手術用器具は、外科医コンソールを使用する外科医によって少なくとも部分的に遠隔操作される。遠隔操作可能な手術システムでは、外科医には、例えば立体画像を使用して、手術部位の画像が提供される。外科医は、適切なビューア又はディスプレイ上で手術部位を見ながら、1つ又は複数の制御入力装置を移動させ、対応する遠隔操作可能な手術用器具の動きを制御することによって、患者に対して外科的処置を行う。
遠隔操作可能な手術用器具は、典型的には、例えば患者内の手術部位の組織を治療するために1つ又は複数のポートを通して挿入される。ポートは、手術用器具が患者の身体に入る位置を示す一般的な用語である。ポートは人工的に形成することも、自然の開口部とすることもできる。例えば、ポートは切開部によって形成されるか、又は自然の身体オリフィス、例えば口に対応することができる。
手術システムは、典型的には、2つ以上のサブシステムの構成要素を含む。サブシステムの構成要素は、手術用器具を保持して位置付けする1つ又は複数の患者側サブシステム、患者側サブシステムによって保持される手術用器具を外科医が制御するために使用する1つ又は複数の制御コンソールサブシステム、及び、手術野画像を取り込むために使用される1つ又は複数のカメラ用のカメラ制御機器、手術野照明機器、電気外科エネルギー生成器、手術システムのための中央型又は分散型データ処理装置等、手術システムに関連する機器を含む1つ又は複数の補助装置ユニットを含んでもよい。いくつかの実施態様では、手術コンソールの設定及び構成を管理するために制御コンソールも使用される。手術システムの一例は、カリフォルニア州サニーベールのIntuitive Surgical, Inc.によって市販されているda Vinci(登録商標)Xi手術システム(モデルIS4000)である。
図1は、遠隔操作可能な手術を行うための例示的な環境100の平面図を示す。環境100は、例えば手術室の環境とすることができる。環境100は、手術台102と、第1の制御コンソール104と、第1の患者側サブシステム106と、第2の患者側サブシステム108と、この例ではオプションの第2の制御コンソール110とを含む。
第1及び第2の患者側サブシステム106及び108は、それぞれ、1つ又は複数の手術用器具又はカメラを支持する。例えば、第1の患者側サブシステム106は、それぞれが対応する手術用器具を保持する1つ又は複数のマニピュレータを含む患者側サブシステムである。各手術用器具のチップの動きは、例えば1つ又は複数の対応するコントローラへのユーザ入力に応答して、第1の制御コンソール104によって制御される。マニピュレータは、ロボット式、遠隔操作式、又はその両方であってもよい。
第2の患者側サブシステム108は、第1の患者側サブシステムと同様であり得る。例えば、第2の患者側サブシステム108は、患者内の手術野の視覚化を提供するためのカメラを含むことができる。第2の患者側サブシステム108は、体腔に挿入され、手術野の視覚化を提供することができる内視鏡を含むことができる。手術野のビューを制御コンソール104に提供することができる。いくつかの実施態様では、第2の患者側サブシステム108は、カメラと、対応する手術用器具を保持し位置付けするための1つ又は複数のマニピュレータとの両方を含むことができる。
第1の制御コンソール104は、手術台102上に位置する患者に対して行われる外科的処置の一部として、1つ又は複数の手術用装置を制御するために使用される外科医コンソールである。第1の制御コンソール104を使用して、1つ又は複数の手術用器具の動きを制御し、特定の外科的処置を行うことができる。第1の制御コンソール104は、対応する手術用器具を外科医が制御するために使用する1つ又は複数のコントローラを含むことができる。例えば、第1の制御コンソール104は、対応する手術用器具を操作するために動かすことができるハンドコントロールを含むことができる。いくつかの実施態様では、第1の制御コンソール104は、1つ又は複数のカメラによって提供される手術野の画像を提供するビューアも含む。第2の制御コンソール110は、典型的には、第1の制御コンソール104と同様に構成され、例えば、第1の制御コンソール104で外科医を訓練するために、又は第1の制御コンソール104からの制御入力に加えて制御入力を提供することによって複雑な処置を行うために、第2のオペレータによって患者側サブシステムのマニピュレータを制御するために使用することができる。
様々な遠隔操作可能な患者側サブシステムが存在し、それぞれが固有のハードウェア構成及び関連する制御要件を有する。例えば、1つの遠隔操作可能な患者側手術システムは、各手術用器具が固有の対応するポートを介して患者の身体に入るマルチポート手術システムであってもよい。マルチポートシステムの一例は、米国特許出願公開第2013/032503号明細書(2013年5月31日出願)に開示される。第2の遠隔操作可能な患者側手術システムは、全ての手術用器具が単一ポートを介して患者の身体に入る単一ポート手術システムであってもよい。単一ポートシステムの一例は、米国特許出願公開第2011/0282356号明細書(2010年8月12日出願)に開示される。患者側手術システムは、米国特許出願公開第2004/0186345号明細書(2003年12月15日出願)、米国特許出願公開第2007/0013336号明細書(2005年5月19日出願)、米国特許出願公開第2007/0173975号明細書(2007年1月15日出願)、及び米国特許出願公開第2009/0163928号明細書(2007年12月21日出願)に開示されているような、様々な位置に取り付けられたアームを含むシングル又はマルチアームシステムを含むことができる。
同様に、それぞれが固有の構成を有する様々な遠隔操作可能な制御サブシステムが存在してもよく、各制御サブシステムは、(追加の補助機器と共に)固有の制御サブシステムと患者側サブシステムとの対が遠隔操作可能な手術システムを形成するような単一の患者側サブシステムを制御するように設計される。例えば、米国特許第6,132,368号(1997年11月21日出願)、米国特許第6,246,200号(1999年8月3日出願)、米国特許第6,714,839号(1999年9月17日出願)、米国特許第6,793,653号(2001年12月8日出願)
、及び米国特許第8,521,331号(2009年11月13日出願)は、遠隔操作可能な制御サブシステムを開示する。
単一の遠隔操作可能な手術システムは、2つ以上の遠隔操作可能な制御サブシステムを含んでもよい。例えば、米国特許第6,728,599号(2001年9月7日出願)及び米国特許第8,527,094号(2005年12月27日出願)には、2つ以上の制御サブシステムが開示されており、各制御サブシステムは、対応する外科医によって別々に操作され、2つの制御サブシステムは共に、単一の遠隔操作可能な手術システムの制御に関連付けられる。2つ以上の制御サブシステムを使用することにより、一方の外科医が別の外科医を訓練することが容易になり、又は(外科医が単独で制御できる)患者側サブシステム内の遠隔操作可能な外科装置の数が複数の場合に、2人の外科医が共に作業するのを容易にする。
こうして、既知の手術システムでは、単一の患者側サブシステム(1つ又は複数の別個の構成要素を含むことができる)は、単一の患者側サブシステムと一意に関連する1つ又は複数の制御サブシステムによって制御される。しかしながら、医療提供者が2つ以上の患者側サブシステムを望み、各患者側サブシステムが固有のハードウェア・アーキテクチャと関連する制御ソフトウェア構成とを含む場合に、経済性等の様々な理由により、その提供者が2つの手術システムを取得できない可能性がある。
従って、一態様では、2つ以上の固有に構成された患者側サブシステムと共に使用することができる単一の制御サブシステムハードウェア構成を有することが望ましい。例えば、単一の制御サブシステム及び第1の患者側サブシステムが共に第1の遠隔操作可能な手術システムを形成し、単一の制御システム及び第2の患者側サブシステムが共に第2の遠隔操作可能な手術システムを形成する。
同様に、別の態様では、それぞれが同様又は同一のハードウェア構成を有する2つ以上の制御サブシステムを有することが望ましく、制御サブシステムは、2つ以上の固有に構成された患者側サブシステムと共に使用することができる。例えば、2つ以上の制御システム及び第1の患者側サブシステムが共に第1の遠隔操作可能な手術システムを形成し、2つ以上の制御システム及び第2の患者側サブシステムが共に第2の遠隔操作可能な手術システムを形成する。
さらに別の態様では、手術用器具を制御する患者側サブシステム以外の手術システムのサブシステムと共に使用することができる、単一の制御サブシステムのハードウェア構成又は一緒に機能する2つ以上の制御システムのハードウェア構成を有することが望ましい。例えば、単一の制御サブシステム及び第1の補助サブシステムが共に第1の遠隔操作可能な手術システムを形成し、単一の制御システム及び第2の補助システムが共に第2の遠隔操作可能な手術システムを形成する。同様に、2つ以上の制御サブシステム及び第1の補助サブシステムが共に第1の遠隔操作可能な手術システムを形成し、2つ以上の制御サブシステム及び第2の補助サブシステムが共に第2の遠隔操作可能な手術システムを形成する。
さらに別の態様では、システム又はサブシステムの現在のソフトウェア及び/又はハードウェア構成に拘わらず、2つ以上の固有の手術システムを形成する手術システムのサブシステム同士の間に同一のソフトウェア構成を決定及び実装する技術を有することが望ましい。
図2は、異なる手術システムに関連するサブシステムを結合する例示的なシステムの図200である。特に、図2は、制御コンソール202と、第1の患者側サブシステム204と、第2の患者側サブシステム206とを示す。例示の目的で、第1の患者側サブシステム204及び第2の患者側サブシステム206は、それぞれ、異なるハードウェア及びソフトウェア構成に関連付けられ、例えば異なる手術システムのモデルに関連付けられた特定のソフトウェア・バージョンを含む。図3〜図6に関して以下に詳細に説明するように、実行中に(on the fly)再プログラミングする技術を使用し、複数のシステムは、外科医制御コンソール202と、第1の患者側サブシステム204又は第2の患者側サブシステム206のいずれかとを使用して構成及び操作することができる。
例えば、第1の手術システム208は、外科医制御コンソール202を第1の患者側サブシステム204と結合し、且つ特定のソフトウェア構成に従って動作するようにシステムを構成することによって形成することができる。第2の手術システム210は、外科医制御コンソール202を第2の患者側サブシステム206と結合し、且つ特定のソフトウェア構成に従って動作するようにシステムを構成することによって形成することができる。第2の手術システム210の特定のソフトウェア構成は、第1の手術システム208の特定のソフトウェア構成とは異なるものであってもよい。例えば、第1の手術システム208の特定のソフトウェア構成は、第1の患者側サブシステム204の特定のハードウェアに関連付けられた第1のソフトウェア・バージョンであってもよく、第2の手術システム210の特定のソフトウェア構成は、外科医制御コンソール202に関連付けられ、且つ第2の患者側サブシステム206にロードされる第2のソフトウェア・バージョンであってもよい。
各患者側サブシステムは、有線又は無線であってもよい1つ又は複数のデータリンクを使用する特定の手術システムを形成するために、外科医制御コンソールに結合され得る。これらの手術システムのそれぞれは、各患者側サブシステムの有効なハードウェア構成と、以下に説明するようにシステムの全てのサブシステムに使用するための共通のソフトウェア・バージョンの決定とを考慮可能である。いくつかの実施態様では、第1の患者側サブシステム204及び第2の患者側サブシステム206は、同じハードウェア構成であるが、異なるソフトウェア・バージョンを有する。いくつかの他の実施態様では、第1の患者側サブシステム204及び第2の患者側サブシステム206は、異なるハードウェア構成を有し、且つ異なるソフトウェア・バージョンを有する。さらに、各システムが形成されるときに有効な構成を決定することによって、全ての可能性のあるソフトウェア構成を試験する必要はない。図2には示されていないが、追加の患者側サブシステム又は追加の外科医制御コンソール又は追加の補助装置ユニットに基づいて、更なるシステムを形成することができる。
場合によっては、外科医制御コンソール202及び/又は患者側サブシステム204のセットアップ後に、別の外科医制御コンソール又は別の患者側サブシステムを接続することができる。例えば、別の外科医制御コンソール又は別の患者側サブシステムが必要であることが見出されたときに、外科医制御コンソール202及び/又は患者側サブシステム204を手術で使用することができる。例えば、第2の外科医が手術タスクを観察又は補助することを可能にするために、別の外科医制御コンソールが必要とされ得る。別の例では、既存の患者側サブシステム204又は206のいずれかによって提供されない手術用ツールを提供するために、別の患者側サブシステムが必要とされ得る。
このような状況では、新しく追加されたシステムのソフトウェアを更新する必要がある。以下により詳細に説明するように、システムの残りの部分は、新たに追加されたシステムが更新される間に、使用可能なままであり得る。
図3は、手術システムにおいて共に使用される制御コンソール及び他のサブシステムを構成するための例示的なプロセス300のフロー図である。プロセス300は、この例では、図1の第1の制御コンソール104等の制御コンソールによって実行することができる。しかしながら、手術システムのセットアップ及び構成を制御するように指定された特定のサブシステムによって、同様のプロセスを使用することができる。
ハードウェア構成情報は、1つ又は複数のサブシステムのそれぞれから取得される(ステップ302)。例えば、制御コンソールは、第1の手術システムのモデルに関連するハードウェア構成を有することができる。第2の異なるサブシステム、例えば患者側サブシステムは、第2の手術システムのモデルに関連するハードウェア構成を有することができる。あるいはまた、サブシステムは、同じハードウェア構成であるが、異なるソフトウェア構成を有してもよい。
いくつかの実施態様では、サブシステムが制御コンソールに結合され、且つ制御コンソールが起動されると、制御コンソールは、各サブシステムに、そのサブシステムのハードウェア構成の要求を送信する。いくつかの他の実施態様では、サブシステムが制御コンソールに結合されると、それぞれのサブシステムは、そのサブシステムのハードウェア構成を対応する制御コンソールに送信する。
1つ又は複数のサブシステムのそれぞれのハードウェア構成が有効であるという判定がなされる(ステップ304)。いくつかの実施態様では、この判定は、各サブシステムから受信したハードウェアの識別子を、制御コンソールと互換性のあるハードウェア構成のルックアップテーブルと比較することを含む。例えば、特定のハードウェア設計は、制御コンソールの特定の制御ハードウェアと互換性がない場合がある。別の例では、別の製造元のハードウェアが制御コンソールとペア設定する権限を与えられていない可能性がある。
特定のサブシステムのハードウェア構成が有効でないと判定された場合に、エラーが生成される。このエラーによって、サブシステムが制御コンソールにより制御されないようにすることができる。エラーを制御コンソールに報告することができる。エラーを個々のサブシステムに報告することもできる。
各サブシステムのハードウェア構成が有効であると判定したことに応答して、制御コンソールを含む全てのサブシステム上で実行されるソフトウェア・バージョンが決定される(ステップ306)。サブシステムによって実行される共通のソフトウェア・バージョンは、様々な方法で決定することができる。いくつかの実施態様では、各ハードウェア構成は、デフォルトのソフトウェア構成に関連付けられる。全てのサブシステムがデフォルトの同じソフトウェア構成に関連付けられる場合に、そのソフトウェア構成を維持できる。ソフトウェア・バージョンを決定することは、複数のソフトウェア・バージョンの中からソフトウェア・バージョンを選択することを含み、各ソフトウェア・バージョンは、特定のサブシステムに関連付けられる。
いくつかの実施態様では、特定のサブシステムのデフォルトのソフトウェア構成は、手術システム全体に使用すべきソフトウェア構成を決定する。例えば、患者カートとして動作し且つそれぞれの手術用器具を保持する1つ又は複数のマニピュレータを含むサブシステムのデフォルトのソフトウェア構成は、制御コンソール及び他のサブシステム(例えば視覚化カート)によって使用すべきソフトウェア構成を決定することができる。いくつかの実施態様では、制御コンソールのソフトウェア構成は、全てのサブシステムによって使用すべきソフトウェア構成を制御することができる。最後に、複数のサブシステムがシステムに含まれる場合に、個々のサブシステムのうちの最大数に関連するソフトウェア構成を、全てのサブシステムが使用すべきソフトウェア構成として指定することができる。
いくつかの実施態様では、各サブシステムは、例えば対応するハードウェア構成によってサポートされるソフトウェア・バージョンを示す追加の情報を制御コンソールに提供する。制御コンソールは、この追加情報を使用して、どのソフトウェア・バージョンをシステムに使用すべきかを決定することができる。
幾つかの代替実施態様では、特定のサブシステムがリーダーとして指定されない協調的技術が使用されるが、それらサブシステムは、互いに協議して、サブシステム同士の間のハードウェア及びソフトウェアの特定の組合せが有効な試験済み構成に指定されているかどうかを確認する。
ソフトウェア・バージョンが決定されると、実行すべきソフトウェア・バージョンを特定する命令が、制御コンソールによって各サブシステムに送信される(ステップ308)。いくつかの実施態様では、命令を受け取る各サブシステムは、そのソフトウェア・バージョンが現在のソフトウェア・バージョンであるかどうかを判定する。現在のバージョンが決定されたソフトウェア・バージョンでない場合に、サブシステムは、決定されたソフトウェア・バージョンをロードする。ソフトウェア・バージョンは、別個のディスクイメージに格納することができる。
決定されたソフトウェア・バージョンが制御コンソールに現在ロードされていない場合に、制御コンソールは、決定されたソフトウェア・バージョンをロードするべくリブート(reboot)するように構成することができる(ステップ310)。いくつかの実施態様では、制御コンソールは複数のディスクイメージを含む。各ディスクイメージには特定のソフトウェア・バージョンが含まれる。特定のソフトウェア・バージョンをロードすることについては、図5及び図6に関して以下で説明する。
各サブシステムにロードされたソフトウェア・バージョンが有効化される(ステップ312)。特に、有効化では、正しいソフトウェア・バージョンが各サブシステムにロードされているかを判定する。正しいソフトウェア・バージョンがロードされていない場合に、解決されるまでエラーを生成して、手術システムの動作を阻止することができる。いくつかの実施態様では、制御コンソールは各サブシステムを検証する。いくつかの実施態様では、各サブシステムは自己検証を実行し、結果を制御コンソールに報告する。検証後に、手術システムは、ロードされたソフトウェア・バージョンで初期化することができる。初期化された手術システムを使用して、例えば1つ又は複数の外科的処置を行うことができる。
図4は、構成済みの手術システムに新しいサブシステムを追加するための例示的なプロセス400のフロー図である。プロセス400は、この例では、図1の第1の制御コンソール104等の制御コンソールによって実行することができる。しかしながら、同様のプロセスを適切なサブシステムによって使用することができる。
新しいサブシステムは、手術システムに通信可能に結合される(例えば、手術システムの制御コンソールに通信可能に結合される)(ステップ402)。例えば、手術システムは、制御コンソールと、1つ又は複数の手術用器具を保持して位置付けするための1つ又は複数のマニピュレータを含む第1のサブシステムとを含む環境(例えば、環境100)内で最初にセットアップされる。手術システムは、図3に関して上述したような特定のソフトウェア・バージョンのためにセットアップすることができる。ある時点で、追加のサブシステムを追加することができる。例えば、対応するマニピュレータを有する追加のサブシステムが、外科的処置の一部に必要とされ得る。
新しいサブシステムためのハードウェア構成が取得される(404)。いくつかの実施態様では、新しいサブシステムが制御コンソールに結合されると、制御コンソールは、サブシステムに、そのサブシステムのハードウェア構成の要求を送信する。いくつかの実施態様では、新しいサブシステムが制御コンソールに結合されると、サブシステムは、そのサブシステムのハードウェア構成を制御コンソールに自動的に報告する。
新しいサブシステムのハードウェア構成が有効であるという判定がなされる(ステップ406)。図3に関して上述したように、いくつかの実施態様では、判定は、新しいサブシステムのハードウェアに関連する識別子を、制御コンソールと互換性のあるハードウェア構成のルックアップテーブルと比較することを含む。
新しいサブシステムに対する有効なハードウェア構成を判定することに応答して、手術システムのソフトウェア・バージョンと一致するソフトウェア・バージョンが新しいサブシステムにロードされるように決定される(ステップ408)。手術システムが以前に構成されていたので、決定は、制御コンソールの現在のソフトウェア・バージョン及び/又は制御コンソールに結合され現在構成された1つ又は複数のサブシステムを決定することを含むことができる。
ソフトウェア・バージョンが決定されると、実行すべきソフトウェア・バージョンを特定する命令が、制御コンソールによって新しいサブシステムに送信される(ステップ410)。いくつかの実施態様では、新しいサブシステムは、ソフトウェア・バージョンが新しいサブシステムの現在のソフトウェア・バージョンであるかどうかを判定する。現在のバージョンが決定されたソフトウェア・バージョンでない場合に、新しいサブシステムは決定されたソフトウェア・バージョンをロードする。
制御コンソールは、新しいサブシステムのソフトウェア構成を有効化する(ステップ412)。特に、有効化では、正しいソフトウェア・バージョンが新しいサブシステムにロードされているかを判定する。いくつかの実施態様では、手術システムを使用する前に、全てのサブシステムについて検証が行われる。
新しいサブシステムが構成されている間に、制御コンソールが、サブシステムと通信できない、又はサブシステムを制御できないエラー状態になる可能性がある。しかしながら、新しいサブシステムがエラー状態にある間に、制御コンソール及び古いサブシステムは、動作可能であり、手術機能を提供し続けることができる。すなわち、新しいサブシステムがその構成プロセスを完了するのを待っている間に、制御コンソール及び第1のサブシステムを外科医が使用することができる。
この更新は手術前のセットアップで行うことができるが、手術の途中で新しいサブシステムを追加すべき場合には、この機能は特に重要となり得る。例えば、手術の途中で合併症が起こり、新しいサブシステムが必要であると判断されることがある。第2の視野角が必要とされ、こうして、第2のビューカートが必要とされ得る。別の例では、予期しない処置を行うべく追加の手術用器具が必要とされ、必要な器具を含む患者側カートを追加してもよい。これらの場合に、これらの技術の使用によって、既存の制御コンソール及び既存のサブシステムの手術機能を中断することなく、新しいカートの追加を可能にすることができる。
いくつかの実施態様では、ステップ408で新しいサブシステムに特定のソフトウェア・バージョンをロードするように指示するのではなく、制御コンソールは、例えば、新しいサブシステムのソフトウェア・バージョンと一致する決定されたソフトウェア・バージョンをロードする。決定されたソフトウェア・バージョンを制御コンソールにロードした後に、制御コンソールは、例えば1つ又は複数の外科的処置を行うために手術システムを初期化する前に、システム全体のソフトウェア構成を有効化することができる。
第2の制御コンソールが利用可能であり、且つ新しいサブシステムに応答して新しいソフトウェアをロードする必要がない場合に、第2の制御コンソールは、他の制御コンソールが構成されている間に、既存のサブシステムの制御を保持し、新しいサブシステムを制御することができる。
例えば、外科手術は、2人の外科医、第1の外科医及び第2の外科医で行われる。第1の外科医は、第1の制御コンソールを使用して第1の患者側カートを制御してもよく、第2の外科医は、第2の制御コンソールを使用して第2の患者側カートを制御してもよい。手術の過程で、第3のサブシステムを追加する必要があるかを判断することができる。第3のサブシステムが追加されると、第1の制御コンソールはその構成を使用することができるが、第2の制御コンソールはアップグレードする必要がある。
この場合に、第2の制御コンソールは、新しいソフトウェア・バージョンをロードして第3のサブシステムを制御することができる。第2の制御コンソールがこの更新のためのエラーモードにある間に、第1の制御コンソールは、第1のサブシステムの制御に留まり、第3のサブシステム及びオプションで第2のサブシステムを制御することができる。
図5は、ソフトウェア・バージョンをロードするための例示的なプロセス500のフロー図である。このプロセスは、手術システムに対して実行すべきソフトウェア・バージョンに関する決定がなされた後に、例えば制御コンソールによって実行され得る。このプロセスは、制御コンソールから受け取った、手術システムに対して実行すべき特定のソフトウェア・バージョンを特定する命令に応答して、サブシステムによって実行することもできる。
サブシステムによって使用すべき、現在のソフトウェア・バージョンではない特定のソフトウェア・バージョンが特定される(ステップ502)。特定のソフトウェア・バージョンが特定されると、ソフトウェア・バージョンを実行するためにリブートが開始される(ステップ504)。リブートを開始することに応答して、複数のブートイメージ又はブートルーチンの中からソフトウェア・バージョンを含む特定のブートイメージ又はブートルーチンが決定される(ステップ506)。例えば、サブシステムは、それぞれがイメージにロードされた特定のソフトウェア・バージョンを有する複数のブートイメージを含むことができる。サブシステムは、特定のブートイメージをロードされたソフトウェア・バージョンにマップするデータ、例えばファイルも含むことができる。サブシステムは、マッピングデータを使用して、複数のブートイメージからどのブートイメージをロードすべきかを決定できる。別の例では、ブートルーチンは、全てのバージョンに共通しており、バージョン特有のモジュールをロードすることができる。決定されたソフトウェア・バージョンは、サブシステムによってロードされる(ステップ508)。イメージをロードすることは、図6に関してより詳細に説明する。
リブート後に、サブシステムは、ブートイメージからロードされたソフトウェア・バージョンを使用して、サブシステムの機能を実行する(ステップ510)。例えば、サブシステムが1つ又は複数のマニピュレータを有する患者カートである場合に、ソフトウェアは、制御コンソールからの制御入力に応答して、マニピュレータの動きを制御するために使用される。
図6A〜図6Cは、サブシステムを特定のソフトウェア・バージョンに再構成するための例示的なプロセス600、625、及び650のフロー図である。これらのプロセス600、625、及び650は、例えば、制御コンソールによって、又は制御コンソールから受け取った命令に応答してサブシステムによって実行することができる。プロセス600、625、及び650は全て、一般に、サブシステムの動作に必要な特定のソフトウェア・バージョンをロードするために、リブート後に制御コンソール又はサブシステムの後で使用することができる。2つの異なるタイプの構成について説明する。プロセス600及び625によって使用される第1のタイプの構成は、異なるバージョンのソフトウェアにアクセスするために異なるブートイメージを提供する。プロセス650によって使用される第2のタイプの構成は、異なるバージョンのソフトウェアにアクセスするための異なるモジュールを提供する。
プロセス600において、特定のソフトウェア・バージョンを使用する決定がなされる(ステップ602)。例えば、決定は、手術システムに使用すべき特定のソフトウェア・バージョンを決定する制御コンソールによって行われ、又はサブシステムで受け取られた命令に応答して、制御コンソールによって、特定のソフトウェア・バージョンを使用するように決定することができる。例えば、サブシステムは、ブートイメージA内に見出されるソフトウェア・バージョンAを現在実行している可能性がある。この決定は、ブートイメージB内に見出されるソフトウェア・バージョンBを使用することであってもよい。
プロセス600において、特定のソフトウェア・バージョンの位置に関する決定が行われる。特に、そのソフトウェア・バージョンが現在使用されていない場合に、ソフトウェア・バージョンが現在のブートイメージとは異なるブートイメージ上にあると判定される(ステップ604)。制御コンソール又は他のサブシステムは、複数のブートイメージを含むことができる。各ブートイメージは、ブートイメージにロードされる特定のソフトウェア・バージョンに関連付けることができる。
特定のソフトウェア・バージョンを含む異なるブートイメージを決定することに応答して、ブートイメージのためのヘッダブロックが復元される(ステップ606)。特に、他の未使用の各ブートイメージは、サブシステム上の記憶位置に格納されたヘッダブロックのコピーを有することができる。それぞれのヘッダブロックは、必要に応じて取り出すことができる。こうして、この例に戻って、ブートイメージBのヘッダブロックは、別個の記憶位置から取り出されたブートイメージBからのヘッダブロックのコピーから復元される。ヘッダブロックを復元することにより、ブートイメージは、例えば、サブシステム上のブートローダプログラムによってブート可能となる。
現在のブートイメージのためのヘッダブロックのコピーが格納される(ステップ608)。例えば、ヘッダのコピーは、他の未使用のブートイメージのコピーされたヘッダブロックと共に格納され得る。特に、この例に従って、ブートイメージAのヘッダブロックは、記憶位置にコピーされる。
現在のブートイメージのためのヘッダブロックは、例えば、ヘッダブロックをゼロ設定する(zeroing)ことによって無効化される(ステップ610)。ブートイメージAのヘッダブロックが無効化された後に、ブートイメージAは再起動(restart)に応答してもはやブート(booted)することができなくなる。しかしながら、ヘッダがブートイメージBに復元されたので、再起動がブートイメージBからブートし、ソフトウェア・バージョンBをロードする。サブシステムは、異なるブートイメージにリブートされる(ステップ612)。
いくつかのシナリオでは、プロセス600に関して説明した再構成プロセス中に割込みが発生する。これらのシナリオでは、システムは、プロセスの状態に応じてどのブートイメージをロードすべきかを決定する。現在のブートイメージをゼロ設定する前に、ヘッダブロックを異なるブートイメージに復元するシーケンスのため、割込みの場合に再起動時にロードできる有効なブートイメージが常に少なくとも1つ存在する。
例えば、ヘッダがブートイメージBに復元される前に割込みが発生した場合に、ブートイメージAのヘッダは有効であるが、ブートイメージBは有効ではない。割込み後に再起動すると、サブシステムは、ブートイメージAにブートすることを決定し、ブートイメージBへのスイッチを再試行することができる。例えば、ブートイメージBへのヘッダを復元することができ、ブートイメージAのヘッダは、上述したように無効化することができる。
別の例では、ヘッダがブートイメージBに復元され、且つブートイメージAのヘッダブロックがゼロ設定された後に割込みが発生した場合に、ブートイメージBのみが有効である。再起動すると、サブシステムはブートイメージBにブートすることを決定し、対応するソフトウェア・バージョンをロードする。
別の例では、ヘッダがブートイメージBに復元された後であって、ブートイメージAのヘッダブロックがゼロ設定される前に割込みが発生した場合に、ブートイメージAとブートイメージBとの両方が有効である。サブシステムは、1つ又は複数の基準に従って、2つの有効なブートイメージからどのブートイメージをロードすべきかを決定する。例えば、サブシステムは、最後にロードされたブートイメージ、この例ではブートイメージAをデフォルト設定することができる。ブートイメージAをロードした後に、サブシステムは、ブートイメージBへの変更が依然として必要であると判定し、有効なブートイメージをブートイメージBに変更するプロセスに進むように決定することができる。どのブートイメージをロードすべきかを決定するために他の基準を使用することができる。例えば、サブシステムは、最も小さい番号の有効なブートイメージを使用するか、又は有効なブートイメージの中からランダムに選択できる。
プロセス625において、特定のソフトウェア・バージョンを使用することが決定された後に(ステップ602)、ソフトウェア・バージョンが現在のブートイメージとは異なるブートイメージ上に位置するという判定がなされる(ステップ604)。ブートイメージのためのヘッダがリブート後に使用されるブートイメージを制御するために使用されるプロセス600とは異なり、プロセス625は、選択したソフトウェア・バージョンをロードするために、複数の利用可能なブートイメージから選択可能なブートローダを使用する。
ブートローダには、必要とされる特定のソフトウェア・バージョンに対応するブートイメージを特定するパラメータが与えられる(ステップ627)。例えば、制御コンソールは、これらのパラメータをブートローダによってアクセス可能な不揮発性コンピュータメモリに格納することができ、又はそのようなメモリに格納するためにパラメータをサブシステムに送ることができる。
選択したブートイメージを特定するパラメータが格納された状態で、再起動がブートローダ内でブートする(ステップ629)。ブートローダは、選択したブートイメージをロードすることを含む、ブート処理の命令の実行に進むことができる(ステップ631)。例えば、ブートローダは、コンピュータメモリの内容を読み出して、どのブートイメージをブートすべきかを特定するパラメータを取り出し、そのブートイメージにブートすることができる。
プロセス650において、特定のソフトウェア・バージョンを使用することが決定された後に(ステップ602)、異なるバージョン特有のモジュールが必要であるという決定がなされる。異なるブートイメージを使用して異なるソフトウェアにアクセスを得るプロセス600及びプロセス625とは異なり、プロセス650は、必要なソフトウェア・バージョンに拘わらず同じオペレーティングシステムにブートする。次に、バージョン特有のモジュールがロードされる。
バージョン識別子が格納される(ステップ652)。例えば、制御コンソールは、リブート後にオペレーティングシステムがアクセス可能なコンピュータメモリに所望のバージョンを格納することができ、又はそのようなメモリに格納するためにバージョンをサブシステムに送ることができる。
バージョン識別子が格納された状態で、再起動がオペレーティングシステム内でブートする(ステップ654)。このリブートは、バージョン特有のモジュールをロードせずにオペレーティングシステムをロードするという効果がある。オペレーティングシステムは、メモリ、ネットワーク通信、診断機能からのデータの検索等のいくつかの機能を提供することができる。ただし、対応するサブシステムのバージョン特有のモジュールがロードされたり、制御が制限されたり、制御されたりすることはない。場合によっては、オペレーティングシステムを再構成する他の方法を使用してもよい。例えば、リブートする代わりに、ソフトウェアモジュールの一部又は全部をアンロードしてもよい。これにより、例えば、リブートによって中断される可能性がある、オペレーティングシステム又はオペレーティングシステム内の無関係なアプリケーションの継続的な動作が可能になる。
オペレーティングシステムは、モジュールロードスクリプトを実行することができる(ステップ656)。例えば、オペレーティングシステムは、スタートアップの一部として、又はスタートアッププロセスの完了に応答して、特定のディレクトリに格納された1つ又は複数のスクリプトを実行するように構成することができる。このスクリプトは、コンピュータメモリからバージョン識別子を読み出し、バージョン特有のモジュールをロードするための命令を含むことができる(ステップ658)。これらのバージョン特有のモジュールは、制御コンソール及びサブシステムに、プロセス600及び625のブートイメージと同じ又は同様の機能を提供する。バージョン特有のモジュールは、オペレーティングシステムと互換性のあるアプリケーション、ライブラリ、サービス、又は他のソフトウェア・オブジェクトを含むことができる。
いくつかの実施態様では、必要に応じて、1つ又は複数のブートイメージ又はモジュールをネットワーク・ロケーションからダウンロードすることができる。例えば、特定のソフトウェア・バージョンを使用すべきであるが、サブシステムに現在格納されていないと判定したことに応答して、対応するブートイメージをサブシステムのメモリにダウンロードすることができる。ダウンロードしたブートイメージは、上記のように現在のブートイメージに切り替えることができる。
いくつかの実施態様では、手術システムは、ハードウェア構成が手術システムと共に使用するのに有効である限り、追加のアクセサリに接続することができる。例えば、第2の制御コンソールをシステムに接続することができる。第2の制御コンソールは、処置の間に又は例えば複雑な処置の間に、1つ又は複数の手術用器具を独立して操作するための訓練装置として使用することができる。システム・セットアップの全体の制御を含む第1の制御コンソールは、第2の制御コンソールのソフトウェア・バージョンを決定し、対応する命令を第2の制御コンソールに与えてソフトウェア・バージョンをロードすることができる。例えば、特定の手術システムに特有ではない追加のマニピュレータ等の、他のアクセサリを使用することができる。
本明細書に記載される主題の実施形態及び動作は、本明細書開示される構造物及びそれらの構造的均等物、又はそれらの1つ又は複数の組合せを含むデジタル電子回路、又はコンピュータソフトウェア、ファームウェア、又はハードウェアに実装することができる。本明細書に記載される主題の実施形態は、データ処理装置によって実行されるか、又はデータ処理装置の動作を制御するためのコンピュータ記憶媒体上に符号化された1つ又は複数のコンピュータプログラム、すなわちコンピュータプログラム命令の1つ又は複数のモジュールとして実装することができる。代替的に又は追加的に、プログラム命令は、人為的に生成された伝播信号、例えば、データ処理装置によって実行するために適切な受信機へ送信するために情報を符号化するために生成されたマシンによって生成された電気、光、電磁信号に符号化される。コンピュータ記憶媒体は、コンピュータ可読記憶装置、コンピュータ可読記憶基板、ランダム又はシリアル・アクセスメモリ・アレイ又は装置、又はそれらの1つ又は複数の組合せであり得るか、又はそれらに含まれ得る。さらに、コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人為的に生成された伝播信号で符号化されたコンピュータプログラム命令のソース又は宛先であり得る。コンピュータ記憶媒体は、1つ又は複数の別個の物理的構成要素又は媒体(例えば、複数のCD、ディスク、又は他の記憶装置)であってもよく、又はこれに含まれてもよい。
本明細書に記載される動作は、1つ又は複数のコンピュータ可読記憶装置に格納したデータ又は他のソースから受信したデータに対してデータ処理装置によって実行される動作として実施することができる。
「データ処理装置」という用語は、例えば、プログラム可能なプロセッサ、コンピュータ、システムオンチップ、又はこれらの複数のもの、又はこれらの組合せを含む、データを処理するためのあらゆる種類の装置、装置及びマシンを包含する。装置は、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)等の専用論理回路を含むことができる。装置は、ハードウェアに加えて、当のコンピュータプログラムの実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、又はこれらのうちの1つ又は複数の組合せを構成するコードも含むことができる。装置及び実行環境は、ウェブサービス、分散コンピュータ及びグリッドコンピュータインフラストラクチャ等、様々な異なるコンピュータモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、又はコードとしても知られている)は、コンパイル型言語又はインタープリタ型言語、宣言型言語又は手続型言語を含む、任意の形式のプログラミング言語で記述することができ、独立型プログラムとして、又はコンピュータ環境での使用に適したモジュール、コンポーネント、サブルーチン、オブジェクト、又はその他のユニットとして含まれる任意の形式で配置することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、必ずしも対応する必要はない。プログラムは、他のプログラム又はデータ(例えば、マークアップ言語ドキュメントに格納された1つ又は複数のスクリプト)を当のプログラム専用の単一ファイルに、又は複数の協調ファイル(例えば、1つ又は複数のモジュール、サブプログラム、又はコードの一部を格納するファイル)に保持するファイルの一部に格納される。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイトに位置するか又は複数のサイトに亘って分散され、及び通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配置することができる。
本明細書に記載されるプロセス及び論理フローは、1つ又は複数のコンピュータプログラムを実行する1つ又は複数のプログラマブルプロセッサによって実行され、入力データを操作して出力を生成することによって動作を実行することができる。プロセス及び論理フローは、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)等の専用論理回路によっても実行することができ、装置を専用論理回路として実装することもできる。
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、及び任意の種類のデジタルコンピュータの任意の1つ又は複数のプロセッサを含む。一般に、プロセッサは、読出し専用メモリ又はランダムアクセスメモリ又はその両方から命令及びデータを受け取る。コンピュータの必須要素は、命令に従って動作を実行するためのプロセッサと、命令及びデータを格納するための1つ又は複数のメモリ装置とである。一般に、コンピュータは、磁気ディスク、光磁気ディスク、又は光ディスク等のデータを格納するための1つ又は複数の大容量記憶装置を含むか、又はこの大容量記憶装置からデータを受信し、又はその大容量記憶装置にデータを転送するか、又はその両方を行うように動作可能に結合される。しかしながら、コンピュータは必ずしもそのような装置を有する必要はない。さらに、コンピュータは、別の装置、例えば例を挙げると、携帯電話、携帯情報端末(PDA)、モバイルオーディオ又はビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、又はポータブル記憶装置(例えば、ユニバーサル・シリアル・バス(USB)フラッシュ・ドライブ)に組み込むことができる。コンピュータプログラム命令及びデータを格納するのに適した装置は、例えば、EPROM、EEPROM、及びフラッシュメモリ装置等の半導体メモリ装置を含む全ての形式の不揮発性メモリ、メディア、及びメモリ装置;例えば内部ハードディスク又はリムーバブルディスク等の磁気ディスク;光磁気ディスク;及びCD−ROM及びDVD−ROMディスクを含む。プロセッサ及びメモリは、専用論理回路によって補完することができ、又は専用論理回路に組み込むことができる。
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、情報をユーザ及びキーボードに表示するためのCRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ等のディスプレイ装置と、ユーザがコンピュータに入力を与えることができるマウス又はトラックボール等のポインティング装置とを有するコンピュータ上に実装することができる。他の種類の装置を使用して、同様にユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック等の任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形態で受け取ることができる。さらに、コンピュータは、ユーザによって使用される装置との間でドキュメントを送受信することによりユーザと対話することができ、例えば、ウェブブラウザから受信した要求に応答して、ユーザのクライアント装置上のウェブブラウザにウェブページを送信することによりユーザと対話することができる。
本明細書に記載される主題の実施形態は、例えばデータサーバ等のバックエンド・コンポーネントを含むコンピュータシステム、又はアプリケーションサーバ等のミドルウェア・コンポーネントを含むコンピュータシステム、又はユーザが本明細書に記載される主題の実施態様と対話することができるグラフィカル・ユーザインタフェース又はウェブブラウザを有するクライアントコンピュータ等のフロントエンド・コンポーネントを含むコンピュータシステム、又は1つ又は複数のこのようなバックエンド、ミドルウェア、又はフロントエンド・コンポーネントを含むコンピュータシステムに実装することができる。システムのコンポーネントは、任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(LAN)及びワイドエリアネットワーク(WAN)、インターネットワーク(例えば、インターネット)、及びピアツーピアネットワーク(例えば、アドホック・ピアツーピアネットワーク)が含まれる。
コンピュータシステムは、マスタ装置と、1つ又は複数のスレーブ装置とを含むことができる。マスタ装置及びスレーブ装置は、一般に、互いに遠隔にあり、典型的には、通信ネットワークを介して相互作用する。マスタとスレーブとの関係は、それぞれのコンピュータ上で動作し、互いにマスタ/スレーブ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、(例えば、手術用器具を動かす目的で)マスタが制御コマンド等のデータをスレーブ装置に送信する。スレーブ装置で生成されたデータ(例えば、カメラ画像)は、マスタ装置に戻すことができる。
いくつかの実施形態では、マニピュレータのジョイントは、能動ジョイント及び受動ジョイントを含むことができる。能動ジョイントは、その動作が、手術システム内から供給される電力によって、例えば関節に関連するモータによって制御されるジョイントである。受動ジョイントは、システムの外部に設けられた動力のみによって動くジョイント、又はより簡単には非動力型ジョイントである。能動ジョイントは、必ずしも遠隔操作又はロボット制御の必要はない。能動ジョイントの動きは、1つ又は複数の関連するモータによって提供され得る。いくつかの実施態様では、モータはブラシレス直流モータである。いくつかの他の実施態様では、閉ループフィードバックシステムにおいて能動ジョイントを制御するためにサーボ機構が使用される。外科医が特定のマニピュレータのためにマスタコントローラに入力を提供するとき、外科医が手術用器具を特定の位置に操作できるように動きが計算される。
安全の理由から、手術システムに使用されるマニピュレータのジョイントは、一般に、マニピュレータの制御されない動きを防止するためのロック機構を含む。いくつかの実施態様では、ロックは、動力がブレーキから除かれるときに係合されるブレーキによって提供される。これらのタイプのブレーキの例には、電気機械式又は電磁式のロックが含まれる。いくつかの実施態様では、これらのブレーキを解除してマニピュレータの手動の、電力が供給されない動作を可能にすることができる。
本明細書は、多くの具体的な実施態様の詳細を含むが、これらは、本発明の範囲又は特許請求の範囲に記載される範囲を限定するものではなく、むしろ特定の発明の特定の実施形態に特有の特徴の説明として解釈すべきである。別個の実施形態の文脈において本明細書に記載される特定の特徴は、単一の実施形態において組み合わせて実施してもよい。逆に、単一の実施形態の文脈において記載される様々な特徴は、複数の実施形態で別々に又は任意の適切なサブコンビネーションで実施してもよい。さらに、特徴は、特定の組合せで動作するものとして上記で説明しており、当初はそのように主張されていても、ある場合には、その組合せから切り出すことができ、主張された組合せは、サブコンビネーション又はサブコンビネーションの変形形態を指してもよい。
同様に、動作が特定の順序で図面に示されているが、これは、このような動作が、望ましい動作を達成するために、示された特定の順序又は順番通りに実行される、又は図示された全ての動作が実行されることを必要とするものとして理解すべきではない。特定の状況では、マルチタスク処理及び並列処理が有利な場合がある。さらに、上述の実施形態における様々なシステム構成要素の分離は、全ての実施形態においてそのような分離を必要とするものとして理解すべきではなく、記載されたプログラム構成要素及びシステムは、一般に、単一のソフトウェア製品内に一体化され、複数のソフトウェア製品内にパケージ化することができる。
こうして、主題の特定の実施形態について説明した。他の実施形態は、以下の特許請求の範囲内にある。場合によっては、特許請求の範囲に列挙された動作は様々な順序で実行され、依然として望ましい結果を達成することができる。さらに、添付図面に示されるプロセスは、望ましい結果を達成するために、示された特定の順序又は連続的な順序を必ずしも必要としない。特定の実施態様では、マルチタスク処理及び並列処理が有利となり得る。

Claims (15)

  1. 方法であって、当該方法は、
    手術システムに関連する制御サブシステムにおいて、前記手術システムの第1の患者側サブシステムからハードウェア構成を取得するステップであって、第1の患者側サブシステムは、前記制御サブシステムに通信可能に結合され且つ前記制御サブシステムによって制御される、取得するステップと、
    データ処理装置を用いて、前記制御サブシステム及び第1の患者側サブシステムによって使用すべきソフトウェア・バージョンを決定するステップであって、該ソフトウェア・バージョンを決定するステップは、複数のソフトウェア・バージョンの中から前記ソフトウェア・バージョンを選択するステップを含み、前記複数のソフトウェア・バージョンの各ソフトウェア・バージョンは、特定の患者側サブシステムに関連付けられる、決定するステップと、
    前記データ処理装置を用いて、第1の患者側サブシステムに前記ソフトウェア・バージョンを使用するように指示するステップと、
    前記データ処理装置を用いて、前記ソフトウェア・バージョンが前記制御サブシステムに現在ロードされているかどうかを判定するステップと、
    前記ソフトウェア・バージョンが前記制御サブシステムに現在ロードされていないと判定したことに応答して、前記データ処理装置を用いて、前記ソフトウェア・バージョンを前記制御サブシステムにロードするステップと、
    前記データ処理装置を用いて、前記制御サブシステム及び第1の患者側サブシステムにロードされた前記ソフトウェア・バージョンを有効化するステップと、
    前記データ処理装置を用いて、前記手術システムを前記ソフトウェア・バージョンで初期化するステップと、を含む、
    方法。
  2. 前記制御サブシステム及び第1の患者側サブシステムによって使用すべき前記ソフトウェア・バージョンを決定する前に、前記データ処理装置を用いて、第1の患者側サブシステムの前記ハードウェア構成を検証するステップをさらに含む、請求項1に記載の方法。
  3. 前記制御サブシステムは、前記手術システムの外科医コンソールの構成要素を含み、前記外科医コンソールは、前記手術システムのオペレータに制御機能を提供するように構成され、第1の患者側サブシステムは、1つ又は複数の対応する手術用器具を保持して位置付けするように構成される1つ又は複数のマニピュレータを含む、請求項1又は2に記載の方法。
  4. 第1の患者側サブシステムに前記ソフトウェア・バージョンを使用するように指示するステップは、
    複数のブートイメージのうちの特定のブートイメージを決定することであって、該特定のブートイメージは前記ソフトウェア・バージョンを含む、決定することと、
    現在のブートイメージから特定のブートイメージに第1の患者側サブシステムをリブートすることと、により
    前記ソフトウェア・バージョンを第1の患者側サブシステムにロードするステップを含む、
    請求項1乃至のいずれか一項に記載の方法。
  5. 前記現在のブートイメージから前記特定のブートイメージに第1の患者側サブシステムをリブートするステップは、
    前記特定のブートイメージのための第1のヘッダブロックを取得するステップと、
    該取得した第1のヘッダブロックを前記特定のブートイメージに復元するステップと、
    前記現在のブートイメージのための第2のヘッダブロックのコピーを格納するステップと、
    前記取得した第1のヘッダブロックの復元及び第2のヘッダブロックのコピーを格納するステップの後で、前記現在のブートイメージのための第2のヘッダブロックを無効化するステップと、を含む、
    請求項に記載の方法。
  6. 前記現在のブートイメージから前記特定のブートイメージに第1の患者側サブシステムをリブートするステップは、
    前記特定のブートイメージを特定するパラメータを格納するステップと、
    ブートローダによって、前記格納したパラメータを読み出すステップと、
    前記ブートローダによって、前記格納したパラメータに基づいて前記特定のブートイメージを選択するステップと、を含む、
    請求項に記載の方法。
  7. 前記制御サブシステム及び第1の患者側サブシステムによって使用すべき前記ソフトウェア・バージョンを決定するステップは、前記制御サブシステムと第1の患者側サブシステムとの間の協働に基づいて行われる、請求項1乃至のいずれか一項に記載の方法。
  8. 前記ソフトウェア・バージョンを有効化するステップは、
    前記制御サブシステム及び第1の患者側サブシステムが前記ソフトウェア・バージョンをロードしたかどうかを判定するステップと、
    前記制御サブシステム又は第1の患者側サブシステムが前記決定されたソフトウェア・バージョンをロードしていないと判定することに応答して、エラーメッセージを生成し、前記手術システムでの使用のために前記制御サブシステム及び第1の患者側サブシステムの少なくとも一方の初期化を防止するステップと、を含む、
    請求項1乃至のいずれか一項に記載の方法。
  9. 前記データ処理装置を用いて、第2の患者側サブシステムが前記制御サブシステムに通信可能に接続されていることを認識するステップと、
    前記データ処理装置を用いて、第2の患者側サブシステムに関するハードウェア情報を取得するステップと、
    前記データ処理装置を用いて、第2の患者側サブシステムの前記ハードウェア情報を検証するステップと、
    前記データ処理装置を用いて、第2の患者側サブシステムに前記ソフトウェア・バージョンをロードさせ又は前記制御サブシステムに第2のソフトウェア・バージョンをロードさせるステップであって、第2のソフトウェア・バージョンは、第2の患者側サブシステムにロードされたソフトウェアに対応する、ロードさせるステップと、をさらに含む、
    請求項1乃至のいずれか一項に記載の方法。
  10. 前記ソフトウェア・バージョンは、前記制御サブシステムに現在ロードされている又は第1の患者側サブシステムに現在ロードされている現在のソフトウェア・バージョンに基づいて決定される、請求項1乃至のいずれか一項に記載の方法。
  11. 第1の患者側サブシステムにおいて、前記ソフトウェア・バージョンをロードする命令を受信するステップと、
    前記ソフトウェア・バージョンが、第1の患者側サブシステムに現在ロードされている第1の構成とは異なる第2の構成でロードされていると判定するステップと、
    第2の構成に対応するデータを格納するステップと、
    第2の構成をダウンロードするステップと、
    第1の患者側サブシステムを第2の構成に構成するステップと、を含む、
    請求項1乃至10のいずれか一項に記載の方法。
  12. 割込みに応答して、
    前記ソフトウェア・バージョン及び以前ロードしたソフトウェア・バージョンから有効なソフトウェア・バージョンを決定するステップと、
    前記制御サブシステム又は第1の患者側サブシステムを前記有効なソフトウェア・バージョンにリブートするステップと、をさらに含む、
    請求項1乃至11のいずれか一項に記載の方法。
  13. ステムであって、当該システムは、
    御サブシステムを含み、該制御サブシステムは、複数の患者側サブシステムと通信可能に結合するように構成され、各患者側サブシステムは、複数のソフトウェ構成のうちの1つのソフトウェア構成に関連付けられ、
    前記制御サブシステムは、前記制御サブシステムの組合せが前記複数の患者側サブシステムのうちの特定の患者側サブシステムと通信可能に結合されているかどうかを判定すること、前記組合せに基づいて前記複数のソフトウェア構成から特定のソフトウェア構成を選択すること及び前記特定のソフトウェア構成を有効化した後に当該システムを初期化すること、により当該システムを構成する
    システム。
  14. 前記特定の患者側サブシステムは特定のハードウェア構成を有し、前記制御サブシステムは、前記特定のソフトウェア構成を決定する前に、前記特定のハードウェア構成が前記特定の患者側サブシステムに通信可能に結合された前記制御サブシステムの前記組合せに有効であるかを判定し、
    前記制御サブシステムは、前記特定のソフトウェア構成を前記制御サブシステムにロードすること、又は前記制御サブシステムから前記特定の患者側サブシステムに命令を送信して前記特定のソフトウェア構成をロードさせること、により当該システムをさらに構成し、
    前記制御サブシステムは、手術システムの外科医コンソールの構成要素を含み、該外科医コンソールは、前記手術システムのオペレータに制御機能を提供するように構成され、
    前記特定の患者側サブシステムは、前記制御サブシステムへのユーザ入力に応答して、1つ又は複数の対応する手術用器具を位置付けるように構成された1つ又は複数のマニピュレータを含む、請求項13に記載のシステム。
  15. 複数のコンピュータ可読命令を含む非一時的な記憶媒体であって、前記コンピュータ可読命令がデータ処理装置によって実行されたときに、前記データ処理装置に請求項1乃至12のいずれか一項に記載の方法を実行させるように構成される、
    非一時的な記憶媒体。
JP2017557046A 2015-07-07 2016-07-06 複数の装置の制御 Active JP6772185B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562189523P 2015-07-07 2015-07-07
US62/189,523 2015-07-07
PCT/US2016/041052 WO2017007795A1 (en) 2015-07-07 2016-07-06 Control of multiple devices

Publications (2)

Publication Number Publication Date
JP2018526699A JP2018526699A (ja) 2018-09-13
JP6772185B2 true JP6772185B2 (ja) 2020-10-21

Family

ID=57685909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017557046A Active JP6772185B2 (ja) 2015-07-07 2016-07-06 複数の装置の制御

Country Status (6)

Country Link
US (1) US10376325B2 (ja)
EP (1) EP3319540B1 (ja)
JP (1) JP6772185B2 (ja)
KR (1) KR102495549B1 (ja)
CN (1) CN107690319B (ja)
WO (1) WO2017007795A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8556807B2 (en) * 2006-12-21 2013-10-15 Intuitive Surgical Operations, Inc. Hermetically sealed distal sensor endoscope
US8814779B2 (en) 2006-12-21 2014-08-26 Intuitive Surgical Operations, Inc. Stereoscopic endoscope
US11642183B2 (en) * 2018-06-06 2023-05-09 Verily Life Sciences Llc Systems and methods for fleet management of robotic surgical systems
WO2021117463A1 (ja) * 2019-12-12 2021-06-17 日立Astemo株式会社 車両制御装置及びプログラム管理方法
TWI715433B (zh) * 2020-02-06 2021-01-01 瑞昱半導體股份有限公司 啟動電路、啟動方法以及啟動系統
CN114469354B (zh) * 2022-04-13 2022-06-24 深圳市爱博医疗机器人有限公司 一种介入手术机器人从端初始化方法和可读存储介质

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5855583A (en) 1996-02-20 1999-01-05 Computer Motion, Inc. Method and apparatus for performing minimally invasive cardiac procedures
US6331181B1 (en) * 1998-12-08 2001-12-18 Intuitive Surgical, Inc. Surgical robotic tools, data architecture, and use
US6132368A (en) 1996-12-12 2000-10-17 Intuitive Surgical, Inc. Multi-component telepresence system and method
US6714839B2 (en) 1998-12-08 2004-03-30 Intuitive Surgical, Inc. Master having redundant degrees of freedom
AU5391999A (en) 1998-08-04 2000-02-28 Intuitive Surgical, Inc. Manipulator positioning linkage for robotic surgery
US6951535B2 (en) * 2002-01-16 2005-10-04 Intuitive Surgical, Inc. Tele-medicine system that transmits an entire state of a subsystem
US8527094B2 (en) 1998-11-20 2013-09-03 Intuitive Surgical Operations, Inc. Multi-user medical robotic system for collaboration or training in minimally invasive surgical procedures
US8004229B2 (en) 2005-05-19 2011-08-23 Intuitive Surgical Operations, Inc. Software center and highly configurable robotic systems for surgery and other uses
US6658659B2 (en) * 1999-12-16 2003-12-02 Cisco Technology, Inc. Compatible version module loading
JP2001216167A (ja) * 2000-02-04 2001-08-10 Minolta Co Ltd 本体と周辺装置からなるシステム
US6854052B2 (en) * 2001-04-18 2005-02-08 International Business Machines Corporation Method to validate system configuration
US6728599B2 (en) 2001-09-07 2004-04-27 Computer Motion, Inc. Modularity system for computer assisted surgery
JP2003084994A (ja) * 2001-09-12 2003-03-20 Olympus Optical Co Ltd 医療システム
US6793653B2 (en) 2001-12-08 2004-09-21 Computer Motion, Inc. Multifunctional handle for a medical robotic system
US7363484B2 (en) 2003-09-15 2008-04-22 Hewlett-Packard Development Company, L.P. Apparatus and method for selectively mapping proper boot image to processors of heterogeneous computer systems
US7379790B2 (en) 2004-05-04 2008-05-27 Intuitive Surgical, Inc. Tool memory-based software upgrades for robotic surgery
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
US20070168571A1 (en) * 2005-11-02 2007-07-19 Dell Products L.P. System and method for automatic enforcement of firmware revisions in SCSI/SAS/FC systems
US8167872B2 (en) 2006-01-25 2012-05-01 Intuitive Surgical Operations, Inc. Center robotic arm with five-bar spherical linkage for endoscopic camera
US8966235B2 (en) * 2006-10-24 2015-02-24 Kent E. Dicks System for remote provisioning of electronic devices by overlaying an initial image with an updated image
US8065397B2 (en) * 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
ES2693097T3 (es) * 2007-05-30 2018-12-07 Ascensia Diabetes Care Holdings Ag Sistema y método para gestionar datos de salud
JP2008305328A (ja) * 2007-06-11 2008-12-18 Canon Inc 画像形成装置及びデータ処理装置ならびにデータ処理方法ならびにデータ処理方法を実行するプログラム
US9301807B2 (en) 2007-06-13 2016-04-05 Intuitive Surgical Operations, Inc. Surgical system counterbalance
US20090150865A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for activating features and functions of a consolidated software application
US8400094B2 (en) 2007-12-21 2013-03-19 Intuitive Surgical Operations, Inc. Robotic surgical system with patient support
US8402145B2 (en) * 2009-03-16 2013-03-19 Apple Inc. Application communication with external accessories
US8897920B2 (en) * 2009-04-17 2014-11-25 Intouch Technologies, Inc. Tele-presence robot system with software modularity, projector and laser pointer
US8521331B2 (en) 2009-11-13 2013-08-27 Intuitive Surgical Operations, Inc. Patient-side surgeon interface for a minimally invasive, teleoperated surgical instrument
KR20110055841A (ko) * 2009-11-20 2011-05-26 삼성전자주식회사 시스템의 복구 방법 및 이를 지원하는 장치
JP2011178117A (ja) * 2010-03-03 2011-09-15 Fuji Xerox Co Ltd 画像形成装置、及び給紙装置互換判定処理プログラム
US9229731B2 (en) * 2011-05-06 2016-01-05 Dell Products L.P. System and method for facilitating booting using a plurality of boot methods
US20130036415A1 (en) 2011-08-02 2013-02-07 Roche Diagnostics Operations, Inc. Software distribution to medical devices via an intermediary which enforces maintenance of a transaction log
US9582656B2 (en) * 2011-09-12 2017-02-28 Microsoft Corporation Systems for validating hardware devices
ES2959510T3 (es) * 2011-10-21 2024-02-26 Icu Medical Inc Sistema de actualización de dispositivos médicos
DE102012001456A1 (de) 2012-01-25 2013-07-25 Dräger Medical GmbH Versionskontrolle für medizinische Anästhesiegeräte
EP2854687B1 (en) 2012-06-01 2022-08-24 Intuitive Surgical Operations, Inc. Systems for avoiding collisions between manipulator arms using a null-space
GB2508599A (en) * 2012-12-04 2014-06-11 Ibm Software version management when downgrading software
US9424303B2 (en) 2013-02-15 2016-08-23 Intuitive Surgical Operations, Inc. Systems and methods for synchronizing nodes of a robotic system
KR102117270B1 (ko) 2013-03-06 2020-06-01 삼성전자주식회사 수술 로봇 시스템 및 그 제어방법
US9733950B2 (en) * 2013-03-14 2017-08-15 Microchip Technology Incorporated Boot sequencing for multi boot devices
US10543137B2 (en) * 2013-03-15 2020-01-28 Stryker Corporation Patient support apparatus with remote communications
US9186518B2 (en) * 2013-09-06 2015-11-17 Boston Scientific Neuromodulation Corporation Medical device application for configuring a mobile device into an external controller for an implantable medical device
JP2015069315A (ja) * 2013-09-27 2015-04-13 アズビル株式会社 デバイス
US9424020B2 (en) * 2014-01-13 2016-08-23 Carefusion 303, Inc. Remote flashing during infusion
EP4218551A3 (en) * 2015-02-27 2023-08-09 Zoll Medical Corporation Downloading and booting method and system for a wearable medical device

Also Published As

Publication number Publication date
EP3319540A1 (en) 2018-05-16
KR102495549B1 (ko) 2023-02-06
US10376325B2 (en) 2019-08-13
EP3319540B1 (en) 2024-01-24
KR20180016978A (ko) 2018-02-20
EP3319540A4 (en) 2019-03-13
US20180206925A1 (en) 2018-07-26
CN107690319A (zh) 2018-02-13
WO2017007795A1 (en) 2017-01-12
JP2018526699A (ja) 2018-09-13
CN107690319B (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
JP6772185B2 (ja) 複数の装置の制御
JP5000484B2 (ja) ロボット手術用のツールメモリベースのソフトウェアの更新
JP3582348B2 (ja) 手術装置
KR20070076515A (ko) 유체 관리 시스템의 소프트웨어를 구성하기 위한 방법
US20220273368A1 (en) Auto-configurable simulation system and method
WO2018229926A1 (ja) 医療用マニピュレータ
WO2023114427A1 (en) Force-based control of a virtual object being displayed by a computer-assisted medical system
Luthringer et al. Role of Robotic-Assisted Surgery in the Management of Urolithiasis
CN116549132A (zh) 一种手术机器人系统及手术机器人系统的控制处理设备
CN114730633A (zh) 用于协调用户协助的方法和系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180110

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200814

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200908

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200930

R150 Certificate of patent or registration of utility model

Ref document number: 6772185

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250