(57)【要約】  ユーザ関与の監視を伴うロボット外科用システムは、ロボットアセンブリと、外科医コンソールと、追跡デバイスと、を含む。ロボットアセンブリは、外科用器具に結合されたロボットアームを含む。外科医コンソールは、ディスプレイデバイスと、ロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つに通信可能に結合されたハンドルと、を含む。追跡デバイスは、ユーザ位置基準点の画像を捕捉するように構成された画像捕捉デバイスを含む。外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、画像に基づいてユーザ位置基準点の位置を計算することと、計算された位置に基づいて、ユーザが外科医コンソールに関与しているかどうかを判定することと、ユーザが外科医コンソールに関与していないという判定に応答して、ロボット外科用システムをセーフモードで動作させることと、を行うように構成されている。【選択図】図３
2021511892.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ関与の監視を伴うロボット外科用システムであって、
外科用器具に結合されたロボットアームを含むロボットアセンブリと、
外科医コンソールであって、
前記ロボットアセンブリ、前記ロボットアーム、または前記外科用器具のうちの少なくとも１つに通信可能に結合されたハンドルと、
ディスプレイデバイスと、を含む、外科医コンソールと、
ユーザ位置基準点の画像を捕捉するように構成された画像捕捉デバイスを含む追跡デバイスと、を含み、
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、
前記捕捉された画像に基づいて、前記ディスプレイデバイスに対する前記ユーザ位置基準点の位置を計算することと、
前記計算された位置に基づいて、ユーザが前記外科医コンソールに関与しているか、または関与していないかどうかを判定することと、
前記ユーザが前記外科医コンソールに関与していないという判定に応答して、前記ロボット外科用システムをセーフモードで動作させることと、を行うように構成されている、ロボット外科用システム。
【請求項２】
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、前記ディスプレイデバイスに対する、３次元座標空間内の、前記ユーザ位置基準点の前記位置または配向のうちの少なくとも１つに対応する場所データを生成することによって、前記ユーザ位置基準点の前記位置を計算するようにさらに構成されている、請求項１に記載のロボット外科用システム。
【請求項３】
前記ユーザが前記外科医コンソールに関与しているか、または関与していないかどうかの前記判定において、前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、
前記ディスプレイデバイスに対する前記ユーザ位置基準点の前記位置および配向に基づいて、差角を計算することと、
前記差角を第１の閾値角度と比較することと、
前記差角が前記第１の閾値角度より大きいという判定に応答して、前記ユーザが前記外科医コンソールに関与していないと判定することと、を行うようにさらに構成されている、請求項２に記載のロボット外科用システム。
【請求項４】
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、前記ディスプレイデバイスに対する、前記ユーザ位置基準点の前記位置および前記配向に基づいて、複数の第１の閾値角度から前記第１の閾値角度を選択するようにさらに構成されている、請求項３に記載のロボット外科用システム。
【請求項５】
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、
前記ユーザ位置基準点の前記位置および前記配向に基づいて、前記ディスプレイデバイスに対する、前記ユーザ位置基準点の移動の方向を計算することと、
前記ユーザ位置基準点の前記移動の方向に基づいて、前記第１の閾値角度を選択することと、を行うようにさらに構成されている、請求項３に記載のロボット外科用システム。
【請求項６】
前記ユーザが前記外科医コンソールに関与しているか、または関与していないかどうかの前記判定において、前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、
前記差角が前記第１の閾値角度未満であるという判定に応答して、前記差角が前記第１の閾値角度よりも小さい第２の閾値角度未満であるかどうかを判定することと、
前記差角が前記第２の閾値角度未満であるという判定に応答して、前記ユーザが前記外科医コンソールに関与していると判定することと、を行うようにさらに構成されている、請求項３に記載のロボット外科用システム。
【請求項７】
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、前記ユーザが前記外科医コンソールに関与しているという前記判定に応答して、前記ロボット外科用システムを前記セーフモードから退出させるようにさらに構成されている、請求項６に記載のロボット外科用システム。
【請求項８】
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、前記ロボット外科用システムが前記セーフモードで動作するとき、
前記ユーザが前記外科医コンソールに関与しているという判定に応答して、前記ユーザが関与しているという前記判定の後、閾値量の時間の経過後、前記ロボット外科用システムを前記セーフモードから退出させるようにさらに構成されている、請求項１に記載のロボット外科用システム。
【請求項９】
コンピューティングデバイスをさらに含み、
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、前記ロボット外科用システムが前記セーフモードで動作するとき、
前記ハンドルの以前の位置からの前記ハンドルの移動を制限することと、
前記ロボットアセンブリ、前記ロボットアーム、または前記外科用器具のうちの少なくとも１つの移動を制限するための命令を、前記コンピューティングデバイスに送信することと、を行うようにさらに構成されており、
前記コンピューティングデバイスは、
前記命令を受信することと、
前記命令を、前記ロボットアセンブリ、前記ロボットアーム、または前記外科用器具のうちの少なくとも１つに送信することと、を行うように構成されており、
前記ロボットアーム、前記ロボットアセンブリ、または前記外科用器具のうちの少なくとも１つは、
前記命令を受信することと、
前記命令に応答して、前記ロボットアセンブリ、前記ロボットアーム、または前記外科用器具のうちの少なくとも１つの移動を制限することと、を行うように構成されている、請求項１に記載のロボット外科用システム。
【請求項１０】
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、前記ロボット外科用システムが前記セーフモードで動作するとき、
前記ハンドルの移動が、前記ハンドルに通信可能に結合された前記ロボットアームの対応する移動を引き起こすことを防止するようにさらに構成されている、請求項１に記載のロボット外科用システム。
【請求項１１】
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、
前記ハンドルの移動の量を検出することと、
前記ハンドルの前記移動の量に基づいて、前記ハンドルの前記移動に応答して引き起こされる、前記ロボットアセンブリ、前記ロボットアーム、または前記外科用器具のうちの少なくとも１つの移動の量を判定することと、
前記ロボットアセンブリ、前記ロボットアーム、または前記外科用器具のうちの少なくとも１つを、前記判定された移動の量だけ移動させることと、を行うようにさらに構成されており、
前記ロボット外科用システムが前記セーフモードで動作するとき、引き起こされる前記ロボットアセンブリ、前記ロボットアーム、または前記外科用器具のうちの少なくとも１つの前記移動の量の前記判定は、下方スケーリング係数を適用することを含む、請求項１に記載のロボット外科用システム。
【請求項１２】
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、
前記ハンドルの移動の速度を計算することと、
前記速度に基づいて、前記下方スケーリング係数を変更することと、を行うようにさらに構成されている、請求項１１に記載のロボット外科用システム。
【請求項１３】
前記外科医コンソールは、前記ハンドルに対応する複数のモータを含み、前記モータの各々は、前記ハンドルに動作可能に結合されており、かつ前記ハンドルの移動方向に関連付けられており、
前記ロボット外科用システムが前記セーフモードで動作するとき、前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、
前記ハンドルの移動の速度を計算することと、
前記ハンドルの前記移動の方向を計算することと、
前記ハンドルの前記移動の前記速度に基づいて、前記ハンドルの前記移動の前記方向とは反対方向の力を計算することと、
前記ハンドルの前記複数のモータの中から、前記ハンドルの前記移動の前記方向とは反対の前記方向に関連付けられたモータを識別することと、
前記ハンドルの前記移動の前記方向とは反対の前記方向に前記計算された力を生成するために、前記ハンドルの前記移動の前記方向とは反対の前記方向に前記識別されたモータを作動させることと、を行うようにさらに構成されている、請求項１に記載のロボット外科用システム。
【請求項１４】
前記外科医コンソールは、
複数のモータであって、前記ハンドルに動作可能に結合され、前記ハンドルの移動の複数の方向にそれぞれ関連付けられている、複数のモータをさらに含み、
前記外科医コンソールまたは前記追跡デバイスのうちの少なくとも１つは、前記ユーザが前記外科医コンソールに関与していないという前記判定に応答して、
前記ハンドルの第１の位置を識別することと、
前記ハンドルの前記第１の位置から前記ハンドルによって移動した距離を計算することと、
前記ハンドルの前記移動の方向を計算することと、
前記距離に基づいて、前記ハンドルの前記移動の前記方向とは反対方向の力を計算することと、
前記ハンドルの前記複数のモータの中から、前記ハンドルの前記移動の前記方向とは反対の前記方向に関連付けられたモータを識別することと、
前記ハンドルの前記移動の前記方向とは反対の前記方向に前記計算された力を生成するために、前記ハンドルの前記移動の前記方向とは反対の前記方向に前記識別されたモータを作動させることと、を行うようにさらに構成されている、請求項１に記載のロボット外科用システム。
【請求項１５】
前記外科医コンソールは、
前記ハンドルが前記第１の位置に配置されるまで、前記ハンドルの前記移動の前記方向と前記反対方向に前記モータを作動させるようにさらに構成されている、請求項１４に記載のロボット外科用システム。
【請求項１６】
複数のマーカを含むアイウェアをさらに含み、前記ユーザ位置基準点は、前記複数のマーカのうちの少なくとも１つを含む、請求項１に記載のロボット外科用システム。
【請求項１７】
前記ユーザ位置基準点は、前記ユーザの目、頭、または別の部分のうちの少なくとも１つを含む、請求項１に記載のロボット外科用システム。
【請求項１８】
前記ディスプレイデバイスは、自動立体視ディスプレイデバイスである、請求項１に記載のロボット外科用システム。
【請求項１９】
ユーザ関与の監視を伴うロボット外科用システムであって、
外科用器具に結合されたロボットアームを含むロボットアセンブリと、
前記ロボットアセンブリ、前記ロボットアーム、または前記外科用器具のうちの少なくとも１つに通信可能に結合されたハンドルを含む、外科医コンソールと、を含み、
前記ハンドルは、容量センサまたは光学センサのうちの少なくとも１つを含み、
前記外科医コンソールは、
前記容量センサまたは前記光学センサのうちの少なくとも１つから、ユーザによる前記ハンドルとの接触に関するデータを受信することと、
前記ハンドルとの接触に関連する前記データに基づいて、前記ユーザが前記外科医コンソールに関与しているか、または関与していないかどうかを判定することと、
前記ユーザが前記外科医コンソールに関与していないという判定に応答して、前記ロボット外科用システムをセーフモードで動作させることと、を行うように構成されている、ロボット外科用システム。
【請求項２０】
前記外科医コンソールは、前記ユーザが前記外科医コンソールに関与していないかどうかの前記判定において、前記ユーザが前記ハンドルに接触していないことを、前記ハンドルとの前記接触に関連する前記データが示すことに応答して、前記ユーザが前記外科医コンソールに関与していないと判定するようにさらに構成される、請求項１９に記載のロボット外科用システム。
【発明の詳細な説明】
【背景技術】
【０００１】
ロボット外科用システムは人気が高まっており、ロボット外科用システムを使用する際の人間工学および快適性は、オープンコンソールアーキテクチャを介して改善されている。外科医がロボット外科用システムを操作するために没入型ディスプレイ装置内に頭を入れる必要があるクローズドコンソールアーキテクチャとは対照的に、オープンコンソールアーキテクチャにより、外科医は、他の外科医および手術室のスタッフとのよりオープンな通信を維持しながら外科医コンソールを使用することができる。オープンコンソールアーキテクチャにより、外科医は、手術室内で発生するイベントをより認識しやすくなり、外科医を、外科的処置の過程で発生する可能性のある緊急事態に対処するためにより適切な位置に配置することもできる。
【０００２】
しかしながら、オープンコンソールアーキテクチャにより、外科医は、クローズドコンソールアーキテクチャを使用する場合よりも、外科医コンソールの関与に気を取られやすい可能性がある。したがって、オープンコンソールアーキテクチャを有するロボット外科用システムは、安全上のリスクを増大させる可能性がある。したがって、ロボット外科用システムとの関与による外科医の注意散漫に起因する安全上のリスクを軽減するためのシステム、デバイス、および方法が必要である。
【発明の概要】
【課題を解決するための手段】
【０００３】
一態様では、本開示は、ユーザ関与の監視を伴うロボット外科用システムについて説明する。ロボット外科用システムは、ロボットアセンブリと、外科医コンソールと、追跡デバイスと、を含む。ロボットアセンブリは、外科用器具に結合されたロボットアームを含む。外科医コンソールは、ハンドルと、ディスプレイデバイスと、を含む。ハンドルは、ロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つに通信可能に結合されている。追跡デバイスは、ユーザ位置基準点の画像を捕捉するように構成された画像捕捉デバイスを含む。外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、捕捉された画像に基づいて、ディスプレイデバイスに対するユーザ位置基準点の位置を計算することと、計算された位置に基づいて、ユーザが外科医コンソールに関与しているか、または関与していないかどうかを判定することと、ユーザが外科医コンソールに関与していないという判定に応答して、ロボット外科用システムをセーフモードで動作させることと、を行うように構成されている。
【０００４】
実施形態では、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ディスプレイデバイスに対する、３次元座標空間内の、ユーザ位置基準点の位置または配向のうちの少なくとも１つに対応する場所データを生成することによって、ユーザ位置基準点の位置を計算するようにさらに構成されている。
【０００５】
実施形態では、ユーザが外科医コンソールに関与しているか、または関与していないかどうかの判定において、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ディスプレイデバイスに対するユーザ位置基準点の位置および配向に基づいて、差角を計算することと、差角を第１の閾値角度と比較することと、差角が第１の閾値角度より大きいという判定に応答して、ユーザが外科医コンソールに関与していないと判定することと、を行うようにさらに構成されている。
【０００６】
実施形態では、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ディスプレイデバイスに対する、ユーザ位置基準点の位置および配向に基づいて、複数の第１の閾値角度から第１の閾値角度を選択するようにさらに構成されている。
【０００７】
実施形態では、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ユーザ位置基準点の位置および配向に基づいて、ディスプレイデバイスに対する、ユーザ位置基準点の移動の方向を計算することと、ユーザ位置基準点の移動の方向に基づいて、第１の閾値角度を選択することと、を行うようにさらに構成されている。
【０００８】
実施形態では、ユーザが外科医コンソールに関与しているか、または関与していないかどうかの判定において、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、差角が第１の閾値角度未満であるという判定に応答して、差角が第１の閾値角度よりも小さい第２の閾値角度未満であるかどうかを判定することと、差角が第２の閾値角度未満であるという判定に応答して、ユーザが外科医コンソールに関与していると判定することと、を行うようにさらに構成されている。
【０００９】
実施形態では、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ユーザが外科医コンソールに関与しているという判定に応答して、ロボット外科用システムをセーフモードから退出させるようにさらに構成されている。
【００１０】
実施形態では、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ロボット外科用システムがセーフモードで動作するとき、ユーザが外科医コンソールに関与しているという判定に応答して、ユーザが関与しているという判定の後、閾値量の時間の経過後、ロボット外科用システムをセーフモードから退出させるようにさらに構成されている。
【００１１】
実施形態では、ロボット外科用システムは、コンピューティングデバイスをさらに含む。外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ロボット外科用システムがセーフモードで動作するとき、ハンドルの以前の位置からのハンドルの移動を制限することと、ロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つの移動を制限するための命令を、コンピューティングデバイスに送信することと、を行うようにさらに構成されている。コンピューティングデバイスは、命令を受信することと、命令を、ロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つに送信することと、を行うように構成されている。ロボットアーム、ロボットアセンブリ、または外科用器具のうちの少なくとも１つは、命令を受信することと、命令に応答して、ロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つの移動を制限することと、を行うように構成されている。
【００１２】
実施形態では、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ロボット外科用システムがセーフモードで動作するとき、ハンドルの移動が、ハンドルに通信可能に結合されたロボットアームの対応する移動を引き起こすことを防止するようにさらに構成されている。
【００１３】
実施形態では、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ハンドルの移動の量を検出することと、ハンドルの移動の量に基づいて、ハンドルの移動に応答して引き起こされる、ロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つの移動の量を判定することと、ロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つを、判定された移動の量だけ移動させることと、を行うようにさらに構成されている。ロボット外科用システムがセーフモードで動作するとき、引き起こされるロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つの移動の量の判定は、下方スケーリング係数を適用することを含む。
【００１４】
実施形態では、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ハンドルの移動の速度を計算することと、速度に基づいて、下方スケーリング係数を変更することと、を行うようにさらに構成されている。
【００１５】
実施形態では、外科医コンソールは、ハンドルに対応する複数のモータを含み、モータの各々は、ハンドルに動作可能に結合されており、かつハンドルの移動方向に関連付けられている。ロボット外科用システムがセーフモードで動作するとき、外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ハンドルの移動の速度を計算することと、ハンドルの移動の方向を計算することと、ハンドルの移動の速度に基づいて、ハンドルの移動の方向とは反対方向の力を計算することと、ハンドルの複数のモータの中から、ハンドルの移動の方向とは反対の方向に関連付けられたモータを識別することと、ハンドルの移動の方向とは反対の方向に計算された力を生成するために、ハンドルの移動の方向とは反対の方向に識別されたモータを作動させることと、を行うようにさらに構成されている。
【００１６】
実施形態では、外科医コンソールは、複数のモータであって、ハンドルに動作可能に結合され、ハンドルの移動の複数の方向にそれぞれ関連付けられている、複数のモータをさらに含む。外科医コンソールまたは追跡デバイスのうちの少なくとも１つは、ユーザが外科医コンソールに関与していないという判定に応答して、ハンドルの第１の位置を識別することと、ハンドルの第１の位置からハンドルによって移動した距離を計算することと、ハンドルの移動の方向を計算することと、距離に基づいて、ハンドルの移動の方向とは反対方向の力を計算することと、ハンドルの複数のモータの中から、ハンドルの移動の方向とは反対の方向に関連付けられたモータを識別することと、ハンドルの移動の方向とは反対の方向に計算された力を生成するために、ハンドルの移動の方向とは反対の方向に識別されたモータを作動させることと、を行うようにさらに構成されている。
【００１７】
実施形態では、外科医コンソールは、ハンドルが第１の位置に配置されるまで、ハンドルの移動の方向と反対方向にモータを作動させるようにさらに構成されている。
【００１８】
実施形態では、ロボット外科用システムは、複数のマーカを含むアイウェアをさらに含み、ユーザ位置基準点は、複数のマーカのうちの少なくとも１つを含む。
【００１９】
実施形態では、ユーザ位置基準点は、ユーザの目、頭、または別の部分のうちの少なくとも１つを含む。
【００２０】
実施形態では、ディスプレイデバイスは、自動立体視ディスプレイデバイスである。
【００２１】
別の態様によれば、本開示は、ユーザ関与の監視を伴う別のロボット外科用システムについて説明する。ロボット外科用システムは、ロボットアセンブリおよび外科医コンソールを含む。ロボットアセンブリは、外科用器具に結合されたロボットアームを含む。外科医コンソールは、ロボットアセンブリ、ロボットアーム、または外科用器具のうちの少なくとも１つに通信可能に結合されたハンドルを含む。ハンドルは、容量センサまたは光学センサの少なくとも１つを含む。外科医コンソールは、容量センサまたは光学センサのうちの少なくとも１つから、ユーザによるハンドルとの接触に関するデータを受信することと、ハンドルとの接触に関連するデータに基づいて、ユーザが外科医コンソールに関与しているか、または関与していないかどうかを判定することと、ユーザが外科医コンソールに関与していないという判定に応答して、ロボット外科用システムをセーフモードで動作させることと、を行うように構成されている。
【００２２】
実施形態では、外科医コンソールは、ユーザが外科医コンソールに関与していないかどうかの判定において、ユーザがハンドルに接触していないことを、ハンドルとの接触に関連するデータが示すことに応答して、ユーザが外科医コンソールに関与していないと判定するようにさらに構成される。
【図面の簡単な説明】
【００２３】
本開示のロボット外科用システムおよび方法の様々な態様および特徴について、図面を参照して本明細書で以下に記載される。
【００２４】
【図１Ａ】本明細書の例示的な実施形態による例示的なロボット外科用システムを示す図である。
【図１Ｂ】図１のロボット外科用システムの例示的な光学追跡デバイスを示す図である。
【図１Ｃ】図１のロボット外科用システムの例示的な光学追跡デバイスを示す図である。
【図２Ａ】ユーザ関与を監視するために、図１のロボット外科用システムがどのように使用され得るかの例示的な態様を示す図である。
【図２Ｂ】ユーザ関与を監視するために、図１のロボット外科用システムがどのように使用され得るかの例示的な態様を示す図である。
【図２Ｃ】ユーザ関与を監視するために、図１のロボット外科用システムがどのように使用され得るかの例示的な態様を示す図である。
【図３】ユーザがその外科医コンソールに関与しているか、または関与していないかどうかに基づいて、図１のロボット外科用システムの動作モードを制御するための例示的な方法を示すフローチャートである。
【図４】ユーザが図１のロボット外科用システムの外科医コンソールに関与しているか、または関与していないかどうかを判定するための例示的な方法を示すフローチャートである。
【図５】ユーザが図１のロボット外科用システムの外科医コンソールに関与しているか、または関与していないかどうかを判定するための別の例示的な方法を示すフローチャートである。
【図６】１つ以上の安全な動作モードで図１のロボット外科用システムを動作させるための例示的な方法を示すフローチャートである。
【図７】図１のロボット外科用システムの１つ以上の安全な動作モードを終了するための例示的な方法を示すフローチャートである。
【発明を実施するための形態】
【００２５】
本開示は、外科的ロボット処置中のロボット外科用システムとの関与による外科医の注意散漫から生じる安全上のリスクを軽減するロボット外科用システム、デバイス、方法、およびコンピュータ可読媒体を対象とする。より具体的には、本開示は、ロボット外科用システムを使用しているユーザが関与していないことを識別し、ユーザが関与していないとき、ロボット外科用システムを１つ以上のセーフモードで動作させ、それにより、ユーザが患者を意図せずに傷つけるか、さもなければ注意散漫な間にロボット外科用システムを作動させることによって、外科的処置を危険にさらすリスクを軽減するためのシステムおよび方法に関する。本明細書に記載のシステムおよび方法は、外科医コンソールのディスプレイに対するユーザ位置を追跡し、追跡されたユーザ位置に基づいて、オープンコンソールアーキテクチャであっても、ユーザが外科医コンソールに関与していないかどうかを判定するための様々な技法を提供する。ユーザが外科医コンソールに関与していない場合、ロボット外科用システムは、１つ以上のセーフモードで操作される。本明細書に記載の技術、技法、および実施形態を利用して、ユーザは、ロボット手術を実行するためのより安全な動作環境を提供され、患者は、ロボット外科用システムを介して外科的治療を受けるためのより安全な環境を与えられる。
【００２６】
ここで本開示の実施形態が図面を参照して詳細に記載され、図面の中で同様の参照番号は、いくつかの図の各々において同一のまたは対応する要素を示す。本明細書で使用される場合、「ユーザ」および「臨床医」という用語は、医師、外科医、看護師、技術者、医療助手、または同様のサポート要員、または本明細書に記載のロボット外科用システムを使用できる任意の他の人物を指す。さらに、図面中および続く説明において、例えば、前側、後側、上側、下側、頂部、底部、および類似の方向性の用語などの用語は、単に説明の便宜のために使用されており、本開示を限定することを意図するものではない。以下の記載では、周知の機能または構成は、本開示を不必要に詳細に示して不明瞭にすることを避けるために、詳細には記載されていない。
【００２７】
図１Ａは、本明細書の例示的な実施形態による例示的なロボット外科用システム１００を示す。一般に、外科用システム１００は、ユーザが外科用システム１００の外科医コンソールに関与しているかどうかを判定することと、その判定に基づいて、１つ以上のセーフモード、および通常モードとも呼ばれる１つ以上の非セーフモードを含む、システムが動作するように構成されている様々な動作モードのうちの１つで動作することと、を行うように構成されている。図６に示され、以下で説明されるように、システム１００が動作するように構成されているセーフモードのタイプは、限定されないが、（１）外科用システム１００のハンドルおよびロボットアセンブリのロックに基づくセーフモード、（２）ハンドルの移動が対応するロボットアセンブリの移動を引き起こすことを防止することに基づくセーフモード、（３）ハンドルの移動の速度に基づくセーフモード、（４）ハンドルの速度に基づく対抗力に基づくセーフモード、および（５）位置ベースの対抗力に基づくセーフモードを含む。ユーザがロボット外科用システム１００に関与しているか、または関与していないかどうかを判定し、それに応答して、外科用システム１００を非セーフモードまたはセーフモードで動作させる追加の詳細が図２〜図７の文脈で本明細書に提供されている。図１Ａに示されるシステム１００の特定の数の構成要素、ならびにその配置および構成は、例示の目的のみのために提供され、限定するものとして解釈されないものとする。例えば、本明細書の様々な実施形態は、図１Ａに示される構成要素の全てよりも少ないかまたは多い構成要素を使用する。さらに、図１Ａに示されるシステム１００は、本明細書の様々な例示的実施形態が適用可能な例示的な文脈として提供される。
【００２８】
システム１００は、外科的処置中に患者１０４が横たわる手術台１０２、追跡デバイス１６０、外科的処置中にユーザが対話する外科医コンソール１７０、コンピューティングデバイス１８０、および１つ以上のロボットアセンブリ１９０を含む。追跡デバイス１６０、外科医コンソール１７０、およびコンピューティングデバイス１８０は、本明細書の様々な実施形態では、有線通信経路として、および／または無線通信経路として実施され得る通信経路１０６を介して、互いに、および１つ以上のロボットアセンブリ１９０に通信的に結合される。
【００２９】
１つ以上のロボットアセンブリ１９０の各々は、複数のサブユニット１９１、１９２、１９３、および１９４を含む。サブユニット１９１は、カートユニットであり、サブユニット１９２は、セットアップアームユニットであり、サブユニット１９３は、ロボットアームユニットであり、サブユニット１９４は、器具駆動ユニットである。サブユニット１９１、１９２、１９３、１９４は、互いに直接的または間接的に動作可能に結合され、１つ以上の通信経路（図１Ａには図示せず）を介して互いに直接的または間接的に通信可能に結合される。カートユニット１９１は、外科的処置を受けている患者１０４の範囲内で手術台１０２に隣接して配置され、手術台１０２または患者１０４の側面に沿って、手術台１０２または患者１０４に向かうまたは離れるように構成される。器具駆動ユニット１９４は、１つ以上の対応する外科用器具（図１Ａには図示せず）、および／または実行される特定の外科的処置に応じて、交換可能にそれに固定され得る画像捕捉デバイス（図１Ａには図示せず）に結合可能である。例示的なタイプの外科用器具は、限定されないが、プローブ、エンドエフェクタ、グラスパ、ナイフ、はさみなどを含む。限定されないが、例示的なタイプの画像捕捉デバイスは、内視鏡カメラ、腹腔鏡カメラ、任意のタイプの画像捕捉装置、または画像捕捉装置に結合された器具を含む。
【００３０】
コンピューティングデバイス１８０は、１つ以上のプロセッサ１１８および１つ以上のメモリユニット１２０を含み、１つ以上のプロセッサ１１８は、１つ以上のメモリユニット１２０に動作可能に結合される。様々な実施形態では、コンピューティングデバイス１８０は、外科医コンソール１７０と統合されてもよく、または手術室の内部または近くに配設されたコンピューティングタワーなどのスタンドアロンデバイスであってもよい。１つ以上のプロセッサ１１８は、本明細書に記載の技法または動作または命令を実施または実行するように適合される任意のタイプの好適なプロセッサであってもよい。１つ以上のメモリユニット１２０は、１つ以上のプロセッサ１１８によって実行される命令１３６（一例ではソフトウェア）などの命令を記憶し、本明細書に記載の技法は、１つ以上のメモリユニット１２０に記憶された命令を実行する１つ以上のプロセッサ１１８に応答して、コンピューティングデバイス１８０によって実施される。１つ以上のメモリユニット１２０は、機械命令、データなどを記憶するのに適した任意のタイプのハードウェアデバイスであってもよい。
【００３１】
外科医コンソール１７０は、通信リンク１３８、ディスプレイデバイス１２２、１つ以上のハンドル１１２Ａ、１１２Ｂ（集合的にハンドル１１２）、１つ以上のプロセッサ１３３、１つ以上のメモリユニット１３４、フットペダル１２８、およびハンドル１１２Ａ用のモータ１３２Ａおよびハンドル１１２Ｂ用のモータ１３２Ｂなど、ハンドル１１２が動くように構成されている方向に対応する少なくとも１つのモータを含む。ディスプレイデバイス１２２は、タッチディスプレイであってもよく、またはユーザのタッチを介して入力を受信するように構成されたタッチスクリーンを含んでいてもよい。いくつかの実施形態では、ディスプレイデバイス１２２は、限定されないが、セーフモードの設定およびユーザが外科医コンソール１７０に関与していないかどうかを判定する際に使用される閾値データを含む、外科用システム１００の様々な設定の入力を受信するように構成されているグラフィカルユーザインターフェース（ＧＵＩ）を表示するように構成されている。ディスプレイデバイス１２２は、ロボットアセンブリ１９０に結合された画像捕捉デバイスから患者１０４の上または内部の手術部位に関連する画像を含む、外科医コンソール１７０によって受信された画像を表示するように構成されていてもよい。いくつかの実施形態では、ディスプレイデバイス１２２は、２次元（２Ｄ）ディスプレイデバイスである。いくつかの実施形態では、ディスプレイデバイス１２２は、外科医コンソール１７０によって受信された１つ以上の立体画像を表示して、ユーザが１つ以上の立体画像を３次元（３Ｄ）画像として見ることができるように構成されている。いくつかの実施形態では、ディスプレイデバイス１２２は、自動立体視ディスプレイデバイスである。
【００３２】
ユーザは、外科的処置中にハンドル１１２を使用して外科医コンソール１７０と対話する。いくつかの実施形態では、ハンドル１１２Ａは左ハンドルであり、ハンドル１１２Ｂは右ハンドルであり、それぞれユーザの左手および右手によって操作される。ハンドル１１２Ａは、いくつかの実施形態では、様々な触覚部１２４Ａおよび／またはアクチュエータ１２６Ａを含み、これらは、操作、切断、またはそうでなければ、治療による組織抵抗、器具による組織への圧力、組織温度、組織インピーダンスなど、様々な組織パラメータまたは状態に関連するフィードバックをユーザに提供する。同様に、ハンドル１１２Ｂは、いくつかの実施形態では、触覚部１２４Ａおよび／またはアクチュエータ１２６Ａと同様に構成される様々な触覚部１２４Ｂおよび／またはアクチュエータ１２６Ｂを含む。触覚部１２４Ａおよび１２４Ｂは、本明細書では集合的に触覚部１２４と呼ばれる。アクチュエータ１２６Ａおよび１２６Ｂは、本明細書で集合的にアクチュエータ１２６と呼ばれる。理解できるように、そのような触覚部１２４は、実際の動作状態をシミュレートする強化された触覚フィードバックを外科医に提供する。触覚部１２４は、振動モータ、電気活性ポリマー、圧電デバイス、静電デバイス、亜音速音波表面作動デバイス、逆電気振動、またはユーザに触覚フィードバックを提供できる任意の他のデバイスを含んでもよい。上で言及されるように、ハンドル１１２はまた、例えば、実際の手術状態をシミュレートする外科医の能力をさらに高める繊細な組織操作および／または治療に用いられ得る、様々な異なるアクチュエータ１２６も含んでもよい。
【００３３】
外科医コンソール１７０は、ハンドル１１２に動作可能に結合された１つ以上のセンサ１３０Ａおよび１３０Ｂ（集合的に１３０）を含む。例えば、センサ１３０Ａは、ハンドル１１２Ａに動作可能に結合されてもよく、センサ１３０Ｂは、ハンドル１１２Ｂに動作可能に結合されてもよい。センサ１３０Ａおよび１３０Ｂの１つ以上は、それらが動作可能に結合されているハンドルの動きに関連するメトリックを判定するように構成され得る。ハンドル１１２の動きに関連するメトリックの例示的なタイプは、限定されないが、ハンドル１１２の移動の方向、ハンドル１１２の移動の速度、ハンドル１１２の移動の距離などを含む。いくつかの実施形態では、外科医コンソール１７０は、ハンドル１１２の動きに関連するメトリックデータを、コンピューティングデバイス１８０、および／またはロボットアセンブリ１９０など外科用システム１００のロボットアセンブリに送信する。センサ１３０Ａおよび１３０Ｂのうちの１つ以上は、容量センサおよび／または光学センサでもよく、外科医コンソール１７０は、センサ１３０Ａおよび１３０Ｂの容量センサおよび／または光学センサから受信されたデータに基づいて、ユーザがハンドル１１２Ａまたはハンドル１１２Ｂに接触しているかどうかを判定するように構成され得る。
【００３４】
ハンドル１１２の各々は、ハンドル１１２が移動するように構成されている移動の各方向について、少なくとも１つのモータに動作可能に結合され、関連付けられている。そのようなモータの例は、それぞれハンドル１１２Ａおよびハンドル１１２Ｂ用のモータ１３２Ａおよびモータ１３２Ｂ（集合的にモータ１３２）である。モータ１３２Ａの各モータは、ハンドル１１２Ａに動作可能に結合され、モータ１３２Ａの各モータは、ハンドル１１２Ａが動くように構成されている移動の方向に関連付けられている。同様に、モータ１３２Ｂの各モータは、ハンドル１１２Ｂに動作可能に結合され、モータ１３２Ｂの各モータは、ハンドル１１２Ｂが動くように構成される移動の方向に関連付けられている。方向に関連付けられたモータ１３２の各モータは、関連付けられた方向にハンドル１１２の移動を引き起こすために、関連付けられた方向に作動し、関連付けられた方向へのハンドル１１２の移動に抵抗するために、関連付けられた方向とは反対の方向に作動するように構成されている。例えば、ハンドル１１２Ａが左方向に動くように構成されている場合、モータ１３２Ａの少なくとも１つのモータが左方向に関連付けられている。ハンドル１１２Ａを左方向に動かすことが望ましい場合、外科医コンソール１７０は、ハンドル１１２Ａの左方向への移動を支援するために、左方向に対応する方向に、左方向に関連付けられたモータを作動させ、ハンドル１１２Ａの左方向への移動に抵抗することが望ましい場合、外科医コンソール１７０は、左方向へのハンドル１１２Ａの移動に抵抗するために、左方向に関連付けられたモータを、左方向とは反対の方向に対応する方向に作動させる。モータ１３２は、様々な速度で作動するように構成されている。
【００３５】
フットペダル１２８は、ユーザから外科医コンソール１７０への１つ以上の入力を受信するように構成されている。フットペダル１２８は、２つ以上の位置に配置されるように構成されており、フットペダル１２８の位置は、外科医コンソール１７０への入力に関連付けられている。フットペダル１２８の位置の選択は、外科医コンソール１７０への関連入力を提供する。いくつかの実施形態では、ユーザは、フットペダル１２８を使用して、外科用システム１００の１つ以上の構成要素に関連する設定および／または構成データを更新するための入力を提供する。外科医コンソール１７０は、フットペダル１２８を介して受信された入力に基づいて設定および／または構成データを更新し、更新された設定および／または構成データをコンピューティングデバイス１８０および／またはロボットアセンブリ１９０など１つ以上のロボットアセンブリに送信するように構成される。いくつかの実施形態では、フットペダル１２８の位置のうちの１つは、フットペダル１２８の休止位置になるように構成され、フットペダル１２８が休止位置にあるとき、フットペダル１２８が休止位置にあることを示す入力信号は、外科医コンソール１７０に送信される。いくつかの実施形態では、フットペダル１２８は瞬間的なフットペダルスイッチであり、外科医コンソール１７０への入力は、フットペダル１２８をダブルタップするなど、フットペダル１２８による一連のやり取りに基づいて送信される。外科医コンソール１７０は、フットペダル１２８を介して受信された入力を、コンピューティングデバイス１８０および／またはロボットアセンブリ１９０など、外科用システム１００のロボットアセンブリに送信する。
【００３６】
図１Ａは、追跡デバイス１６０および外科医コンソール１７０を、通信経路および通信リンク１３８、１６７を介して互いに通信可能に結合された別個の構成要素として示しているが、この構成は、単に例示的な例として提供されている。他の実施形態では、追跡デバイス１６０は、外科医コンソール１７０に統合される。したがって、追跡デバイス１６０および／または外科医コンソール１７０によって実行されるものとして本明細書に記載の機能は、様々な他の実施形態では、追跡デバイス１６０によって、外科医コンソール１７０によって、それらの任意の組み合わせによって、および／またはプロセッサ１３３または１６５、および／またはメモリ１３４または１６６など、それらの構成要素の任意の組み合わせによって実行されてもよい。
【００３７】
一実施形態では、追跡デバイス１６０は、１つ以上の画像捕捉デバイス１６１、１つ以上のプロセッサ１６５、１つ以上のメモリ１６６、および１つ以上の通信リンク１６７を含む。外科医コンソール１７０は、リアルタイムまたはほぼリアルタイムで、ユーザ位置基準点（例えば、ユーザまたはユーザが着用しているアイウェア１６３の一部）を識別し、追跡することと、ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかを判定することと、判定の結果に基づいて、外科用システム１００を非セーフモードまたはセーフモードで動作させることと、を行うように構成されている。本明細書で使用される場合、ユーザ位置基準点という用語は、一般に、外科医コンソール１７０が、ユーザに面するディスプレイデバイス１２２の前面によって画定される座標系などの基準座標系に対するユーザの位置および／もしくは配向を計算し、ならびに／または追跡する基礎として利用することができる、ユーザの少なくとも一部および／またはオブジェクト（眼鏡など）の少なくとも一部を指す。様々な実施形態では、ユーザ位置基準点は、ユーザもしくはオブジェクトの単一の部分を含んでもよく、またはユーザもしくはオブジェクトの複数の部分を含んでもよい。この文脈で本明細書で使用される場合、「ユーザの一部」という用語は、限定されないが、目、目内の瞳孔、頭、顔などを含む、ユーザの任意の解剖学的部分を指す。１つ以上の画像捕捉デバイス１６１の例示的なタイプは、図１Ｂに示される画像捕捉デバイス１６１ａおよび１６１ｂである。図１Ｂに示されるように、画像捕捉デバイス１６１ａおよび１６１ｂは、互いに離れて配置されている。外科医コンソール１７０は、画像捕捉デバイス１６１を動かして、１つ以上の期間にわたってユーザ部分基準点を追跡させるように構成されている。いくつかの実施形態では、１つ以上の画像捕捉デバイス１６１は、ハウジングユニット１６２などのハウジングユニット内に収容され、ハウジングユニット１６２は、外科医コンソール１７０内に含まれるか、または外科医コンソール１７０に取り付けられる。
【００３８】
いくつかの実施形態では、外科医コンソール１７０は、１つ以上の顔および／または特徴認識アルゴリズムにおいて訓練され、画像捕捉デバイス１６１によって捕捉された１つ以上の画像に１つ以上の顔および／または特徴認識アルゴリズムを適用することによって、ユーザの目、瞳孔、頭部、顔などを検出するように構成されている。いくつかの実施形態では、外科医コンソール１７０は、ユーザ位置基準点の光学追跡を実行するように構成され、１つ以上の画像捕捉デバイス１６１は、レンズの前に赤外線（ＩＲ）パスフィルタ（図１Ａ〜１Ｃには図示せず）を備え、レンズの周りにＩＲ発光ダイオード（ＬＥＤ）のリング（図１Ａ〜１Ｃには図示せず）を備える。ユーザ位置基準点を光学的に追跡する際、外科医コンソール１７０は、ＩＲ  ＬＥＤを使用してＩＲ光で所望の空間を定期的に照明し、１つ以上の画像捕捉デバイス１６１を使用して、ユーザの一部またはユーザが着用するアイウェア１６３などのオブジェクト上に配置されたマーカからのＩＲ光の反射を検出することによって、ユーザの位置基準点を識別し、追跡する。その上に配置された反射マーカであり得るマーカ１６４ａ、１６４ｂ、１６４ｃ、１６４ｄ、１６４ｅ（集合的に１６４）を含むアイウェア１６３の例示的なタイプが図１Ｃに示されている。
【００３９】
外科医コンソール１７０は、１つ以上のプロセッサ１３３と、１つ以上のメモリユニット１３４と、を含む。１つ以上のプロセッサ１３３は、１つ以上のメモリユニット１３４に動作可能に結合される。１つ以上のプロセッサ１３３は、本明細書に記載の技法または動作または命令を実施または実行するように適合される任意のタイプの好適なプロセッサであってもよい。１つ以上のメモリユニット１３４は、１つ以上のプロセッサ１３３によって実行される命令（図１Ａには図示せず）を記憶し、本明細書に記載の技法は、１つ以上のプロセッサ１３３が１つ以上のメモリユニット１３４に記憶された命令を実行することに応答して、外科医コンソール１７０によって実行されてもよい。１つ以上のメモリユニット１３４は、機械命令、データなどを記憶するのに適した任意のタイプのハードウェアデバイスであってもよい。
【００４０】
ロボットアセンブリ１９０のプロセッサ１１８、１３３、１６５およびプロセッサ（図１Ａには図示せず）（集合的に、外科用システム１００のプロセッサ）は、ファームウェア、メモリ、または他の記憶装置、またはそれらの組み合わせにおける命令に従って、本明細書に記載の技法を実行するようにプログラムされたハードウェアプロセッサであってもよい。同様に、外科用システム１００のプロセッサはまた、本明細書に記載された技法または操作を実行するように永続的にプログラムされている１つ以上の特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）であってもよい。外科用システム１００のプロセッサはまた、中央処理装置（ＣＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、マイクロプロセッサ、または本明細書に記載の操作または技法を実行するためにハードワイヤードロジックまたはプログラムロジック、またはその両方を組み込んだ任意の他のデバイスであってもよい。
【００４１】
ロボットアセンブリ１９０のメモリユニット１２０、１３４、１６６およびメモリユニット（図１Ａには図示せず）（集合的に、ロボット外科用システム１００のメモリユニット）は、ランダムアクセスメモリ（ＲＡＭ）（例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）など）などの揮発性メモリであってもよい。ロボット外科用システム１００のメモリユニットは、読み取り専用メモリ（ＲＯＭ）（例えば、プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、不揮発性ＲＡＭ（ＮＶＲＡＭなど））などの不揮発性メモリであってもよい。外科用システム１００のメモリユニットはまた、磁気、光学、または電気媒体であり得る。理解されるように、ロボット外科用システム１００の実装形態のプロセッサおよびメモリユニットは、例示のためだけに提供されており、限定的と解釈されないものとする。例えば、本開示のいずれかの実施形態の手順は、ハードウェアコンポーネント、ファームウェアコンポーネント、ソフトウェアコンポーネント、および／またはそれらの任意の組み合わせによって実装されてもよい。
【００４２】
次に図２Ａを参照すると、本明細書の１つ以上の実施形態による、ディスプレイデバイス１２２および１つ以上の画像捕捉デバイス１６１の例示的な配置が示されている。１つ以上の画像捕捉デバイス１６１は、画像捕捉デバイス１６１とディスプレイデバイス１２２との間の位置関係がわかるようにディスプレイデバイス１２２に位置的に固定され、外科医コンソール１７０、追跡デバイス１６０、および／またはコンピューティングデバイス１８０は、画像捕捉デバイス１６１とディスプレイデバイス１２２との間の位置関係に部分的に基づいて、ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかを判定するように構成されている。いくつかの実施形態では、画像捕捉デバイス１６１とディスプレイデバイス１２２との間の位置関係は、例えばユーザによって外科医コンソール１７０への入力として提供される。外科医コンソール１７０は、部屋の地面または床など、外科医コンソール１７０が配置される環境の固定位置に対するディスプレイデバイス１２２の配向に基づいて、１つ以上の画像捕捉デバイス１６１とディスプレイデバイス１２２との間の位置関係を計算するように構成され得る。
【００４３】
リアルタイムで１つ以上の期間にわたってユーザ位置基準点を追跡する際に、外科医コンソール１７０は、各期間におけるディスプレイデバイス１２２に対するユーザ位置基準点の位置を計算する。ディスプレイデバイス１２２に対するユーザ位置基準点の位置は、１つ以上の画像捕捉デバイス１６１とディスプレイデバイス１２２との間の位置関係に関するデータに部分的に基づいて計算される。ディスプレイデバイス１２２に対するユーザ位置基準点の位置を計算する際に、外科医コンソール１７０は、ユーザ位置基準点の位置および配向を計算する。ユーザ位置基準点の位置は、３次元座標空間、例えばｘ、ｙ、ｚ座標空間で計算され、ユーザ位置基準点の配向は、ユーザ位置基準点のロール、ピッチ、およびヨー角を計算することによって計算される。ユーザ位置基準点の位置および配向は、ディスプレイデバイス１２２に対して計算される。
【００４４】
ユーザ位置基準点の位置および配向を使用して、外科医コンソール１７０は、θΔ差角を計算する。本明細書で使用される場合、「差角」という用語は、ディスプレイデバイス１２２の前面に垂直または垂直な仮想線２０６と、（例えば、３つのマーカ１６４に対応する３つのユーザ位置基準点）追跡されているユーザ位置基準点によって形成される平面に垂直な仮想線２０７との間の角度である。そのような差角θΔの一例は、図２Ａにおける差角θΔ２０１として示されている。通常の仮想線２０７は、外科医が見ている方向と実質的に整合している。図２Ａ、図２Ｂ、図２Ｃの例では、ユーザは、マーカ１６４が配置されたアイウェア１６３を着用しており、そのうちの少なくとも３つのマーカ１６４は、ユーザ位置基準点を表し、外科医コンソール１７０は、ユーザ位置基準点の光学追跡を実行している。外科医コンソール１７０は、マーカ１６４によって形成される平面に垂直な仮想線２０７と、ディスプレイデバイス１２２の前面に垂直な仮想線２０６との間の相対的な角度を計算することによって、差角θΔ２０１を計算する。
【００４５】
ユーザの頭が動くと、マーカ１６４によって形成される平面に垂直な仮想線２０７の位置は、第１の位置（例えば、図２Ａに示される位置）から第２の位置（例えば、図２Ａまたは図２Ｂに示される位置）に変化し、それに応じて、図２Ｂおよび図２Ｃに示されるように、差角θΔ２０１変化する。外科医コンソール１７０は、ユーザの目のように、ユーザの特徴を検出することによって、ユーザ位置基準点を追跡している実施形態では、外科医コンソール１７０は、ユーザの検出された特徴に垂直であり、ディスプレイデバイス１２２の前面に垂直な仮想線２０６の位置、および２つの仮想線の計算された位置の間の角度を計算することによって、差角θΔ２０１を計算する（図２Ａ〜２Ｃには図示せず）。検出された特徴は、ディスプレイデバイス１２２に対して移動すると、検出された特徴に対して垂直な仮想線の位置が変化し、それに応じて差角θΔ２０１が変化する。
【００４６】
外科医コンソール１７０は、差角θΔ２０１に部分的に基づいて、ユーザが外科医コンソールに関与しているか、または関与していないかどうかを判定するように構成されている。ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかに関する外科医コンソール１７０による判定の追加の詳細は、図３、図４、および図５の文脈で本明細書に提供されている。
【００４７】
図３は、本明細書の例示的な実施形態による、ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかに基づいて、ロボット外科用システム１００の動作モードを制御するための方法を示す。ステップ３０２において、外科医コンソール１７０は、セーフモードまたは通常モード（セーフモード以外の任意のモード）など、外科医コンソール１７０が現在動作しているモードを判定する。外科医コンソール１７０が、外科医コンソール１７０が現在通常モードで動作していると判定した場合（ステップ３０２において「通常モード」）、処理はブロック３０４に進む。ブロック３０４において、外科医コンソール１７０は、ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかを判定する。外科医コンソール１７０がステップ３０４で判定を行う方法の例示的な態様は、図４および図５に関連して以下に提供される。一般に、外科医コンソール１７０は、ユーザの頭または目の位置（例えば、ディスプレイデバイス１２２に対する）、手の位置（例えば、ハンドルとの接触１１２）、またはそれらの任意の組み合わせを追跡することによって、ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかを判定してもよい。外科医コンソール１７０が、ユーザが外科医コンソール１７０に関与している（ブロック３０４において「関与」）と判定した場合、処理はブロック３０６に進み、外科医コンソール１７０は、通常モードで動作し続ける。外科医コンソール１７０が、ユーザが外科医コンソール１７０に関与していないと判定した場合（ブロック３０４において「関与していない」）、処理はブロック３０８に進み、外科医コンソール１７０は、通常モードでの動作を停止し、セーフモード（以下で説明されるセーフモードなど）で動作を開始する。処理は、ステップ３０６および３０８の各々から、以下で説明されるステップ３１６に進む。
【００４８】
再びステップ３０２を参照すると、外科医コンソール１７０が現在セーフモードで動作していると外科医コンソール１７０が判定した場合（ステップ３０２において「セーフモード」）、処理はブロック３１０に進む。ブロック３１０において、外科医コンソール１７０は、ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかを判定する。外科医コンソール１７０がステップ３０４でどのように判定を行うかの例示的な態様は、図４および図５に関連して以下に提供される。ユーザが外科医コンソール１７０に関与していないと外科医コンソール１７０が判定した場合（ブロック３１０において「関与していない」）、処理はブロック３１２に進み、外科医コンソール１７０は、セーフモードで動作し続ける。ユーザが外科医コンソール１７０に関与していると外科医コンソール１７０が判定した場合（ブロック３１０において「関与している」）、処理はブロック３１４に進み、外科医コンソール１７０は、セーフモードでの動作を停止し、通常モードで動作を開始する。ステップ３１２および３１４の各々から、処理はステップ３１６に進む。
【００４９】
ステップ３１６において、外科医コンソール１７０は、例えば、ユーザが外科医コンソール１７０をシャットダウンするコマンドを入力したかどうかを判定することによって、外科医コンソール１７０の動作を終了するかどうかを判定する。外科医コンソール１７０の動作が終了されるべきであると外科医コンソール１７０が判定した場合（３１６において「はい」）、外科医コンソール１７０は、非アクティブ状態（例えば、パワーダウン状態またはスリープ状態）に入り、方法３００は終了する。外科医コンソール１７０の動作が終了されないと外科医コンソール１７０が判定した場合（３１６において「いいえ」）、処理は、上で説明されるようにステップ３０２に戻る。
【００５０】
図４は、ユーザが図１のロボット外科用システム１００の外科医コンソール１７０に関与しているか、または関与していないかどうかを判定するための例示的な方法を示すフローチャートである。ステップ４０２において、外科医コンソール１７０は、様々な方法のうちの１つでユーザ位置基準点を検出する。例えば、ユーザ位置基準点がユーザの一部（頭、目など）である一実施形態では、外科医コンソール１７０は、画像捕捉デバイス１６１を介して、ユーザの一部を含む画像を捕捉し、捕捉された画像に対して１つ以上の既知の画像認識アルゴリズムを実行することによって、ユーザ位置基準点を検出してもよい。ユーザ位置基準点が、ユーザによって着用されたアイウェア１６３の一部である一実施形態（マーカ１６４のうちの３つに対応する１つ以上のユーザ位置基準点など）では、外科医コンソール１７０は、画像捕捉デバイス１６１を介してマーカ１６４を含む画像を捕捉し、捕捉された画像に対して１つ以上の画像認識アルゴリズムを実行することによって、ユーザ位置基準点を検出してもよい。
【００５１】
ステップ４０４において、外科医コンソール１７０は、ディスプレイデバイス１２２に対する検出されたユーザ位置基準点の位置を計算する。ステップ４０６において、外科医コンソール１７０は、ディスプレイデバイス１２２に対する検出されたユーザ位置基準点の配向を計算する。画像捕捉デバイス１６１がＩＲパスフィルタおよびＩＲ  ＬＥＤを備え、外科医コンソール１７０が光学追跡を実行するように構成される実施形態では、外科医コンソール１７０は、ディスプレイデバイス１２２に対する１つ以上のマーカの位置および配向を計算し、１つ以上のマーカの位置および配向に基づいて、ユーザ位置基準点および／またはユーザの一部の位置および配向を計算する。
【００５２】
ステップ４０８において、外科医コンソール１７０は、それぞれ、ステップ４０４および４０６において計算されたユーザ位置基準点の位置および配向に基づいて、差角θΔ２０１を計算する。上で説明されるように、差角θΔ２０１を計算する際、外科医コンソール１７０は、ユーザ位置基準点によって画定される平面に垂直な仮想線の位置、およびディスプレイデバイス１２２の前面に垂直な仮想線の位置を計算し、位置間の角度θΔ２０１を差角として計算する。ステップ４１０において、外科医コンソール１７０は、ステップ４０４および４０６でそれぞれ計算されたユーザ位置基準点の位置および配向に基づいて、ユーザ位置基準点の移動方向を計算する。いくつかの実施形態では、外科医コンソール１７０は、現在の時間インスタンスにおけるユーザ位置基準点の位置および配向を以前の時間インスタンスの位置および配向と比較することによって、ユーザ位置基準点の移動方向を計算する。
【００５３】
ステップ４１２において、外科医コンソール１７０は、ユーザの一部の移動の方向に基づいて、第１の閾値角度θｔ１を選択する（例えば、図２Ｂおよび図２Ｃを参照して、上方向ではθｔ１ｕ２０２、下方向ではθｔ１ｄ２０４）。ユーザ位置基準点の可能な各移動方向、またはユーザ位置基準点の可能な移動方向の少なくともサブセットは、閾値角度に関連付けられ、閾値角度とユーザ位置基準点の移動方向との間の関連付けは、メモリユニット１３４のうちの１つなど、外科医コンソール１７０の記憶ユニットに記憶されているルールのセット、または外科医コンソール１７０に動作可能に結合された記憶デバイスにおいて指定される。例えば、上、下、左、右など、移動の各基本的方向が第１の閾値角度に関連付けられている場合、ルールのセットは、上、下、左、右の各々ついて対応する第１の閾値角度θｔ１を指定し、外科医コンソール１７０は、ルールのセットを使用して、ユーザ位置基準点の計算された移動方向に対応する第１の閾値角度を選択する。
【００５４】
いくつかの実施形態では、１つの移動方向に関連付けられた閾値角度は、別の移動方向に関連付けられた閾値角度とは異なるサイズのものである。例えば、下への移動方向に関連付けられた閾値角度（例えば、図２Ｃを参照して、θｔ１ｄ２０４）は、右への移動方向（図２Ｃには図示せず）に関連付けられた閾値角度よりも大きくてもよい。特定の移動方向の閾値角度のサイズは、外科用システム１００の構成要素がその方向に配置されているかどうか、およびその構成要素のディスプレイデバイス１２２からの距離に部分的に基づいている。例えば、フットペダル１２８がディスプレイデバイス１２２の下に配置されている場合、下方向の閾値角度のサイズは、そのユーザを、外科医コンソール１７０から離れたユーザとして識別することなく、フットペダル１２８を見ているユーザに対応するのに十分大きいものとする。いくつかの実施形態では、特定の移動方向の閾値角度のサイズは、外科医コンソール１７０のユーザがその方向で外科用システム１００の構成要素と対話する可能性に依存する。例えば、第２のディスプレイデバイスがディスプレイデバイス１２２の右側に配置されているが、第２のディスプレイデバイスが外科医コンソール１７０のユーザにいかなる有用な情報も提供しない場合、ユーザは、外科医コンソール１７０への関与を依然として意図している間、第２のディスプレイデバイスを見る可能性は低い。したがって、第２のディスプレイデバイスが配置される方向、この例では右方向に関連付けられた閾値角度は、第２のディスプレイデバイスを見ているユーザに対応するのに十分な大きさであるものとする。しかしながら、第２のディスプレイデバイスがユーザに有用な情報を提供する、またはユーザが対話する場合、ユーザは、第２のディスプレイデバイスを見る可能性が高く、その方向の閾値角度のサイズは、第２のディスプレイデバイスを見ているユーザに対応するのに十分な大きさであるものとする。
【００５５】
いくつかの実施形態では、外科医コンソール１７０は、ディスプレイデバイス１２２に面しているユーザに対して、外科医コンソール１７０に動作可能かつ通信可能に結合されている追加の構成要素の位置および配向を識別し、追加の構成要素の位置および配向に基づいて、その方向に関連付けられた閾値角度を増加させるように構成される。例えば、デフォルト数のディスプレイデバイスに加えて、ディスプレイデバイスが、外科医コンソール１７０に面しているユーザの右側に、外科医コンソール１７０に動作可能かつ通信可能に結合される場合、外科医コンソール１７０は、ディスプレイデバイス１２２に面している、または外科医コンソール１７０を使用しているユーザに対する追加のディスプレイデバイスの位置および配向に基づいて、ユーザの右方向に関連付けられた閾値角度を増加させる。いくつかの実施形態では、外科医コンソール１７０に動作可能かつ通信可能に結合される追加の構成要素の位置および配向は、入力として外科医コンソール１７０に提供され、外科医コンソール１７０は、追加の構成要素が配置されている外科医コンソール１７０のユーザに対する方向を判定し、その方向に関連付けられた閾値角度のサイズの増加を計算し、計算されたサイズの増加によってその閾値角度を増加させる。
【００５６】
したがって、移動の異なる方向に対して異なる閾値角度を指定することにより、外科医コンソール１７０は、ユーザが外科医コンソール１７０に関与しているとき、ユーザが外科医コンソール１７０に関与していないと誤って識別する可能性を低減する。そのような誤った識別を低減させることは、外科用システム１００がセーフモードで開始および動作することを誤って引き起こすことをさらに減少させ、外科用システム１００の全体的な効率を改善する。
【００５７】
いくつかの実施形態では、移動の各方向はまた、第２の閾値角度θｔ２に関連付けられており（例えば、図２Ｂおよび図２Ｃを参照して、上方向ではθｔ２ｕ２０３、下方向ではθｔ２ｄ２０５）、第１の閾値角度θｔ１よりも小さく（例えば、上方向ではθｔ１ｕ２０２、下方向ではθｔ１ｄ２０４）、ルールのセットは、移動の各方向について関連付けられた第２の閾値角度θｔ２を指定する。そのような実施形態では、ステップ４１４において、外科医コンソール１７０は、ルールのセットを使用して、ステップ４１０で計算されたユーザ位置基準点の移動の方向に対応して第２の閾値角度θｔ２を選択する。第２の閾値角度θｔ２は、外科医コンソール１７０に関与していないと識別されたユーザが外科医コンソール１７０に再度関与するかどうかを判定するために使用される。第１の閾値角度θｔ１よりも小さな第２の閾値角度θｔ２を提供することによって、外科用システム１００は、外科用システム１００がセーフモードで動作するのと非セーフモードで動作するのとの間に迅速に揺動することを防止するバッファを作成する。
【００５８】
ステップ４１６において、外科医コンソール１７０は、それぞれステップ４０４および４０６において計算されたユーザ位置基準点の位置および配向に基づいて、ステップ４０８で計算された差角θΔ２０１が第１の閾値角度θｔ１よりも大きいことを比較する。差角θΔ２０１が第１の閾値角度θｔ１よりも大きいと外科医コンソール１７０が判定した場合（ステップ４１６において「θΔ＞θｔ１」）、ステップ４１８において、外科医コンソール１７０は、ユーザが関与していないと判定する。いくつかの実施形態では、図３のステップ３０８および／または３１２に関連して上で説明されるように、外科医コンソール１７０は、ユーザが関与していないと識別したことに応答して、例えば、選択されたセーフモードに関連付けられたステップを開始し、処理することによって、外科用システム１００に、選択されたセーフモードで動作させる。
【００５９】
いくつかの実施形態では、外科医コンソール１７０は、メモリユニット１３４または外科医コンソール１７０に動作可能に結合された記憶デバイスに記憶されたインジケータで構成され、その値は、外科用システム１００がセーフモードで動作しているか、非セーフモードで動作しているかを示し、本明細書では「セーフモードインジケータ」と呼ばれ、外科医コンソール１７０は、セーフモードインジケータの値に少なくとも部分的に基づいて、外科用システム１００がセーフモードで動作しているかどうかを判定する。外科医コンソール１７０は、外科用システム１００がセーフモードで動作させられるとき、またはユーザが外科医コンソール１７０に関与していないと識別されたとき、外科用システム１００がセーフモードで動作していることを示すために、セーフモードインジケータの値を更新するように構成されている。セーフモードインジケータの例は、限定されないが、フラグ変数を含み、その値は、例えば、フラグ変数の値を、外科用システム１００がセーフモードで動作していることを示すには１（１）に、外科用システム１００が非セーフモードで動作していることを示すにはゼロ（０）に設定することにより、外科用システム１００がセーフモードで動作しているかどうかを示すために、外科医コンソール１７０が更新する。
【００６０】
いくつかの実施形態では、外科医コンソール１７０は、例えば、外科医コンソール１７０に動作可能に結合されたメモリユニット１３４または記憶デバイスなど、外科医コンソール１７０のメモリユニットに記憶されたルールのセットに指定されたデフォルトのセーフモードを選択するように構成されている。いくつかの実施形態では、各々がランキングに関連付けられている複数のセーフモードのリストは、外科医コンソール１７０に動作可能に結合された１つ以上のメモリユニット１３４または記憶デバイスに記憶され、外科医コンソール１７０は、セーフモードに関連付けられたランキングに基づく複数のセーフモードのリストから選択するように構成されている。いくつかの実施形態では、外科医コンソール１７０は、外科用システム１００が動作するように構成され、ユーザがセーフモードを選択し、その選択をＧＵＩを使用して外科医コンソール１７０への入力として提供する様々なセーフモードのリストを提示するＧＵＩを提供する。外科用システム１００が動作するように構成されているいくつかのセーフモードの追加の詳細は、図６および図７の文脈で本明細書に提供されている。
【００６１】
ステップ４１６において、差角θΔ２０１が第１の閾値角度θｔ１以下である（ステップ４１６において「θΔ≦θｔ１」）と外科医コンソール１７０が判定した場合、第２の閾値角度θｔ２が移動の方向に関連付けられ、第２の閾値角度θｔ２が選択される実施形態では、外科医コンソール１７０はステップ４２０に進む。ステップ４２０において、外科医コンソール１７０は、差角θΔを第２の閾値角度θｔ２と比較する。差角Δθが第２の閾値角度θｔ２未満であると外科医コンソールが判定した場合（ステップ４２０において「θΔ＜θｔ２」）、ステップ４２２において、外科医コンソール１７０は、ユーザが関与していると判定する。実施形態では、外科医コンソール１７０は、ユーザが関与しているかどうかを判定するために、ユーザのＸＹＺ位置をさらに判定し得る（すなわち、外科医コンソール１７０に対する３次元空間内のユーザの頭、顔、または３Ｄグラスの位置を判定する）。例えば、外科医コンソール１７０に対するユーザのＸＹＺ位置を判定することにより、外科医コンソール１７０は、ユーザが外科医コンソールから遠すぎるかどうかを判定し、そのことを示す通知を提供することができる。加えて、複数の個人が外科医コンソール１７０の所定の距離内にある実施形態では、外科医コンソール１７０は、正しい個人（すなわち、ユーザ）が追跡され、ユーザの後ろに立っている別の個人が、外科医コンソール１７０に関与していると判定されないことを確実にすることができる。
【００６２】
差角θΔが第２の閾値角度θｔ２以下である（ステップ４２０において「θΔ≧θｔ２」）と外科医コンソール１７０が判定した場合、ステップ４２４において、外科医コンソール１７０は、外科用システム１００がセーフモードで動作しているかどうかを判定する。いくつかの実施形態では、外科医コンソール１７０は、ユーザの変位が所定の閾値よりも大きいかどうかをさらに判定してもよい。加えて、または代替的に、外科医コンソール１７０は、変位勾配を判定してもよい。変位勾配および／または変位が所定の閾値よりも大きいかどうかを判定することにより、外科医コンソール１７０は、外科医コンソール１７０の関与ゾーンに複数の個人が存在し、ユーザ以外の個人の移動が誤ってユーザに帰属される、またはトラッカがあるユーザから別のユーザにジャンプする場合のように、あまりにも短い期間に変位が大きすぎるかどうかを判定してもよい。変位が所定の閾値よりも大きいと判定された場合、または変位勾配が、トラッカが個人間でジャンプした可能性があることを示す場合、セーフモードがアクティブ化され得る。外科用システム１００がセーフモードで動作していると外科医コンソール１７０が判定した場合（ステップ４２４において「はい」）、ステップ４１８において、外科医コンソール１７０は、ユーザが外科医コンソール１７０に関与していないと識別する。外科用システム１００がセーフモードで動作していないと外科医コンソール１７０が判定した場合（ステップ４２４において「いいえ」）、ステップ４２２において、外科医コンソール１７０は、ユーザが外科医コンソール１７０と関与している（または、場合によっては、再度関与している）と識別する。図３のステップ３０６および／または３１４に関連して上で説明されるように、外科医コンソール１７０は、ユーザが関与していると識別したことに応答して、例えば、通常モードに関連付けられたステップを開始し、処理することによって、外科用システム１００に、通常の（非セーフ）モードで動作させる。いくつかの実施形態では、ステップ４２０において、外科医コンソール１７０は、ユーザが外科医コンソール１７０に再度関与していると識別する前に、閾値時間待機するように構成されている。外科医コンソール１７０がセーフモードインジケータで構成されている実施形態では、外科医コンソール１７０は、ユーザが外科医コンソール１７０に再度関与または関与していると識別された時点で、または外科医システム１００がセーフモードから退出する時点で、外科医システム１００がセーフモードで動作していないことを示すために、セーフモードインジケータの値を更新する。
【００６３】
図５は、外科医コンソール１７０のユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかを判定する別の例示的な方法５００を示す。様々な実施形態では、外科医コンソール１７０は、方法３００（図３）および／または方法４００（図４）を個々に、または相互に組み合わせて使用することにより、ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかを判定するように構成されてもよい。
【００６４】
ステップ５０２において、外科医コンソール１７０のプロセッサ１３３は、ユーザが外科医コンソール１７０の１つ以上のハンドル１１２に接触しているかどうかを示す１つ以上のセンサ１３０からデータを取得する。ステップ５０４において、外科医コンソール１７０は、ステップ５０２で取得されたデータに基づいて、ユーザがハンドル１１２に接触しているかどうかを判定する。特に、例えば、外科医コンソール１７０は、ステップ５０４において、ハンドル１１２Ａに結合され、ハンドル１１２Ａとのユーザの接触を識別するように構成された容量センサおよび／または光学センサなど、１つ以上のセンサ１３０Ａからの出力に基づいて、ユーザがハンドル１１２Ａに接触しているかどうかを判定してもよい。そのようなセンサ１３０Ａからの例示的なタイプの出力は、限定されないが、ユーザがセンサに結合されたハンドル１１２Ａに接触しているときの高信号または１（１）、およびユーザがハンドル１１２Ａに接触していないときの低信号またはゼロ（０）を含む。例えば、センサ１３０Ａは、ユーザがハンドル１１２Ａに接触しているときに高信号または１（１）を外科医コンソール１７０のプロセッサ１３３に送信し、ユーザがハンドル１１２Ａに接触していないときに低信号またはゼロ（０）を送信するように構成された容量センサであり、外科医コンソール１７０は、プロセッサ１３３によって容量センサ１３０Ａから高信号または１が受信された場合、ユーザがハンドル１１２Ａに接触していると判定し、プロセッサ１３３によって容量センサ１３０Ａから低信号またはゼロ（０）が受信された場合、ユーザはハンドル１１２Ａに接触していないと判定する。いくつかの実施形態では、外科医コンソール１７０は、ユーザが同時にハンドル１１２の大部分に接触している場合、ユーザが外科医コンソール１７０に接触していると判定する。例えば、外科医コンソール１７０が３つのハンドル１１２を含み、ユーザがハンドル１１２の大部分に接触している場合、ユーザが外科医コンソール１７０に接触していると外科医コンソールが判定するように構成されている場合、外科医コンソール１７０は、ユーザが少なくとも２つのハンドル１１２と同時に接触している場合、ユーザは外科医コンソール１７０に接触していること判定する。同様に、外科医コンソール１７０が２つのハンドル１１２を含む場合、外科医コンソール１７０は、ユーザが外科医コンソール１７０のハンドル１１２の大部分であるハンドル１１２の両方に接触している場合、ユーザが外科医コンソール１７０に接触していると判定する。
【００６５】
ステップ５０６において、ユーザが外科医コンソール１７０に接触していないと外科医コンソール１７０が判定した場合（ステップ５０６において「いいえ」）、ステップ５１０において、外科医コンソール１７０は、ユーザを外科医コンソール１７０に関与していないと識別する。ステップ５０６において、ユーザが外科医コンソール１７０に接触していると外科医コンソール１７０が判定した場合（ステップ５０６において「はい」）、ステップ５０８において、外科医コンソール１７０は、ユーザが外科医コンソール１７０に再度関与していると識別する。
【００６６】
上で説明されるように、外科用システム１００は、個々に、または任意の組み合わせで、１つ以上のセーフモードで動作するように構成され、これらのセーフモードの追加の詳細が、図６および図７の文脈で本明細書に提供されている。特に、図６および図７は、（１）クラッチングセーフモード、（２）ロックセーフモード、（３）スケーリング係数セーフモード、（４）ハンドル速度に基づく対抗力セーフモード、および（５）ハンドル位置に基づく対抗力セーフモードの５つの例示的な安全な動作モードのうちの１つ以上で図１のロボット外科用システム１００を動作させるための例示的な方法６００を示すフローチャートを示す。いくつかの実施形態では、外科用システム１００は、ユーザが外科医コンソール１７０に関与しているか、または関与していないかどうかに関する判定（例えば、図３のステップ３０４および／または３１０、図４の方法４００、および／または図５の方法５００を参照）に基づいて、方法６００に従ってセーフモードのうちの１つ以上に入る（例えば、図３のステップ３０８を参照）、またはそこに留まる（例えば、図３のステップ３１２を参照）ように構成されている。次に図６を参照すると、ステップ６０２において、外科医コンソール１７０は、例えば、上記のセーフモードインジケータの値に基づいて、入るべき、または留まるべきセーフモードを判定する。いくつかのセーフモードは、ロボットアセンブリ１９０またはそのサブユニット１９１、１９２、１９３、および１９４のうちの１つを制御する文脈で本明細書に記載されているが、様々な実施形態では、セーフモードは、複数のロボットアセンブリ１９０および／またはそのサブユニット１９１、１９２、１９３、および１９４を同時に制御することを含む。
【００６７】
外科医コンソール１７０が、クラッチングセーフモードに入る、またはそこに留まると判定した場合（ステップ６０２の「クラッチング」）、処理はステップ６０４に進む。外科用システム１００が非セーフモードで動作している間、外科医コンソール１７０は、外科医コンソール１７０のハンドル１１２の移動に関連するデータを、ハンドル１１２に通信可能に結合されたロボットアセンブリ１９０のサブユニット１９１、１９２、１９３、および１９４のうちの１つ以上に送信することにより、ロボットアセンブリ１９０のサブユニット１９１、１９２、１９３、および１９４のうちの１つ以上を移動させ、ハンドル１１２の移動に関連するデータを受信したサブユニット１９１、１９２、１９３、１９４のうちの１つ以上は、受信されたデータに部分的に基づいて移動する。
【００６８】
ステップ６０４において、外科用システム１００がクラッチングセーフモードで動作している間、外科医コンソール１７０の各ハンドル１１２について、外科医コンソール１７０は、例えば、サブユニット１９１、１９２、１９３、および／または１９４へのハンドル１１２の移動に関連したデータの送信を防止することによって、ハンドル１１２の移動が、そのハンドル１１２に通信可能に結合されたロボットアセンブリ１９０のサブユニット１９１、１９２、１９３、および１９４のうちの１つ以上の対応する移動を引き起こすことを防止する。いくつかの実施形態では、外科医コンソール１７０は、メモリユニット１３４または外科医コンソール１７０に動作可能に結合された記憶デバイスに記憶されたインジケータで構成され、その値は、クラッチングセーフモードが有効か無効かを示し、本明細書では「クラッチングセーフモードインジケータ」と呼ばれ、外科医コンソール１７０は、移動変換インジケータの値に部分的に基づいて、ハンドル１１２の移動に関連するデータを送信するかどうかを判定する。クラッチングセーフモードが無効であることを示すクラッチングセーフモードインジケータの値の例は、１（１）または１のシーケンス（「１１１１１」など）であり、クラッチングセーフモードが有効であることを示すクラッチングセーフモードインジケータの値の例は、ゼロ（０）またはゼロのシーケンス（例えば、「０００００」）である。いくつかの実施形態では、クラッチングセーフモードインジケータの値の各ビットは、外科医コンソール１７０のハンドル１１２に関連付けられ、外科医コンソール１７０は、特定のハンドル１１２の移動データを、そのハンドル１１２に関連付けられたビットの値に部分的に基づいて、送信するかどうかを判定する。例えば、値のゼロ番目のビットは、ハンドル１１２Ａに関連付けられ、値の第１のビットは、ハンドル１１２Ｂに関連付けられ、外科医コンソール１７０は、ゼロ番目のビットが高い（１）か低い（０）かに基づいて、ハンドル１１２Ａの移動に関連するデータを送信するかどうかを判定し、外科医コンソール１７０は、第１のビットが高いか低いかに基づいて、ハンドル１１２Ｂの移動に関連するデータを送信するかどうかを判定する。
【００６９】
外科医コンソール１７０は、ハンドル１１２の移動から通信可能に結合されたロボットアームの移動への移動の変換が無効であるときにクラッチングセーフモードが有効であることを示すために、クラッチングセーフモードインジケータの値を更新するように構成されている。ステップ６０４から、処理はステップ６０６に進み、そこで、外科医コンソール１７０は、外科医コンソール１７０がセーフモード（この場合、クラッチングセーフモードであることを示すアラートをユーザに提供する。ステップ６０６で提供され得るアラートの例は、限定されないが、上記のアラートと同様に、視覚的および／または聴覚的アラートを含む。
【００７０】
再びステップ６０２を参照すると、外科医コンソール１７０がロッキングセーフモードに入る、またはそこに留まると判定した場合（ステップ６０２において「ロッキング」）、処理はステップ６０８に進む。ステップ６０８において、外科医コンソール１７０は、外科医コンソール１７０の各ハンドル１１２をその位置にロックし、ハンドル１１２のそれらの位置からの移動を防止する。いくつかの実施形態では、外科医コンソール１７０は、ハンドル１１２をロックするときに各ハンドル１１２の位置を識別し、ハンドル１１２の位置に関連するデータを外科医コンソール１７０のメモリユニット１３４、または外科医コンソール１７０に動作可能に結合された記憶デバイスに記憶する。いくつかの実施形態では、外科医コンソール１７０は、モータ１３２Ａおよび１３２Ｂなど、ハンドル１１２のモータおよびアクチュエータの移動を防止することによって、ハンドル１１２をそれらの位置にロックする。例えば、外科医コンソール１７０は、モータにサーボをかける、またはトルクを加えて、ハンドル１１２を格納位置に戻し、ロックされている各サブユニット１９１、１９２、１９３、１９４が格納位置を維持するようにすることができる。ステップ６１０において、外科医コンソール１７０は、ロック命令をサブユニット１９１、１９２、１９３、１９４の各々に送信することによって、ハンドル１１２に通信可能に結合されたサブユニット１９１、１９２、１９３、１９４の各々をその位置にロックさせる。上で説明されるように、外科医コンソール１７０は、コンピューティングデバイス１８０を介してロボットアセンブリ１９０に通信可能に結合され、外科医コンソール１７０は、サブユニット１９１、１９２、１９３、１９４をロックするための命令を、コンピューティングデバイス１８０に送信し、その命令をロボットアセンブリ１９０に送信することによって、ロボットアセンブリ１９０に送信する。いくつかの実施形態では、外科医コンソール１７０は、外科用システム１００の各ロボットアセンブリ１９０に直接通信可能に結合され、外科医コンソール１７０は、ロボットアームをそれらの位置にロックするための命令を、ハンドル１１２に通信可能に結合されたロボットアームのロボットアセンブリ１９０に直接送信する。命令を受信する各ロボットアセンブリは、命令の受信に応答して、そのロボットアームを所定の位置にロックする。
【００７１】
ステップ６１０から、処理はステップ６０６に進み、そこで、外科医コンソール１７０は、セーフモード（この例ではロッキングセーフモード）がアクティブ化されていることを示すアラートをユーザに提供する。いくつかの実施形態では、外科医コンソール１７０は、ハンドル１１２および通信可能に結合されたロボットアームがロックされていることを示す視覚的アラートを提供する。視覚的アラートの一例は、限定されないが、ディスプレイデバイス１２２など、外科医コンソール１７０の１つ以上のディスプレイデバイスに表示されるグラフィカルアイテムを含む。視覚的アラートの別の例は、ハンドル１１２および通信可能に結合されたロボットアームがロックされているときに電源が投入される外科医コンソール１７０上の発光ダイオード（ＬＥＤ）を含む。いくつかの実施形態では、外科医コンソール１７０は、音声記録などの聴覚アラート、および／またはハンドル１１２および通信可能に結合されたロボットアームがロックされていることを示す振動または他の物理的フィードバックなどの触覚アラートを提供するように構成されている。
【００７２】
再びステップ６０２を参照すると、外科医コンソール１７０が、スケーリング係数セーフモードに入る、またはそこに留まると判定した場合（ステップ６０２において「スケーリング係数」）、処理はステップ６１２に進む。ステップ６１２において、外科医コンソール１７０は、外科医コンソール１７０のハンドル１１２の移動を検出する。上で説明されるように、各ハンドル１１２は、ハンドル１１２の移動およびハンドル１１２の移動の速度を検出し、ハンドル１１２が移動したかどうか、および／またはハンドル１１２の速度を示す値を出力するように構成された１つ以上のセンサ１３０に動作可能かつ通信可能に結合される。ハンドル１１２に結合された１つ以上のセンサ１３０の出力値に基づいて、外科医コンソール１７０は、ハンドル１１２の移動を検出する。ステップ６１４において、外科医コンソール１７０は、ハンドル１１２が移動される速度を計算する。上で説明されるように、外科医コンソール１７０は、ハンドル１１２に結合され、ハンドル１１２の移動を感知するように構成された１つ以上のセンサ１３０を介して経時的に感知されるハンドルの複数の位置に基づいて速度を計算する。
【００７３】
ステップ６１６において、外科医コンソール１７０は、ステップ６１４で計算されたハンドル１１２の移動の速度に基づいて、セーフモードスケーリング係数のリストからスケーリング係数を選択する。本明細書で使用される場合、「スケーリング係数」という用語は、ハンドル１１２の移動と、ハンドル１１２に通信可能に結合された１つ以上のサブユニット１９１、１９２、１９３、および１９４によって引き起こされる対応する移動との間の比を指す。例えば、３：１のスケーリング係数は、ハンドル１１２の３インチの移動を、通信可能に結合されたサブユニット１９１、１９２、１９３、および／または１９４の１インチの移動に変換することを示す。同様に、５０：１のスケーリング係数は、ハンドル１１２の５インチの移動を、通信可能に結合されたサブユニット１９１、１９２、１９３、および／または１９４の０．１インチの移動に変換することを示す。セーフモードスケーリング係数は、外科用システム１００がスケーリング係数セーフモードで動作している場合に外科医コンソール１７０が使用するように構成されている、ルールまたは構成データのセットで指定されたスケーリング係数である。ルールまたは構成データのセットは、各セーフモードスケーリング係数の速度または速度の範囲をさらに指定し、メモリユニット１３４の１つ以上のメモリユニットまたは外科医コンソール１７０に動作可能に結合された記憶デバイスに記憶される。いくつかの実施形態では、セーフモードスケーリング係数のリストからスケーリング係数を選択する際に、外科医コンソール１７０は、ハンドル１１２の計算された速度または計算された速度を含む速度の範囲に最も近い速度を識別し、関連付けられたスケーリング係数を選択する。他の実施形態では、外科医コンソール１７０は、ハンドル１１２の移動の速度を計算し、計算された速度に基づいて下方スケーリング係数を修正する。
【００７４】
ステップ６１８において、外科医コンソール１７０は、ステップ６１６で選択されたセーフモードスケーリング係数を、スケーリングされた距離を計算するためにハンドル１１２が移動した距離に適用し、スケーリングされた距離を、受信されたスケーリングされた距離に部分的に基づいて移動するハンドル１１２に通信的に結合された１つ以上のサブユニット１９１、１９２、１９３、または１９４に送信する。選択されたセーフモードスケーリング係数は、いくつかの例では、非セーフモードスケーリング係数と比較して、ハンドル１１２の所与の移動量について、サブユニット１９１、１９２、１９３、または１９４の１つ以上の少量の移動量を引き起こす、下方へのスケーリング係数であってもよい。いくつかの実施形態では、外科医コンソール１７０は、選択されたセーフモードスケーリング係数、およびハンドル１１２が移動した距離を、サブユニット１９１、１９２、１９３、および／または１９４の特定の１つ以上に送信し、スケーリングされた距離は、ロボットアームが移動したことに部分的に基づいて計算される。ステップ７１０の後、外科医コンソール１７０は、ステップ３０２（図３Ａに示される）に戻る。ステップ６１８から、処理はステップ６０６に進み、そこで外科医コンソール１７０は、ハンドル速度に基づくセーフモードが有効であることを示す視覚的および／または聴覚的アラートをユーザに提供する。
【００７５】
再びステップ６０２を参照すると、外科医コンソール１７０が、ハンドル速度に基づいて対抗力セーフモードに入る、またはそこに留まると判定した場合（ステップ６０２において「対抗力（速度ベース）」）、処理はステップ６２０に進む。ステップ６２０において、外科医は、１つ以上のハンドル１１２の移動を検出する。外科医コンソール１７０は、ステップ６１２について上で説明されるものと同様の様態で、ハンドル１１２の移動を検出する。ステップ６２２において、外科医コンソール１７０は、ハンドル１１２に動作可能かつ通信可能に結合されている１つ以上のセンサ１３０を使用して、ハンドル１１２の移動の速度を計算する。
【００７６】
ステップ６２４において、外科医コンソール１７０は、ハンドル１１２の移動の方向を計算する。上で説明されるように、１つ以上のセンサ１３０は、ハンドル１１２の１つ以上の方向への移動方向を感知するように構成されており、外科医コンソール１７０は、１つ以上のセンサ１３０からの出力に基づいて、例えば、ハンドル１１２の前の位置に対して、ハンドル１１２の移動方向を計算する。
【００７７】
ステップ６２６において、外科医コンソール１７０は、ハンドル１１２の移動の計算された速度およびハンドル１１２の移動の計算された方向に基づいて、ハンドル１１２の計算された移動方向とは反対方向にハンドル１１２に加えられる対抗力を計算する。ステップ６２８において、外科医コンソール１７０は、ハンドル１１２のモータ１３２のうち、６２６で計算された対抗力が加えられる方向に関連付けられたモータを識別し、ステップ６３０において、外科医コンソール１７０は、計算されたハンドルの移動方向と反対の方向にステップ６２６で計算された対抗力を生成するのに十分な速度で、ハンドル１１２の計算された移動方向と反対の方向に識別されたモータを作動させ、それによってハンドル１１２の任意の移動を大幅に減少させる。したがって、外科医コンソール１７０は、ハンドル１１２の移動方向とは反対方向にユーザに十分な力を提供し、それにより、外科用システム１００がセーフモードで動作しているという触覚フィードバックをユーザに提供する。ステップ６３０から、処理はステップ６０６に進み、セーフモード（この例では、速度に基づく対抗力セーフモード）が作動したというアラートを提供する。
【００７８】
再びステップ６０２を参照すると、外科医コンソール１７０が、ハンドル位置に基づいて対抗力セーフモードに入る、またはそこに留まると判定した場合（ステップ６０２において「対抗力（位置ベース）」）、処理はステップ６３２に進む。ステップ６３２において、各ハンドル１１２について、外科医コンソール１７０は、外科用システム１００がハンドル位置に基づいて対抗力セーフモードで動作させられるときのハンドル１１２の位置を識別する。外科医コンソール１７０は、ハンドル１１２の識別された位置を、外科医コンソール１７０に動作可能に結合されたメモリユニット１３４またはデータ記憶デバイスに記憶する。
【００７９】
ステップ６３４において、外科医コンソール１７０は、ステップ６３２で識別されたそれぞれの位置からのハンドル１１２の１つ以上の移動を検出する。ステップ６３４において、外科医コンソール１７０は、移動したハンドル１１２が移動した距離を計算する。上で説明されるように、ハンドル１１２に結合された１つ以上のセンサ１３０は、ハンドル１１２が移動する距離を感知するように構成され、外科医コンソール１７０は、１つ以上のセンサ１３０からのデータを使用してハンドル１１２が移動した距離を計算する。
【００８０】
ステップ６３６において、外科医コンソール１７０は、ハンドル１１２の移動の方向を計算し、ステップ６３８において、ハンドル１１２の移動の計算された速度および／またはハンドル１１２の移動の計算された方向に基づいて、外科医コンソール１７０は、ハンドルの計算された移動方向とは反対方向にハンドル１１２に加えられる対抗力を計算する。ステップ６２８において、外科医コンソール１７０は、ハンドル１１２のモータ１３２のうち、計算された移動方向に関連付けられたモータを識別し、ステップ６３０において、外科医コンソール１７０は、識別されたモータを、計算されたハンドル移動方向とは反対の方向に計算された対抗力を生成するのに十分な速度で回転させ、ハンドル１１２がステップ６３２で識別された位置に戻るまでモータを作動させ続け、それにより、ハンドル１１２の任意の移動を減少させ、動きが抵抗されていることを示すフィードバックをユーザに提供し、それにより、外科用システム１００がセーフモードで動作していることをユーザにアラートする。
【００８１】
図７は、図１のロボット外科用システム１００の１つ以上の安全な動作モードを終了するための例示的な方法７００を示すフローチャートである。ステップ７０２において、外科医コンソール１７０は、例えば、上で説明されるセーフモードインジケータの値に基づいて、どのセーフモードから退出するかを判定する。外科医コンソール１７０が、クラッチングセーフモードから退出すると判定した場合（ステップ７０２の「クラッチング」）、処理はステップ７０４に進む。ステップ７０４において、外科医コンソール１７０の各ハンドル１１２について、外科医コンソール１７０は、ハンドル１１２の移動に関連するデータをサブユニット１９１、１９２、１９３、または１９４に送信することを可能にすることによって、ハンドル１１２の移動から、ハンドル１１２に通信可能に結合されたサブユニット１９１、１９２、１９３、および／または１９４の移動の変換を可能にする。外科医コンソール１７０がクラッチングセーフモードインジケータで構成される実施形態では、外科医コンソール１７０は、クラッチングセーフモードインジケータの値を、クラッチングセーフモードが無効であることを示す値に更新する。ステップ７０６において、外科医コンソール１７０は、クラッチングセーフモードが無効にされていること、および／または通常（非セーフ）モードが有効にされていることを示すアラートをユーザに提供する。
【００８２】
外科医コンソール１７０がロッキングセーフモードから退出すると判定した場合（ステップ７０２において「ロッキング」）、処理はステップ７０８に進む。ステップ７０８において、外科医コンソール１７０は、外科医コンソール１７０の各ハンドル１１２をロック解除する。いくつかの実施形態では、外科医コンソール１７０は、ユーザがハンドル１１２を動かすことに応答して、非セーフモード構成に従ってハンドル１１２に関連付けられたモータ１３２を作動させることによって、各ハンドル１１２をロック解除する。例えば、外科医コンソール１７０は、外科医が再度関与している（例えば、外科医コンソール１７０を見ている）と判定されたとき、および／またはボタンもしくはペダルを作動する、ハンドル１１２の特定の動きを実行するなど、ユーザが所定のアクションを実行した後、各ハンドル１１２をロック解除し得る。ステップ７１０において、外科医コンソール１７０は、ハンドル１１２に通信可能に結合された各サブユニット１９１、１９２、１９３、または１９４を、例えば、コンピューティングデバイス１８０に、サブユニット１９１、１９２、１９３、または１９４をロック解除する命令を送信することによって、ロック解除させ、または、それに応答して、コンピューティングデバイス１８０は、命令をサブユニット１９１、１９２、１９３、または１９４に送信する。ロボットアセンブリ１９０が外科医コンソール１７０に直接接続される実施形態では、外科医コンソール１７０は、ハンドル１１２に通信可能に結合されたロボットアームのロボットアセンブリ１９０にロボットアームを直接解放するための命令を送信する。命令を受信する各ロボットアセンブリは、命令の受信に応答して、そのサブユニット１９１、１９２、１９３、１９４をロック解除する。
【００８３】
ステップ７０６において、外科医コンソール１７０は、セーフモードを退出したこと、および／または通常モード（非セーフモード）に入ったことを示すアラートをユーザに提供する。一例では、アラートは、ハンドル１１２およびハンドル１１２に通信可能に結合されたロボットアームがロック解除されていることを示すことを含む。ユーザに提供されるアラートは、いくつかの実施形態では、視覚的アラートであり、いくつかの実施形態では、聴覚的アラートである。視覚的アラートの例には、限定されないが、外科医コンソール１７０の１つ以上のディスプレイデバイスに表示されるグラフィカルアイテムおよび外科医コンソール１７０上のＬＥＤを含む。
【００８４】
再びステップ７０２を参照すると、外科医コンソール１７０が、スケーリング係数セーフモードから退出すると判定した場合（ステップ７０２において「スケーリング係数」）、処理はステップ７１２に進む。ステップ７１２において、外科医コンソール１７０は、通常の（非セーフモード）動作中に使用されるように、スケーリング係数を１：１値など所定の値にリセットする。
【００８５】
外科医コンソール１７０が、ハンドル速度に基づく対抗力セーフモードまたはハンドル位置に基づく対抗力セーフモードのいずれかから退出すると判定した場合（ステップ７０２において、「対抗力（速度ベース）」または「対抗力（位置ベース）」）、処理はステップ７１４に進む。ステップ７１４において、外科医コンソール１７０は、図６のステップ６３０で開始されたモータの作動を停止する。ステップ７１４から、処理はステップ７０６に進み、そこでセーフモードが無効にされており、通常モードが有効にされていることを示すアラートが生成される。
【００８６】
「一例では」、「例では」、「いくつかの例では」、「一実施形態では」、「実施形態では」、「いくつかの実施形態では」、または「他の実施形態では」という語句は、各々、本開示による同じまたは異なる実施形態のうちの１つ以上のことを指す場合がある。「ＡまたはＢ」という形式の語句は、「（Ａ）、（Ｂ）、（ＡおよびＢ）」を意味する。「Ａ、Ｂ、またはＣのうちの少なくとも１つ」という形式の語句は、「（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、（ＢおよびＣ）、または（Ａ、Ｂ、およびＣ）」を意味する。
【００８７】
本明細書で説明するシステムはまた、１つ以上のコントローラを利用して、様々な情報を受信し、受信した情報を変換して出力を生成することができる。コントローラは、メモリ内に記憶された一連の命令を実行することが可能な、任意のタイプのコンピューティングデバイス、演算回路、または任意のタイプのプロセッサまたは処理回路を含み得る。コントローラは、複数のプロセッサおよび／またはマルチコア中央処理装置（ＣＰＵ）を含んでもよく、マイクロプロセッサ、デジタル信号プロセッサ、マイクロコントローラ、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および／または同類のものなどの任意のタイプのプロセッサを含んでもよい。コントローラはまた、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに１つ以上の方法および／またはアルゴリズムを実行させるデータおよび／または命令を記憶するメモリも含んでもよい。
【００８８】
本明細書で説明される方法、プログラム、アルゴリズム、またはコードのいずれもが、プログラミング言語またはコンピュータプログラムに変換されるか、または表現されてもよい。「プログラミング言語」および「コンピュータプログラム」は、コンピュータへの命令を特定するために使用される任意の言語を含み、これらの言語およびその派生物は（限定されないが）Ａｓｓｅｍｂｌｅｒ、Ｂａｓｉｃ、Ｂａｔｃｈ  ｆｉｌｅｓ、ＢＣＰＬ、Ｃ、Ｃ＋、Ｃ＋＋、Ｄｅｌｐｈｉ、Ｆｏｒｔｒａｎ、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ｍａｃｈｉｎｅ  ｃｏｄｅ、オペレーティングシステムコマンド言語、Ｐａｓｃａｌ、Ｐｅｒｌ、ＰＬ１、スクリプト言語、Ｖｉｓｕａｌ  Ｂａｓｉｃ、プログラム自体を特定するメタ言語、および全ての第１、第２、第３、第４、第５世代、またはそれ以降のコンピュータ言語を含む。また、データベースおよび他のデータスキーマ、ならびに任意の他のメタ言語も含まれる。解釈され、コンパイルされ、またはコンパイルおよび解釈されたアプローチの両方を使用する言語間で、区別はなされない。プログラムのコンパイル済みバージョンとソースバージョンとの間でも、区別はなされない。このため、プログラミング言語が、プログラミング言語が複数の状態（ソース、コンパイル済み、オブジェクト、またはリンク等）で存在し得る、プログラムへの参照は、かかる状態のいずれか、および全てへの参照である。プログラムへの参照は、実際の命令および／またはそれらの命令の意図を包含し得る。
【００８９】
本明細書に記載の方法、プログラム、アルゴリズム、またはコードのいずれも、１つ以上の機械可読媒体またはメモリ上に含まれ得る。収容されるコードまたは命令は、搬送波信号、赤外線信号、デジタル信号、および他の同様の信号によって表されることができる。
【００９０】
上記の説明は、単に本開示の例示的なものであることが理解されるべきである。様々な代替例および変更例が本開示から逸脱することなく当業者によって想到され得る。したがって、本開示は、全てのこのような代替、修正および変形を包含することが意図される。添付された図面を参照して説明された実施形態は、本開示の一定の例を説明するためにのみ提示される。上記および／または添付の特許請求の範囲に説明されたものとは実質的ではない部分で異なる他の要素、ステップ、方法および技術はまた、本開示の範囲内にあるように意図される。
【図１Ａ】
2021511892.tif 000003
【図１Ｂ】
2021511892.tif 000004
【図１Ｃ】
2021511892.tif 000005
【図２Ａ】
2021511892.tif 000006
【図２Ｂ】
2021511892.tif 000007
【図２Ｃ】
2021511892.tif 000008
【図３】
2021511892.tif 000009
【図４】
2021511892.tif 000010
【図５】
2021511892.tif 000011
【図６】
2021511892.tif 000012
【図７】
2021511892.tif 000013
【国際調査報告】
2021511892.tif 000014
2021511892.tif 000015