IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ プレシジョン ロボティクス リミテッドの特許一覧

特表2024-516939装置、コンピュータで実施される方法及びコンピュータプログラム
<>
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図1
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図2
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図3
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図4a
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図4b
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図5
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図6
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図7
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図8
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図9
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図10
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図11
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図12
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図13
  • 特表-装置、コンピュータで実施される方法及びコンピュータプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-18
(54)【発明の名称】装置、コンピュータで実施される方法及びコンピュータプログラム
(51)【国際特許分類】
   A61B 34/35 20160101AFI20240411BHJP
【FI】
A61B34/35
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023562331
(86)(22)【出願日】2022-04-12
(85)【翻訳文提出日】2023-11-22
(86)【国際出願番号】 GB2022050905
(87)【国際公開番号】W WO2022219314
(87)【国際公開日】2022-10-20
(31)【優先権主張番号】2105285.7
(32)【優先日】2021-04-14
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】522063697
【氏名又は名称】プレシジョン ロボティクス リミテッド
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際弁理士法人
(72)【発明者】
【氏名】カメドラ マルゴルザタ
(72)【発明者】
【氏名】リン チャン
(72)【発明者】
【氏名】リュー ジンドン
【テーマコード(参考)】
4C130
【Fターム(参考)】
4C130AA02
4C130AA04
4C130AA07
4C130AA13
4C130AD02
4C130AD04
4C130BA02
4C130BA04
(57)【要約】
装置であって、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含む少なくとも1つのメモリーとを備え、前記少なくとも1つのメモリーとコンピュータプログラムコードは、少なくとも1つのプロセッサで、前記装置に、
受動コントローラから制御コマンドを受信し、前記受動コントローラは、複数のジョイント及びエンドエフェクタを有するロボット器具を遠隔制御するように構成され、前記制御コマンドは、前記エンドエフェクタの所望の姿勢を定義することと、
制約付き環境において可能な限り厳密にエンドエフェクタが所望の姿勢を模倣できるようにするために、前記制御コマンドに基づいて、逆運動学アルゴリズムを使用して前記複数のジョイントのぞれぞれのジョイントパラメータを決定することとを行わせるように構成され、
前記逆運動学アルゴリズムは、
初期条件としてジョイントパラメータの第1セットを使用して前記エンドエフェクタの姿勢を計算し、
計算された姿勢を前記所望の姿勢と比較して追跡エラーを決定し、
ジョイントパラメータの1つ以上の異なるセットについて計算及び比較ステップを反復し、
前記追跡エラーが前記エンドエフェクタの現在の姿勢に関連するものより小さい場合にのみ、最小の追跡エラーを有する計算された姿勢を大域解として特定し、そうでない場合には、前記現在の姿勢を大域解として特定するように構成され、
前記装置は、前記最小の追跡エラーを有する前記計算された姿勢が大域解として特定された場合、前記大域解に関連する前記ジョイントパラメータのセットに従って前記複数のジョイントを再構成するために、モータコマンドを生成するようにさらに構成されている。
【特許請求の範囲】
【請求項1】
装置であって、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含む少なくとも1つのメモリーとを備え、
前記少なくとも1つのメモリーとコンピュータプログラムコードは、少なくとも1つのプロセッサで、前記装置に、
受動コントローラから制御コマンドを受信し、前記受動コントローラは、複数のジョイント及びエンドエフェクタを有するロボット器具を遠隔制御するように構成され、前記制御コマンドは、前記エンドエフェクタの所望の姿勢を定義することと、
制約付き環境において可能な限り厳密にエンドエフェクタが所望の姿勢を模倣できるようにするために、前記制御コマンドに基づいて、逆運動学アルゴリズムを使用して前記複数のジョイントのぞれぞれのジョイントパラメータを決定することとを行わせるように構成され、
前記逆運動学アルゴリズムは、
初期条件としてジョイントパラメータの第1セットを使用して前記エンドエフェクタの姿勢を計算し、
計算された姿勢を前記所望の姿勢と比較して追跡エラーを決定し、
ジョイントパラメータの1つ以上の異なるセットについて計算及び比較ステップを反復し、
前記追跡エラーが前記エンドエフェクタの現在の姿勢に関連するものより小さい場合にのみ、最小の追跡エラーを有する計算された姿勢を大域解として特定し、そうでない場合には、前記現在の姿勢を大域解として特定するように構成され、
前記装置は、前記最小の追跡エラーを有する前記計算された姿勢が大域解として特定された場合、前記大域解に関連する前記ジョイントパラメータのセットに従って前記複数のジョイントを再構成するために、モータコマンドを生成するようにさらに構成されている、ことを特徴とする装置。
【請求項2】
前記異なるセットのジョイントパラメータは、ランダムに選択される、ことを特徴とする請求項1に記載の装置。
【請求項3】
前記逆運動学アルゴリズムは、予め定義された時間制限が経過するか、又は予め定義された終了制約が満たされるまで、計算及び比較のステップを反復するように構成されている、ことを特徴とする請求項1又は2に記載の装置。
【請求項4】
前記逆運動学アルゴリズムは、前記ロボット器具の位置制約を満たす前記エンドエフェクタの部分的な制約付き姿勢の計算を可能にするために、予め定義された位置制限を含む、ことを特徴とする請求項1~3のいずれか一項に記載の装置。
【請求項5】
前記逆運動学アルゴリズムは、前記ロボット器具の位置制約と速度制約の両方を満たす前記エンドエフェクタの制約付き姿勢の計算を可能にするために、予め定義された速度制限をさらに含む、ことを特徴とする請求項4に記載の装置。
【請求項6】
前記逆運動学アルゴリズムは、前記エンドエフェクタの制約付き及び部分的な制約付き姿勢の両方の計算を可能にするために、予め定義された位置制限及び速度制限を個別に適用するように構成されている、ことを特徴とする請求項5に記載の装置。
【請求項7】
前記受動コントローラ及びロボット器具は、それぞれの制御作業空間及び器具作業空間内で自由に移動することができ、前記制御作業空間は、前記受動コントローラが前記制御作業空間内で移動するときに前記ロボット器具の姿勢が前記受動コントローラの姿勢を追跡できるようにするために、前記器具作業空間にマッピングされる、ことを特徴とする請求項1~6のいずれか一項に記載の装置。
【請求項8】
前記受動コントローラは、追跡中断後に前記受動コントローラの姿勢に対する前記ロボット器具の姿勢の追跡を回復するように構成されたロック解除機構を備え、前記ロック解除機構の起動により、前記装置は、
制約付き大域解として特定された制約付き姿勢が、部分的な制約付き大域解として特定された部分的な制約付き姿勢と一致するか否かを決定し、
前記制約付き姿勢と前記部分的な制約付き姿勢が一致しない場合、前記部分的な制約付き大域解に関連するジョイントパラメータのセットに従ってモータコマンドを生成する、ことを特徴とする請求項6に従属する場合の請求項7に記載の装置。
【請求項9】
前記部分的な制約付き姿勢が前記ロボット器具の前記速度制約を満たさない場合、前記装置は、
軌跡アルゴリズムを使用して、前記エンドエフェクタが前記予め定義された速度制限内で前記現在の姿勢から前記部分的な制約付き姿勢に移動するように、前記器具作業空間内の前記ロボット器具の移動の軌跡を決定し、
決定された軌跡に従って前記ロボット器具の移動を自動制御するために、前記モータコマンドを生成するように構成されている、ことを特徴とする請求項8に記載の装置。
【請求項10】
前記装置は、前記受動コントローラの姿勢が変化すると、前記移動の軌跡を再決定するように構成されている、ことを特徴とする請求項9に記載の装置。
【請求項11】
前記軌跡アルゴリズムは、前記ロボット器具の移動が前記予め定義された速度制限を超えないことを保証するために計算される大域的なスケール係数を備える、ことを特徴とする請求項9又は10に記載の装置。
【請求項12】
前記軌跡アルゴリズムは、前記ロボット器具の移動を予め定義された速度制限未満まで減速するためのユーザ定義のスケール係数を備える、ことを特徴とする請求項9~11のいずれか一項に記載の装置。
【請求項13】
前記逆運動学アルゴリズムは、運動学とダイナミクスライブラリソルバー(Kinematics and Dynamics Library solver)、改良された運動学とダイナミクスライブラリソルバー(Improved Kinematics and Dynamics Library solver)、及び逐次二次計画法ソルバー(Sequential Quadratic Programming solver)のうちの1つ又は複数を備える、ことを特徴とする請求項1~13のいずれか一項に記載の装置。
【請求項14】
前記逆運動学アルゴリズムは、大域解を最初に特定するソルバーが他のソルバーを終了するように、同時に実行される2つ以上のソルバーを備える、ことを特徴とする請求項1~13のいずれか一項に記載の装置。
【請求項15】
前記複数のジョイントのそれぞれの前記ジョイントパラメータは、前記ジョイントの位置、角度、向き、構成、及び速度のうちの1つ又は複数を含む、ことを特徴とする請求項1~14のいずれか一項に記載の装置。
【請求項16】
前記逆運動学アルゴリズムは次の形式を有し、
ref∈Rは、受動コントローラから受信した所望のエンドエフェクタ姿勢を表し、p=f(q)∈Rは、前記アルゴリズムの現在の反復によって計算されたエンドエフェクタ姿勢を表し、qinit∈Rは、アルゴリズム初期条件を示し、p=f(q)∈Rは、前記ロボット器具の現在の状態、又はジョイント角度センサフィードバックが利用できない場合にロボット器具を駆動するモータに送信された最後のジョイント空間コマンドに基づいて計算されたエンドエフェクタ姿勢であり、p=f(q)∈Rは、現在の制御候補を表し、ε∈Rは、受け入れられたアルゴリズム公差を示し、t∈Rとtmax∈Rは、前記アルゴリズムが実行できる現在時間及び最大時間を示す、ことを特徴とする請求項1~15のいずれか一項に記載の装置。
【請求項17】
前記逆運動学アルゴリズムは次の形式を有し、
「局所的アルゴリズム(local algorithm)」は、局所解を計算する任意のアルゴリズムを指す、ことを特徴とする請求項6に従属する場合の請求項16に記載の装置。
【請求項18】
前記軌跡アルゴリズムは次の形式を有し、
∈Rは、生成された軌跡がジョイント空間の速度制限内にあることを保証するための大域的なスケール係数を表し、k∈Rは、予め定義された速度制限未満の速度まで移動を減速するためのユーザ-定義のスケール係数を表し、k∈Rは、軌跡を終了するための終了制約閾値である、ことを特徴とする請求項11に従属する場合の請求項12に記載の装置。
【請求項19】
前記ロボット器具は、手術用ロボットである、ことを特徴とする請求項1~18のいずれか一項に記載の装置。
【請求項20】
前記装置は、受動コントローラ及び/又はロボット器具を備える、ことを特徴とする請求項1~19のいずれか一項に記載の装置。
【請求項21】
コンピュータで実施される方法であって、
受動コントローラから制御コマンドを受信するステップであって、前記受動コントローラは、複数のジョイント及びエンドエフェクタを有するロボット器具を遠隔制御するように構成され、前記制御コマンドは、前記エンドエフェクタの所望の姿勢を定義するステップと、
制約付き環境において可能な限り厳密にエンドエフェクタが所望の姿勢を模倣できるようにするために、前記制御コマンドに基づいて、逆運動学アルゴリズムを使用して前記複数のジョイントのぞれぞれのジョイントパラメータを決定するステップとを含み、
前記逆運動学アルゴリズムは、
初期条件としてジョイントパラメータの第1セットを使用して前記エンドエフェクタの姿勢を計算し、
計算された姿勢を前記所望の姿勢と比較して追跡エラーを決定し、
ジョイントパラメータの1つ以上の異なるセットについて計算及び比較ステップを反復し、
前記追跡エラーが前記エンドエフェクタの現在の姿勢に関連するものより小さい場合にのみ、最小の追跡エラーを有する計算された姿勢を大域解として特定し、そうでない場合には、前記現在の姿勢を大域解として特定するように構成され、
前記方法は、前記最小の追跡エラーを有する前記計算された姿勢が大域解として特定された場合、前記大域解に関連する前記ジョイントパラメータのセットに従って前記複数のジョイントを再構成するために、モータコマンドを生成するステップをさらに含む、ことを特徴とする方法。
【請求項22】
請求項21の方法を実行するように構成されたコンピュータコードを含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、遠隔制御ロボットシステムに関し、特に、受動コントローラに対するロボット器具の追跡を可能にするための装置、関連方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
遠隔制御ロボットシステムは、様々な応用、特に、人間のアクセス、安全性、又はその両方が制限される用途に使用されている。例えば、遠隔制御ロボットシステムは、手術部位へのアクセスが自然の空洞及び/又は小さな切開に制限される最小侵襲外科手術で使用されている。人間の手は、そのような領域にアクセスするには大き過ぎるため、代わりに外科医によって遠隔制御される小型ロボットが使用される場合がある。遠隔制御ロボットシステムは、安全な距離からロボットを遠隔操作できる爆弾処理などの軍事応用でも使用される。
【0003】
以下、本発明を主に手術用ロボットシステムに関連して説明する。しかしながら、これは、例示のみを目的としており、他の分野における本発明の応用を排除するものではない。
【0004】
既知の遠隔制御される手術用ロボットシステムは、ユーザがコントローラを操縦することによりロボット器具にコマンドを発行できるコントローラとロボット器具を含む。既知のコントローラは、ベースと、ベースに結合され複数のジョイント(例えば、回転可能なジョイント又は直進ジョイント)を備える関節運動可能なアームと、関節運動可能なアームに結合されジョイントの動きによってベースに対して可動であるハンドルとを備える。既知のロボット器具は、ベースと、ベースに結合され複数のジョイントを備える作動可能なアームと、作動可能なアームに結合されジョイントの動きによってベースに対して作動可能なエンドエフェクタとを備える。
【0005】
コントローラとロボット器具、特に、ハンドルとエンドエフェクタはそれぞれ、それぞれの制御作業空間と器具作業空間内で自由に移動することができる。さらに、ハンドルとエンドエフェクタはそれぞれ、3軸に沿った並進運動及び3軸を中心とした回転運動を含む、それぞれの作業空間内の移動の6自由度を有することがある。ハンドルとエンドエフェクタは、並進運動に依存するそれぞれの作業空間内の位置と、回転運動に依存するそれぞれの作業空間に対する向きを有すると見なすことができる。さらに、ハンドル又はエンドエフェクタの位置と向きは、組み合わせて姿勢ハンドル又はエンドエフェクタと見なすことができる。
【0006】
ユーザは、コントローラ作業空間内でハンドルの位置及び向きを操作でき、その操作は、関節運動可能なアームにおける各ジョイントの動きの測定により追跡することができる。操作は、コントローラ作業空間内でのハンドルの操作に対応して器具作業空間で移動するように、ロボット器具、特に、作動可能なアームのジョイントが作動するためのコマンドに変換することができる。
【0007】
既知のコントローラは、ロボットシステムが使用されるとき、コントローラの各ジョイントを回転させるのに必要なトルクがユーザからの入力により能動的に変化することを意味する能動コントローラである。例えば、ユーザがコントローラを放した場合、ユーザが最後に操作した位置及び向きにハンドルが保持されるように、ジョイントの各々のトルクが変更されてもよい。言い換えれば、ユーザが更なる入力を提供しない限り、コントローラはフリーズする。ひいては、ロボット器具もフリーズする。
【0008】
さらに、ロボット器具の移動がその利用可能な作業空間によって制限される場合、例えば、特定の点を超えるジョイントの回転を制限することにより、対応する制限をコントローラに強制することができる。これにより、コントローラがロボット器具から位置ずれすることが防止される。
【0009】
しかしながら、コントローラにおける各ジョイントのトルクを能動的に変化させるには、コントローラがサーボモータなどの高価で嵩張るコンポーネントを備える必要がある。したがって、既知の能動コントローラは製造コストが高く、携帯性に欠けている。さらに、コントローラのジョイントにおけるトルクの能動的な変化は、ユーザを望ましくない及び/又は不自然な位置に誘導する可能性があり、ユーザをイライラさせたり、エラーを引き起こしたりする可能性がある。
【0010】
本明細書における以前に出版された文書又は任意の背景のリスト又は議論は、必ずしもその文書又は背景が最先端技術の一部であるか、又は共通の一般知識であることを認めるものとして解釈されるべきではない。本開示の1つ以上の態様/実施形態は、1つ以上の背景問題に対処する場合もあれば、対処しない場合もある。
【発明の概要】
【0011】
本発明の第1の態様によれば、装置が提供される。この装置は、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリーとを備える。前記少なくとも1つのメモリーとコンピュータプログラムコードは、少なくとも1つのプロセッサで、前記装置に、受動コントローラから制御コマンドを受信し、前記受動コントローラは、複数のジョイント及びエンドエフェクタを有するロボット器具を遠隔制御するように構成され、前記制御コマンドは、前記エンドエフェクタの所望の姿勢を定義することと、制約付き環境において可能な限り厳密にエンドエフェクタが所望の姿勢を模倣できるようにするために、前記制御コマンドに基づいて、逆運動学(IK)アルゴリズムを使用して前記複数のジョイントのぞれぞれのジョイントパラメータを決定することとを行わせるように構成されている。前記IKアルゴリズムは、初期条件としてジョイントパラメータの第1セットを使用して前記エンドエフェクタの姿勢を計算し、計算された姿勢を前記所望の姿勢と比較して追跡エラーを決定し、ジョイントパラメータの1つ以上の異なるセットについて計算及び比較ステップを反復し、前記追跡エラーが前記エンドエフェクタの現在の姿勢に関連するものより小さい場合にのみ、最小の追跡エラーを有する計算された姿勢を大域解として特定し、そうでない場合には、前記現在の姿勢を大域解として特定するように構成されている。前記装置は、前記最小の追跡エラーを有する前記計算された姿勢が大域解として特定された場合、前記大域解に関連する前記ジョイントパラメータのセットに従って前記複数のジョイントを再構成するために、モータコマンドを生成するようにさらに構成されている。
【0012】
受動コントローラは、能動コントローラのようにジョイントを移動させるのに必要なトルクを能動的に変化させることなく、自由に可動なジョイントを備えるコントローラである。受動コントローラは、サーボモータなどの高価で重く、及び/又は嵩張るコンポーネントを必要としないため、能動コントローラよりも製造コストが安く、小型軽量である可能性がある。さらに、ジョイントトルクの能動的な変化がないため、ユーザの移動は次善の又は意図しないコマンドが関連するロボット器具に送信される可能性のある不快又は不自然な位置又は姿勢に偏ることがない。
【0013】
しかしながら、受動コントローラのユーザは人為的な制限なしに自由に受動コントローラを操作できるため、関連するロボット器具が正確に模倣できない姿勢(位置及び向き)に受動コントローラを移動させることが可能である。例えば、ロボット器具は、ロボット器具の形状及びジョイント構成に基づいて、制約付き環境内での移動に制限することができ、受動コントローラは、ロボット器具が制約付き環境の制限内で複製できない姿勢に移動させることができる。これは、例えば、受動コントローラとロボット器具との間の形状や構成の違いが原因である可能性がある。また、ロボット器具が移動できる速度は、例えば、安全上の理由から制限される可能性があり、受動コントローラのユーザは受動コントローラを移動させる速度が速すぎて、ロボット器具がミラーリングできない可能性がある。
【0014】
使用中、装置のユーザは、受動コントローラを移動させて、ロボット器具のエンドエフェクタについて所望の姿勢を設定する制御コマンドを発行することができる。次に、装置は、IKアルゴリズムを使用して、ロボット器具が所望の姿勢を模倣するためのジョイントパラメータを決定する。特に、IKアルゴリズムはエンドエフェクタの1つ以上の姿勢を計算し、計算された各姿勢は、初期条件としてジョイントパラメータのそれぞれのセットに基づいたものであり、所望の姿勢と比較されて、その計算された姿勢の追跡エラー、即ち、その計算された姿勢が所望の姿勢をどれだけ正確に模倣するかを決定する。次に、IKアルゴリズムは、現在の姿勢が大域解として特定された、最小の追跡エラーがエンドエフェクタの現在の姿勢に関連するものよりも大きい場合を除き、最小の追跡エラーを有する計算された姿勢を大域解として特定する。言い換えれば、計算された姿勢が現在の姿勢よりも正確であれば、所望の姿勢を最も正確に模倣する計算された姿勢が大域解として特定される。現在の姿勢ではなく、最小の追跡エラーを有する計算された姿勢が大域解として特定される場合、装置は、大域解に従ってロボット器具を移動させるためにモータコマンドを生成する。
【0015】
本発明により、ロボット器具は、可能な限り厳密に、即ち、IKアルゴリズムによって計算された姿勢に対して利用可能な、可能な限り最小の追跡エラーで、受動コントローラを追跡するように制御され得る。さらに、最小の追跡エラーを有する計算された姿勢は、実装前に常に現在の姿勢と比較されるため、装置は、エンドエフェクタを現在の姿勢よりも悪い姿勢に移動させることはない。
【0016】
本発明の実施形態では、ジョイントパラメータの異なるセットはランダムに選択されてもよい。
【0017】
本発明のこのような実施形態では、IKアルゴリズムは、初期条件でランダムシューティングアプローチを実装する。これにより、局所的アルゴリズムを使用して大域解を見つけることが可能になる。
【0018】
本発明の実施形態では、逆移動学アルゴリズムは、予め定義された時間制限が経過するか、予め定義された終了制約が満たされるまで、計算及び比較のステップを反復するように構成されてもよい。
【0019】
本発明のこのような実施形態では、終了制約は、IKアルゴリズムの予期される精度、即ち、解が正確であるとみなされる、所望の姿勢と計算された姿勢との間の最大の追跡エラーを示す。これは、ディジタル計算の数値精度、器具の実用的な精密度を考慮し、有限の収束時間を確保するために必要である。
【0020】
本発明の実施形態では、逆運動学アルゴリズムは、ロボット器具の位置制約を満たすエンドエフェクタの部分的な制約付き姿勢の計算を可能にするために、予め定義された位置制限を含んでもよい。
【0021】
本発明のこのような実施形態では、位置制約は、ロボット器具の物理的制限に基づくものであってもよい。従って、部分的な制約付き姿勢の計算により、姿勢が物理的に可能であることが保証される。
【0022】
本発明の実施形態では、逆運動学アルゴリズムは、ロボット器具の位置制約と速度制約の両方を満たすエンドエフェクタの制約付き姿勢の計算を可能にするために、予め定義された速度制限をさらに含んでもよい。
【0023】
本発明のこのような実施形態では、予め定義された速度制限は、安全であるとみなされるロボット器具の最大速度に基づくものであってもよい。ロボット器具の制御を制約付き姿勢に規制すると、ユーザは、ロボット器具の移動を監視し、その軌跡を測定し、潜在的に安全でない場合に移動をオーバーライドする能力を有する可能性がある。
【0024】
本発明の実施形態では、逆運動学アルゴリズムは、エンドエフェクタの制約付き姿勢及び部分的な制約付き姿勢の両方の計算を可能にするために、予め定義された位置制限及び速度制限を個別に適用するように構成されてもよい。
【0025】
本発明のこのような実施形態では、ユーザは、装置が制約付き姿勢ではなく部分的な制約付き姿勢に基づいてロボット器具を制御することを選択的に許可できる場合がある。これは、ロボット器具を制約付き姿勢に制限すると、ロボット器具が受動コントローラを追跡する能力が過度に制限される状況を克服するのに役立つ可能性がある。
【0026】
本発明の実施形態では、受動コントローラ及びロボット器具は、それぞれの制御作業空間及び器具作業空間内で自由に移動することができ、前記制御作業空間は、前記受動コントローラが前記制御作業空間内で移動するときに前記ロボット器具の姿勢が前記受動コントローラの姿勢を追跡できるようにするために、前記器具作業空間にマッピングされ得る。さらに、受動コントローラは、追跡中断後に前記受動コントローラ姿勢に対する前記ロボット器具姿勢の追跡を回復するように構成されたロック解除機構を備えてもよい。前記ロック解除機構の起動により、前記装置は、制約付き大域解として特定された制約付き姿勢が、部分的な制約付き大域解として特定された部分的な制約付き姿勢と一致するか否かを決定し、前記制約付き姿勢と前記部分的な制約付き姿勢が一致しない場合、前記部分的な制約付き大域解に関連するジョイントパラメータのセットに従ってモータコマンドを生成する。
【0027】
ユーザは、器具作業空間内で移動しているエンドエフェクタによって同じように複製できないように、受動コントローラを作業空間内で移動させることができる場合がある。例えば、受動コントローラの動きが最大のジョイント空間速度制限よりも速いロボット器具の動きにマッピングされると、ロボット器具がフリーズする可能性がある。
【0028】
ロック解除機構の起動により、装置は、ロボット器具の現在の制約付き姿勢が、部分的な制約付き大域解、即ち、ロボット器具の位置制限内の最良の利用可能な解として特定された部分的な制約付き姿勢と同等であるかをチェックする。同等でない場合、装置は、ロボット器具を部分的な制約付き姿勢に移動させる。従って、ロック解除機構は、追跡が中断された可能性がある場合に、ロボット器具が受動コントローラの最適な追跡を再開できるようにする。
【0029】
本発明の実施形態では、部分的な制約付き姿勢がロボット器具の速度制約を満たさない場合、装置は、軌跡アルゴリズムを使用して、エンドエフェクタが現在の姿勢から部分的な制約付き姿勢まで予め定義された速度制限内で移動するように、器具作業空間内のロボット器具の移動の軌跡を決定し、決定された軌跡に従って、ロボット器具の移動を自動制御するためにモータコマンドを生成するように構成されてもよい。
【0030】
本発明のこのような実施形態では、軌跡アルゴリズムの使用により、ロック解除機構が作動している間、ロボット器具は速度制限を満たしながら部分的な制約付き姿勢に移動できることが保証される。
【0031】
本発明の実施形態では、装置は、受動コントローラの姿勢が変化するにつれて移動の軌跡を再決定するように構成されてもよい。
【0032】
本発明のこのような実施形態では、ロボット器具が決定された軌跡に従っている間にユーザが受動コントローラを移動させると、それに応じて軌跡が再決定されて、ロボット器具が前の姿勢ではなく現在の受動コントローラ姿勢について計算された部分的な制約付き姿勢で軌跡を終了することを保証する。
【0033】
本発明の実施形態では、軌跡アルゴリズムは、ロボット器具の移動が予め定義された速度制限を超えないことを保証するために計算された大域的なスケール係数を備えてもよい。
【0034】
本発明のこのような実施形態では、大域的なスケール係数の適用により、ロボット器具が決定された軌跡に従っている間にロボット器具のジョイントが移動する速度が、ロボット器具が通常の動作下であるとき、即ちロック解除機構が作動していないときにジョイントが同じ軌跡で移動する必要がある速度と比較して低下する可能性がある。
【0035】
本発明の実施形態では、軌跡アルゴリズムは、ロボット器具の移動を予め定義された速度制限まで減速するために、ユーザ-定義スケール係数を備えてもよい。
【0036】
本発明のこのような実施形態では、ユーザ-定義スケール係数は、ジョイントが移動する速度を大域的なスケーリング係数よりもさらに小さくすることができる。これは、移動が安全でない可能性がある場合に、ユーザが決定された軌跡を監視、測定し、場合によってはオーバーライドする能力を向上させることができる。
【0037】
本発明の実施形態では、逆運動学アルゴリズムは、運動学とダイナミクスライブラリソルバー(Kinematics and Dynamics Library solver)、改良された運動学とダイナミクスライブラリソルバー(Improved Kinematics and Dynamics Library solver)、及び逐次二次計画法ソルバー(Sequential Quadratic Programming solver)のうちの1つ又は複数を備えてもよい。さらに、本発明の幾つかの実施形態では、逆運動学アルゴリズムは、大域解を最初に特定するソルバーが他のソルバーを終了するように、同時に実行される2つ以上のソルバーを備えてもよい。
【0038】
本発明のこのような実施形態では、解を計算する時間を短縮することができる。
【0039】
本発明の実施形態では、複数のジョイントのそれぞれのジョイントパラメータは、ジョイントの位置、角度、向き、構成、及び速度のうちの1つ又は複数を備えてもよい。
本発明の実施形態では、逆運動学アルゴリズムは次の形式を有してもよい:
ref∈Rは、受動コントローラから受信した所望のエンドエフェクタ姿勢を表し、p=f(q)∈Rは、アルゴリズムの現在の反復によって計算されたエンドエフェクタ姿勢を表し、qinit∈Rは、アルゴリズム初期条件を示し、p=f(q)∈R は、ロボット器具の現在の状態(又は、利用可能なジョイント角度センサフィードバックがない場合に、ロボット器具を駆動するモータに送信された最後のジョイント空間コマンド)に基づいて計算されたエンドエフェクタ姿勢であり、p=f(q)∈Rは、現在の制御候補(即ち、これまでに計算された最良の解)を表し、ε∈Rは、受け入れられるアルゴリズム公差を表し、t∈Rとtmax∈Rは、アルゴリズムが実行できる現在時間及び最大時間を表す。
【0040】
本発明の実施形態では、逆運動学アルゴリズムは次の形式を有してもよい:
「局所的アルゴリズム」は、局所解を計算する任意のアルゴリズムを指す。
【0041】
本発明の実施形態では、軌跡アルゴリズムは次の形式を有してもよい:
∈Rは、生成された軌跡がジョイント空間の速度制限内にあることを保証するための大域的なスケール係数を表し、k∈Rは、予め定義された速度制限未満の速度まで移動を減速するためのユーザ-定義のスケール係数を表し、k∈Rは、軌跡を終了するための終了制約閾値である。
【0042】
本発明の実施形態では、ロボット器具は、手術用ロボットであってもよい。
【0043】
本発明の実施形態では、装置は、受動コントローラ及び/又はロボット器具を備えてもよい。
【0044】
本発明の第2の態様によれば、コンピュータで実施される方法が提供される。この方法は、受動コントローラから制御コマンドを受信するステップであって、前記受動コントローラは、複数のジョイント及びエンドエフェクタを有するロボット器具を遠隔制御するように構成され、前記制御コマンドは、前記エンドエフェクタの所望の姿勢を定義するステップと、制約付き環境において可能な限り厳密にエンドエフェクタが所望の姿勢を模倣できるようにするために、前記制御コマンドに基づいて、逆運動学アルゴリズムを使用して前記複数のジョイントのぞれぞれのジョイントパラメータを決定するステップとを含む。前記逆運動学アルゴリズムは、初期条件としてジョイントパラメータの第1セットを使用して前記エンドエフェクタの姿勢を計算し、計算された姿勢を前記所望の姿勢と比較して追跡エラーを決定し、ジョイントパラメータの1つ以上の異なるセットについて計算及び比較ステップを反復し、前記追跡エラーが前記エンドエフェクタの現在の姿勢に関連するものより小さい場合にのみ、最小の追跡エラーを有する計算された姿勢を大域解として特定し、そうでない場合には、前記現在の姿勢を大域解として特定するように構成されている。前記方法は、前記最小の追跡エラーを有する前記計算された姿勢が大域解として特定された場合、前記大域解に関連する前記ジョイントパラメータのセットに従って前記複数のジョイントを再構成するために、モータコマンドを生成するステップをさらに含む。
【0045】
本発明の第3の態様によれば、本発明の第2の態様による方法を実行するように構成されたコンピュータコードを含むコンピュータプログラムが提供される。
【0046】
本開示は、その組み合わせ又は単独で具体的に記載されているか否か(請求されたものを含む)に関わらず、1つ以上の対応する態様、例示的な実施形態又は特徴を単独で又は様々な組み合わせで含む。議論された機能のうちの1つ以上を実行するための対応する手段もまた、本開示の範囲内である。
【0047】
上記の概要は、単に例示的なものであり、限定するものではない。
【図面の簡単な説明】
【0048】
添付の図面を参照して、例としてのみ本発明の実施形態を説明する。
図1】本発明の第1の態様による装置の使用時の模式図である。
図2図1に示される装置の一部を形成する受動コントローラの模式図である。
図3図1に示される装置の一部を形成するロボット器具の模式図である。
図4a図3に示されるロボット器具の更なる模式図である。
図4b図3に示されるロボット器具の更なる模式図である。
図5】任意関数に対する大域解のグラフ図である。
図6図5に示される任意関数に対する局所解のグラフ図である。
図7】異なる任意関数に対する制約付き解及び制約なし解のグラフ図である。
図8】異なる任意関数に対する制約付き解及び制約なし解のグラフ図である。
図9】異なる任意関数に対する制約付き解及び制約なし解のグラフ図である。
図10】アルゴリズムロジックの模式図である。
図11図5に示される任意関数に対して特定のシナリオを示すグラフ図である。
図12図10に示されるロジックから開発されたアルゴリズムロジックの模式図である。
図13】異なる構成で配置された簡単なロボット器具の模式図である。
図14図12に示されるロジックから開発されたアルゴリズムロジックの模式図である。
【発明を実施するための形態】
【0049】
まず図1を参照すると、本発明の第1の態様による装置は、全体的に参照番号2で示されている。装置2は、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリーとを備える。装置2は、患者8に外科手術を行うために手術室6でユーザ4によって使用されて様子が示されている。従って、ユーザ4は外科医である可能性がある。
【0050】
本発明のこの実施形態では、装置2は、一対の受動コントローラ12(図2により詳細に示される)、ビューポート14、及びペダル制御16を含む制御ステーション10をさらに備える。受動コントローラ12はそれぞれ、ユーザ4によってそれぞれの制御作業空間内で操作され得る。
【0051】
装置は、電子表示画面18と、一対のロボット器具22(図3により詳細に示される)、ロボットプラットフォーム24及びロボットモータ26を含む手術用ロボット20とを備える。ロボット器具は、患者8の体内にロボット器具を位置決めするように配置されたロボットプラットフォーム24に取り付けられる。ロボットモータ26もロボットプラットフォーム24に取り付けられ、ロボット器具に動作可能に結合されて、それぞれの器具作業空間内でロボット器具の移動を駆動する。
【0052】
ビューポート14、電子表示画面18、又はその両方は、器具作業空間と制御作業空間の表現を表示するように構成されてもよい。さらに、装置2は、ロボット器具及び受動コントローラ12の現在の位置及び/又は向きがそれぞれの器具作業空間と制御作業空間の表現内に示されるように、ビューポート14及び/又は電子表示画面18を制御するように構成されている。また、装置2は、現在の位置及び/又は向きが2次元又は3次元で示されるように、ビューポート14及び/又は電子表示画面18を制御するように構成されている。
【0053】
受動コントローラ12及びロボット器具の現在の位置及び/又は向きは、それぞれ、装置に対する受動コントローラ12及びロボット器具の最後に知られた位置及び/又は向きである。
【0054】
内視鏡28もロボットプラットフォーム24に取り付けられ、患者9の体内に挿入される。内視鏡28は、使用中のロボット器具を含む外科手術部位の画像を記録することができる。記録された画像は、制御ステーション10に送信されて、制御作業空間と器具作業空間の表現と並んで示されるか、又は記録された画像に作業空間が重ねられて示されるように、ビューポート14及び/又は電子表示画面18に表示される。
【0055】
ここで、図2を参照すると、各受動コントローラ12は、コントローラベース30と、コントローラベース30に結合され、複数のコントローラジョイント34を備える関節運動可能なアーム32と、関節運動可能なアーム32に結合され、グリッパ38を備えるハンドル36とを備える。コントローラジョイント34のそれぞれは自由に回転可能である。つまり、既知の能動コントローラにあるような、各ジョイントを回転させるのに必要なトルクを能動的に変化させる手段がない。それにより、ハンドル36は、ユーザ4によってそれぞれの制御作業空間内で自由に可動である(図1に示す)。さらに、各受動コントローラ12、特に、各ハンドル36は、それぞれの制御作業空間内の位置及び制御作業空間に対する向きを有すると考えることができる。組み合わせて、受動コントローラ12の位置と向きは、受動コントローラ姿勢として考慮されてもよい。
【0056】
以下、単一の受動コントローラ12及び対応するロボット器具に関して本発明の実施形態を説明する。しかしながら、装置は2つ以上の受動コントローラ及び対応する数のロボット器具を備え得ることを理解されたい。
【0057】
ここで、図3を参照すると、図1の患者8の体内に配置されたロボット器具と同等であるロボット器具22は、器具ベース40と、作動可能なアーム42と、エンドエフェクタ46とを備える。
【0058】
本発明のこの実施形態では、器具ベース40は、図1に示されるロボットプラットフォーム24から延び、患者8に対する作動可能なアーム42及びエンドエフェクタ46の適切な位置決めを容易にすることができるシャフトである。作動可能なアーム42は、器具ベース40に結合され、複数の器具ジョイント44を備える。各器具ジョイント44は回転可能であり、回転は、器具プラットフォーム24から器具ベース40を通って延び、関連する器具ジョイント44に取り付けられる腱を介して、図1に示されるロボットモータ26の一部を形成するモータによって駆動され得る。エンドエフェクタ46は、作動可能なアーム42に結合され、1つ以上の器具ジョイント44の回転によって器具作業空間内で可動である。ロボット器具22と、特に、エンドエフェクタ46は、器具作業空間内の位置及び器具作業空間に対する向きを有すると考えることができる。組み合わせて、エンドエフェクタ46の位置と向きは、ロボット器具/エンドエフェクタ姿勢として考慮されてもよい。
【0059】
エンドエフェクタ46はまた、開構成と閉構成との間で可動である一対の顎48を備える(図3に示す)。顎48の開閉は、図2に示される対応する受動コントローラ12のグリッパ38を操作することによって、ユーザ4により制御され得る。
【0060】
ここで、図2図3の両方を参照すると、各受動コントローラ12及びそのそれぞれのロボット器具22は、それぞれの作業空間と器具作業空間内で自由に移動することができる。使用中、制御作業空間は器具作業空間にマッピングされ、受動コントローラ12が制御作業空間内で移動するときに、ロボット器具22の姿勢が受動コントローラ12の姿勢を追跡できるようにする。
【0061】
しかしながら、エンドエフェクタ46が可動である器具作業空間は、典型的には、ハンドル36が可動である制御作業空間とは規模が非常に異なる。さらに、作動可能なアーム42の器具ジョイント44の配置は、典型的には、関節運動可能なアーム32のコントローラジョイント34の配置とは非常に異なっており、これは、器具作業空間の形状が制御作業空間の形状と異なる場合が多いことを意味する。
【0062】
従って、上述した相違点により、制御作業空間を器具作業空間に常に完全にマッピングできるとは限らない。これは、ユーザ4が、器具作業空間内で移動するエンドエフェクタ46により同じように複製できない制御作業空間内の姿勢にハンドル36を移動させることが可能であることを意味する。
【0063】
ここで、図4aと図4bを参照すると、ロボット器具22は、8つの器具ジョイントで6つの自由度(DoF)を有する。特定の器具ジョイントは表1にさらに定義される。
【0064】
表1: ロボット器具ジョイントの定義
【0065】
ベースジョイント100は、ロボットベースがどこにあるかを示す仮想ジョイントである。ロールジョイント101は、ロール運動を提供する外旋ジョイントである。並進ジョイント102は、並進運動を提供する直進ジョイントジョイントである。肘ピッチジョイント103と106は、動作が同じである肘ピッチ運動用の対になった2つのジョイントである。同様に、肘ヨージョイント104と105は、動作が同じである肘ヨー運動用の対になった2つのジョイントである。手首ピッチジョイント107は、手首ピッチ運動用の外転ジョイントであり、手首ヨージョイント108は、手首ヨー運動用の外旋ジョイントである。最後に、顎ジョイント109と110は、それぞれ左顎と右顎の2つの仮想ジョイントである。
【0066】
以下に記載するのは、正確な解が不可能であっても、ロボット器具22の姿勢が関連する受動コントローラ32(図2に示す)の姿勢をできるだけ正確に追跡するために、器具ジョイント101-108を作動させるモータコマンドを決定するように、本発明の実施形態によって使用される逆運動学アルゴリズムの説明である。
【0067】
逆運動学-基本
ロボット器具のエンドエフェクタ姿勢は、xとして表すことができ、その特定のエンドエフェクタの姿勢に必要なジョイント角度のセットは、qとして表すことができる。形式的には、ヤコビアン(Jacobian)は偏微分方程式のセットである:
これは、式(2)に書き換えることができる。
本質的に、ヤコビアンは、qの要素の移動がどのようにxの要素の移動を引き起こすかに関連する。式(2)は、式(3)として書き換えることができる。
K問題は、所望のエンドエフェクタのねじれを考慮した所望のジョイント速度、つまり、所望の姿勢に向かって最大6つの自由度で進行するときのエンドエフェクタの速度を計算する。
【0068】
【0069】
結合行列
対になったジョイントについて同一の動きを実現するために、結合行列が使用される。

【0070】
ロボット器具22の場合、結合行列は、8×6行列として定義される:
【0071】

【0072】
順運動学
順運動学は、入力されたジョイント角度に基づいてエンドエフェクタ姿勢を計算する。最初のジョイントから、ジョイントごとに移動連鎖ジョイントを通過し、通常は最初のジョイントに位置するベース座標に対するエンドエフェクタの姿勢を得る。その実装は、KDLライブラリ(Orocos Project https://www.orocos.org/kdl.html)「KDL::ChainFkSolverPos_recursive::JntToCart()」から入手できる。
【0073】
順運動学で対になったジョイントを扱うために、結合行列を使用する。その実装は、「pr::ChainFkSolverPosCoupling_recursive」で利用可能である。
【0074】
ヤコビアンの計算
ヤコビアンは、現在のジョイント構成に基づいて計算される。その実装は、「ChainJntToJacSolverCoupling::JntToJacCoupling()」にある。
【0075】
ソルバーの種類
数値IKアルゴリズムは、大域的最適化アルゴリズム及び局所的最適化アルゴリズムの2つのサブセットに分割できる。前者は検索空間全体を調べて、可能な限り最良の可能な解(大域解)を提供する。後者は、数学関数の知識を利用して、アルゴリズムの初期条件、つまり、さらなる計算の基礎となる初期条件に近い最適解を探す。
【0076】
大域的アルゴリズムを使用して見つけることができる大域解202の一例を、任意関数200について図5に示す。これは関数の全体的な最小値である。
【0077】
局所的アルゴリズムは、関数の現在の値をその近傍の値と比較し、解をより小さい値の方に移動させる。さらに、局所的アルゴリズムは、近くのすべての値が現在の解よりも高い場合に終了する。図6は、2つの異なる初期条件208、210に基づく、同じ関数200に対する2つの可能な局所解204、206を示す。一方の局所解204は、大域解202(図5に示す)と同等であるが、他方の局所解206は異なる。
【0078】
ロボット器具22が受動コントローラ12を用いてユーザ4によって設定された所望のエンドエフェクタ姿勢に対して既に局所的最小値にあるときに、装置2(図1に示す)が局所的アルゴリズムを使用する場合、局所的アルゴリズムは、よりよい解(例えば、図6における204)が可能である場合でも、同じ局所解(例えば、図6における206)を返し続ける。その結果、ロボット器具22の動きは実行されず、ロボット器具22はユーザ4に対して無反応に見えることになる。
【0079】
大域的アルゴリズムは客観的な最良の答えを提供するため、局所的アルゴリズムよりも優れているように見えるが、局所的アルゴリズムの方がより速く、有限時間内に終了し、より優れた滑らかさ特性を備えているため、多くの場合好まれる。本開示の目的上、滑らかさ特性は、ロボット器具22がジャンプしたりぎくしゃくと動いたりすることを防止するものと大まかに解釈することができる。
【0080】
本発明の実施形態は、局所的アルゴリズムの初期条件でランダムシューティングアプローチを実装することによって、局所的アルゴリズムの有効性から利益を得ながら、大域解を見つける。局所的アルゴリズムは、ランダムに選択された初期条件で複数回再起動される。最後に、見つかった最良の局所解のみがアルゴリズムから返される。
【0081】
特に、装置2は、受動コントローラ12から制御コマンドを受信するように構成され、受動コントローラ12は、複数のジョイント44及びエンドエフェクタ46を有するロボット器具22を遠隔制御するように構成され、制御コマンドは、エンドエフェクタ46の所望の姿勢を定義する。次に、装置2は、制御コマンドに基づいて、逆運動学アルゴリズムを使用して複数のジョイント44のそれぞれのジョイントパラメータを決定し、エンドエフェクタ46が制約付き環境、即ち、器具作業空間内で所望の姿勢をできるだけ忠実に模倣できるようにする。逆運動学アルゴリズムは、初期条件として第1セットのジョイントパラメータを使用してエンドエフェクタ46の姿勢を計算し、追跡エラーを決定するために計算された姿勢を所望の姿勢と比較し、ジョイントパラメータの1つ以上の異なるセットについて計算及び比較ステップを反復し、追跡エラーがエンドエフェクタ46の現在の姿勢に関連するものより小さい場合、最小の追跡エラーを有する計算された姿勢を大域解として特定し、そうでない場合には、現在の姿勢を大域解として特定するように構成されている。装置2は、最小の追跡エラーを有する計算された姿勢が大域解として特定された場合、大域解に関連するジョイントパラメータのセットに従って複数のジョイント44を再構成するモータコマンドを生成するようにさらに構成されている。
【0082】
ジョイントパラメータの異なるセットは、ランダムに選択される。従って、ジョイントパラメータの1つ又は複数のセットについて計算及び比較のステップを反復することにより、大域解を見つけることを可能にするランダムシューティングアプローチが提供される。
【0083】
制約
使用中、装置2、特に、ロボット器具22には様々な制限が課される。特に、エンドエフェクタ46の位置は、器具作業空間に制限される。また、エンドエフェクタが移動できる速度は、ロボット器具の物理的制限又は特定の用途に対して安全と考えられる最大速度に基づいて制限される場合がある。これらの制限を考慮して、アルゴリズムを実行可能解のセットに制限する制約が最適化問題に追加される。図7では、現在の状態301に基づいて、任意関数300について解が計算される。実行可能解は、制約302によって、任意関数300の制約付き領域304に制限される。制約なし大域解306は、制約付き領域304の外側に存在し、従って実行不可能である。一方、局所解308は、制約付き領域304内に存在するため、実行可能である。また、制約付き領域304内であるため実行可能であり、制約なし局所解308よりも優れている制約付き大域解310もある。
【0084】
図8では、同じ現在の状態301に基づいて、同じ制約302を適用して、新たな任意関数400について解が計算され、制約付き領域404が提供される。この例では、制約なし大域解406は、図7に示されるものと同様に、制約付き領域404の外側に存在し、従って実行不可能である。しかしながら、任意関数400については、局所解408が存在し、これは、制約付き領域404内で利用可能な最良の解であり、従って制約付き大域解である。
【0085】
図9では、同じ現在の状態301に基づくが、新たな制約502を適用して、更なる任意関数500について解が計算され、制約付き領域504が提供される。制約なし大域解506は、図7及び8に示されるものと同様に、制約付き領域504の外側に存在し、従って実行不可能である。この場合、制約なし局所解508も、制約付き領域504の外側に存在する。しかしながら、制約付き局所解510は制約付き領域504内に存在し、これは、制約付き領域504内で利用可能な最良の解であり、従って制約付き大域解及び制約付き局所解である。
【0086】
本発明の実施形態では、IKアルゴリズムは、ロボット器具の位置制約を満たすエンドエフェクタの部分的な制約付き姿勢の計算を可能にするために、予め定義された位置制限を含む。位置制約は、ロボット器具22の長さ、各ジョイント44による達成可能な動きの範囲、及びロボット器具22の長さに沿った各ジョイント44の位置など、ロボット器具22(図3)の物理的な制限に基づく器具作業空間に基づくことができる。IKアルゴリズムによって計算される任意の解が物理的に可能であることを保証するために、装置2の使用中に位置制約を常に適用して、すべての解が部分的に制約されるようにすることができる。
【0087】
IKアルゴリズムは、ロボット器具の位置制約と速度制約の両方を満たすエンドエフェクタの制約付き姿勢の計算を可能にするために、予め定義された速度制限をさらに含んでもよい。予め定義された速度制限は、安全であるとみなされ、且つユーザが移動を監視し、軌跡を測定し、潜在的に安全でない場合に移動をオーバーライドする能力を有するようにするロボット器具の最大速度に基づくものであってもよい。
【0088】
逆運動学-基礎
本発明の実施形態では、逆運動学アルゴリズムは、運動学とダイナミクスライブラリソルバー(Kinematics and Dynamics Library solver)、改良された運動学とダイナミクスライブラリソルバー(Improved Kinematics and Dynamics Library solver)、及び逐次二次計画法ソルバー(Sequential Quadratic Programming solver)のうちの1つ又は複数を備える。
【0089】
従来のIK - 運動学とダイナミクスライブラリソルバー(KDL)ソルバー
2種類のIK:速度と位置がある。位置IKの計算は、速度IKに基づくことができる。
【0090】
【0091】
ヤコビアンは、可逆行列ではない可能性があるため、擬似逆行列が使用される。ヤコビアンの擬似逆行列を推定すために、J、特異値分解(SVD)が使用される。SVD定理は、任意の行列が3つの非ユニーク行列の積として書けることを述べている。従って、m×nヤコビアン行列は次のように因数分解できる。
Σは、特異値として知られる非負の対角要素を有するm×n対角行列である。Uはm×m行列であり、Vはn×n行列である。SVDをベクトルの外積の合計として書くのが一般的である:

σは、特異ベクトル内で大きいものから小さいものへと順序付けられる特異値である。次に、ヤコビアンの擬似逆行列は、すべての非零特異値の逆数を取ることによってSVDから見つけることができる。特に、擬似逆行列Jは次のように与えられる:
rはJのランクである。この方法の実装は、KDLの「ChainIKSolverVel_pinv」で利用可能である。
【0092】
位置IKの目的は、エンドエフェクタ姿勢xを使用して、ジョイント位置qを計算することである。これは、順運動学(FK)と速度IKソルバーを利用することで実現できる。実装は、「pr::ChainIKSolverPosCouplingNrJntLimit::CartToJntCoupling」で利用可能である。
【0093】
同時二次計画法IK(TRAC-IK)
上で紹介した既知のKDLソルバーは、ロボット器具がジョイント制限、つまり1つ又は複数のジョイントによって許容される動きの範囲などの物理的特性による移動の制限に達していないときの通常の条件で正常に動作する。Beeson、Patrick、及びBarrett Ames(TRAC-IK:An open-source library for improved solving of generic inverse kinematics..2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids))によると、KDLには次の問題がある:
【0094】
1.ジョイント制限のあるロボットで収束が頻繁に失敗する。
2.検索が局所的最小値で「行き詰まる」ことになった場合、アクションは実行されない。
3.デカルト姿勢公差に対するサポートが不十分である。
4.IKソルバー自体で公差が使用されない。
【0095】
TRAC-IKは、KDLソルバーの改良と、幾つかのメトリックを有するIKの代替非線形最適化定式化を提案した。
【0096】
まず、改良されたソルバーは、終了制約として最大反復回数を使用する代わりに、最大時間を使用する。これは、KDLソルバーを他のIKソルバーと比較するの役立つ。
【0097】
第2に、改良されたKDLソルバーは、qの現在の推定値と以前の推定値の差がゼロに近いか否かをチェックすることによって局所的最小値を検出する。局所的最小値が検出されると、新たなランダムqが反復アルゴリズムを「引き離す(unstick)」ためにに使用される。この改良されたKDLソルバーの実装は、「KDL::ChainIKSolverPos_TL」で利用可能である。
【0098】
しかしながら、改良されたKDLソルバーは、ジョイント制限に遭遇すると依然として失敗を示す。各反復では、KDLソルバーは、qの値をジョイント制限にクランプする。従って、ジョイント制限により検索スペースがスムーズでなくなり、解が存在するシナリオでIKソルバーが失敗する原因になる。この問題を軽減するために、IK問題は、逐次二次計画法(SQP)を使用して局所的に解くことができる非線形最適化問題として形成することができる。SQPは、非線形最適化のための反復アルゴリズムであり、2回連続微分可能な目的関数と制約を有する問題に適用することができる。目的関数は次のとおりである:
f(q)は、現在のジョイント構成qのエンドエフェクタ姿勢を返すFKソルバーであり、pは所望の姿勢である。SQP IK方法の実装は、「NLOPT_IK::CartToJnt」で利用可能である。
【0099】
SQP IKソルバーは、IK解決速度(IK solve rate)の点でKDLソルバーよりも優れているが、SQP IKソルバーが解に収束するまでの計算時間ははるかに長くなる可能性がある。TRAC_IKは、計算時間を比較的短く保ちながら全体的な解決速度を向上させるように、改良されたKDLソルバーとSQPソルバーを同時に実行する同時処理方法(concurrent method)を提案した。同時処理アルゴリズム(concurrent algorithm)の実装は、両方のソルバーが開始され、許容された時間内に解を最初に得るソルバーが他のソルバーを終了できる「TRAC_IK::CartToJnt」で利用可能である。
【0100】
従って、本発明の実施形態では、逆運動学アルゴリズムは、大域解を最初に特定するソルバーが他のソルバーを終了するように、同時に実行される2つ以上のソルバーを備える。
【0101】
逆運動学-本発明の実施形態
ロボットの制御性と人間の安全性に関する2つの重大な問題が、上記のTRAC-IKアルゴリズムで特定された。まず、所望のマスター姿勢が器具によって達成できない場合、器具はフリーズする。第2に、提案されたIKスキームは、器具が運動学的構成を突然変更することを引き起こす可能性がある。これらの問題に対処するために、IKアルゴリズムに次の修正が実装された:
- 作業空間境界での器具のフリーズを防ぐために、不完璧な解を受け入れる。
- 構成の変更を防ぐために、架空の速度制限を追加する。
- 器具がフリーズすると、器具を実行可能な作業空間に戻すロック解除アクションを提供する。
- 所望の状態がジョイント空間速度制限外にある場合、安全な軌跡を生成するために、補助された制御モードを提供する。
【0102】
元のアルゴリズムに実装された変更については、以下に詳しく説明する。
【0103】
器具のフリーズを防ぐために、不完璧な解を受け入れる。
【0104】
最初のIKアルゴリズム(13)では、提案された解を所望の値と比較することによって成功がチェックされる。アルゴリズムは次の通りである。
ref∈Rは、受動コントローラから受信した所望のエンドエフェクタ姿勢を表し、p_i=f(q)∈Rは、アルゴリズムの現在の反復によって計算されたエンドエフェクタ姿勢を表し、qinit∈Rは、アルゴリズム初期条件を示し、p=f(q)∈Rは、ロボット器具の現在の状態(利用可能なジョイント角度センサフィードバックがない場合に、ロボット器具を駆動するモータに送信された最後のジョイント空間コマンド)に基づいて計算されたエンドエフェクタ姿勢であり、p=f(q)∈Rは、現在の制御候補(即ち、これまでに計算された最良の解)を表し、ε∈Rは、許容されるアルゴリズム公差を表し、t∈Rとtmax∈Rは、アルゴリズムが実行できる現在時間及び最大時間を表す。追跡エラー条件がtrueの場合、アルゴリズムは成功を返し、pに関連するジョイント空間コマンドが、ロボット器具22を駆動するモータに送信される。
【0105】
しかしながら、(13)における追跡条件を満たすジョイント空間値が常に存在するとは限らない。実行可能な解が存在する場合でも、使用中にIKアルゴリズムは、制御に費やされる時間内に完璧な解を見つけることができない場合がある。これらの場合では、元のアルゴリズムは失敗を返し、器具コマンドは更新されない。その結果、器具は、(13)を満たす解が見つかるまで、マスターコマンドに応答しない。図10は、第1IKアルゴリズム600のアルゴリズムロジックを示す。
【0106】
この問題に対する既知の解は、次の最適化問題(又は同等のもの)を解くことを含む。
【0107】
アルゴリズム(14)は、見つかった解が成功と見なされるために、所望の解にどれだけ近くなければならないかという制約なしに、所望の解に最も近い解を見つける。しかしながら、この解は局所解であるため、(13)で使用されるようなランダムシューティングをサポートせず、局所的最小値に行き詰まる可能性がある。
【0108】
以下に説明する本発明の実施形態によって使用される解は、(14)(又は他の任意の局所最適化アルゴリズム、例えば、KDL又はSQP)によって提供される局所解を採用し、所定の時間内に見つかった大域的な最良の解を生成する。
【0109】
完璧な解が見つからない場合でもマスターコマンドに対する器具の応答性を維持するために、(13)は、本発明の実施形態によって使用される第2IKアルゴリズム(15)を提供するように修正されている。それは次の通りである:
【0110】
最先端の解(14)とは対照的に、IKアルゴリズム(15)は、ソルバー初期条件(pinit=f(qinit))ではなく、現在の器具姿勢(p)に対して最良の解を選択することに注意されたい。それは、見つかった局所解が現在のロボット器具姿勢よりも所望の姿勢から遠く離れている可能性がある、TRAC-IKアルゴリズムで使用されるランダムな初期条件を考慮するためである。このシナリオの例は、任意関数200と現在の器具状態702に関して図11に示されている。ランダムな初期条件704に基づいて、現在のロボット器具姿勢より悪いロボット器具姿勢に対応する局所解706が見つかるであろう。第2IKアルゴリズム(15)のアルゴリズムロジック800は、図12に示される。
【0111】
このアルゴリズムは、正確な解が見つからない場合でも利用可能な最良の解を返すが、初期条件により、アルゴリズムによって提案される解がロボット器具の現在の状態より悪くないことが保証される。その結果、ロボット器具は、完璧な解が存在しない場合でも、例えば、受動コントローラ姿勢が器具作業空間の外にある場合でも、応答性を維持する。
【0112】
構成の変更を防ぐために、架空の速度制限を追加する
【0113】
所与のエンドエフェクタ姿勢について、ロボット器具は、1つより多くの可能な構成を有する可能性がある。例えば、図13は、第1ジョイント902、第2ジョイント904及びエンドエフェクタ906を有する簡単なロボット器具922を示す。現在の構成908では、第1ジョイント902は角度qで配置され、第2ジョイント904は角度qで配置される。しかしながら、所望のエンドエフェクタ位置pについては、2つの構成が可能である。
【0114】
2つの可能な構成を考慮すると、エンドエフェクタ906の位置は同等である。つまり、
【0115】
しかしながら、この位置に到達するために機械的ジョイントから必要な動きの量は異なる。
【0116】
単位時間に行われるロボット器具の機械的ジョイントの動きの量は、ジョイント空間速度と呼ばれる。
【0117】
図13では、所定の時間内の、現在の構成908から第2構成912へのロボット器具の移動は、現在の構成908から第1構成910への移動よりも、ジョイント902、904の著しく速い動きを必要とする。その結果、第2構成が選択された場合、器具がジャンプするように見え、動きがユーザにとって予測不可能であると感じる可能性がある。これは、大きなジョイント空間の動きがエンドエフェクタの位置の小さな変化、つまりユーザによって実行される受動コントローラの小さな動きに対応する場合に特に当てはまる。
【0118】
構成の変更をを防ぐ(器具が第1構成910ではなく第2構成912に移動することを防ぐ)ための標準的なアプローチは、ロボット器具の機械的ジョイントの許容速度を制限することである。これらの制限は、ジョイント空間速度制限と呼ばれる。
【0119】
ジョイント空間速度制限を適用する既知の方法は、次の(又は同等の)最適化問題を解くことである:
【0120】
前のケースと同様に、この解はアルゴリズム初期条件に近い速度制限のみを考慮する。さらに、これは、各ステップで速度制限を強制するため、アルゴリズムが大域解を見つけることを妨げる。ジョイント空間速度制限を考慮するために一般的に使用される代替解は次の通りである:
ここで、W∈Rn×nは重み行列である。このアルゴリズムは、(18)よりも広範囲の解を見つけることができるが、ジョイント空間速度制限は厳密には課されない。ジョイント空間速度とエンドエフェクタ追跡エラーのバランスをとる解は、アルゴリズム(19)によって見つかる。
【0121】
以下に説明するアルゴリズムは、局所的なレベルで速度制限を実装するするのではなく、局所的な制約なしIKアルゴリズムを利用して、大域的なレベルで速度制限を適用する。
【0122】
器具構成の変更に対処するために、アルゴリズム(15)は、第3IKアルゴリズム(20)の速度制限を考慮して拡張されている。それは次の通りである:
「局所的アルゴリズム(local algorithm)」は、局所解を計算する任意のアルゴリズムを指す。(20)では、[1]、[2]及び[3]は、初期化フェーズを表す。初期化後、終了条件が満たされるまで反復ループ[4]~[10]が実行される。ループ[4]~[10]内では、局所解を計算するためのアルゴリズムの内部反復ループ[6]~[9]が実行され、ここで、部分的な制約付き解(予め定義された位置制限内で実行可能)と制約付き解(予め定義された位置制限と予め定義された速度制限の両方で実行可能)が反復ごとに更新される。言い換えれば、第3IKアルゴリズム(20)は、エンドエフェクタの制約付き姿勢と部分的な制約付き姿勢の両方の計算を可能にするために、予め定義された位置制限と速度制限を個別に適用するように構成されている。
【0123】
局所解を計算するためのアルゴリズムは、このドキュメントの残りの部分で「局所的アルゴリズム」と呼ばれる。局所的アルゴリズムは、運動学とダイナミクスライブラリソルバー(Kinematics and Dynamics Library solver)、改良された運動学とダイナミクスライブラリソルバー(Improved Kinematics and Dynamics Library solver)、及び逐次二次計画法ソルバー(Sequential Quadratic Programming solver)など、局所解を計算するための任意の適切なアルゴリズムであってもよい。さらに、図14に示されるアルゴリズムロジック1000によって示されるように、大域解を最初に特定するソルバーが他のソルバーを終了するように、2つ以上のソルバーが同時に実行されてもよい。
【0124】
初期化フェーズは、局所的アルゴリズムの初期条件を現在の器具状態に設定することによって開始する[1]。次に、部分的な制約付き[2]解及び制約付き[3]解は、(20)によって生成された最終的な解が現在の状態より悪くないことを保証するために、現在の器具状態に初期設定される。
【0125】
[4]では、反復ループが開始する。それは、最大時間制限を超えるか、終了制約を満たす解を見つけると終了する。終了制約は、アルゴリズムの期待される精度、即ち、解が
これは、ディジタル計算の数値精度、器具の実用的な精密度を考慮し、有限の収束時間を確保するために必要である。
【0126】
ループ[4]~[10]の第1反復の開始時に、局所的アルゴリズムは現在の初期状態[5]で開始する。局所的アルゴリズム[6]~[9]の各ステップで、見つかった現在の解は、保存されている部分的な制約付き([8]における)解及び制約付き([9]における)解と独立して比較される。現在の解が保存されている値よりも最適であり、制約付き解について制約が満たされる場合、保存されている値は新しい値に更新される。既知のアプローチでは、位置制限と同じ方式で速度制限が適用される。しかしながら、本発明の実施形態では、速度制限は局所的アルゴリズムの反復ごとにチェックされるが、速度制限を超えても局所的アルゴリズムは終了されない。このアプローチにより、アルゴリズムは、制約付き解(両方の制限セットを満たす)に加えて、部分的な制約付き解(位置制限を満たすが、速度制限は必ずしも満たさない)を見つけることができる。
【0127】
最後に、局所的アルゴリズムが終了すると、新たな初期条件がランダムに生成され、新たな初期条件で初期化された局所的アルゴリズムでループ[4]~[10]の新たな反復が開始する。局所的アルゴリズムの初期条件が現在の状態と一致するため、第3IKアルゴリズム(20)の第1反復では、常に現在の状態の局所解が見つかることに注意されたい。局所的に解が見つからない場合にのみ、アルゴリズム(20)は、局所的アルゴリズムの初期条件を変更することで大域解を探し始める。第3IKアルゴリズム(20)は、最大時間に達するか、又は終了制約に満たす解が見つかるまで、即ち、終了条件が満たされるまで再実行される。言い換えれば、計算及び比較のステップ[5]~[9]は、予め定義された時間制限が経過するまで、又は予め定義された終了制約が満たされるまで[4]反復される[10]。
【0128】
全体として、第3IKアルゴリズム(20)は、大域的な最適化アルゴリズムである。第3IKアルゴリズム(20)が終了制約[4]を介して終了する場合、返される制約付き解及び部分的な制約付き解は大域的に最適である。(20)が時間制限により終了する場合、提供された制約付き解の大域的な最適性を主張することはできない。しかしながら、(20)が時間制限により終了する場合、部分的な制約付き解の大域的な最適性は、終了制約[4]を部分的な制約付き解に適用することによってチェックすることができる。部分的な制約付き解に対する[4]の追跡エラーが所与の閾値未満である場合、部分的な制約付き解は、大域的に最適であると考えることができる。そうでない場合は、大域的な最適性を主張することができない。
【0129】
このアプローチは、制約付き解と部分的な制約付き解の両方を提供し、局所的アルゴリズムの初期条件のランダムシューティングをサポートする。制約付き解はデフォルトで適用されるが、部分的な制約付き解は、以下に説明するように、速度制限により器具の動きがフリーズした場合に器具の動きをロック解除するために使用される。
【0130】
ロック解除アクションを提供する
【0131】
速度制限の導入により、受動コントローラの動きが最大のジョイント空間速度制限よりも速いロボット器具の動きにマッピングされると、ロボット器具がフリーズする可能性がある。器具の異なる運動学的構成に対してよりよい解が存在する場合でも、器具が局所的最小値にある場合、IKアルゴリズムは、器具の動きを防止する場合もある。さらに、外科医は、システムが許容される器具姿勢を速度制限で制限しているため、所与の運動学的構成にある器具が制御不能に感じられると判断する場合がある。これらの影響に対抗するために、受動コントローラは、追跡中断後に受動コントローラ姿勢に対するロボット器具姿勢の追跡を回復するように構成されたロック解除機構を備える。
【0132】
本発明の実施形態では、ロック解除機構は、図1に示すように、受動コントローラ12に動作可能に結合されたペダルコントロール16をそれぞれ押したり離したりすることによって、ロック解除機構を作動及び非作動にすることができる。本発明の他の実施形態では、受動コントローラは、例えば、ボタン、トリガ、レバー、又は音声コマンドシステムなど、ユーザがロック解除機構を作動させるための任意の適切な手段を備えることができる。
【0133】
ロック解除機構の起動により、装置は、制約付き大域解として特定された制約付き姿勢が、部分的な制約付き大域解として特定された部分的な制約付き姿勢と一致するか否かを決定する。制約付き姿勢と部分的な制約付き姿勢が一致しない場合、装置は、部分的な制約付き大域解に従ってモータコマンドを生成する。言い換えれば、ロック解除機構の起動により、装置は、ロボット器具の現在の制約付き姿勢が、部分的な制約付き大域解、即ち、ロボット器具の位置制限内の最良の利用可能な解として特定された部分的な制約付き姿勢と同等であるかをチェックする。同等でない場合、装置は、ロボット器具を部分的な制約付き姿勢に移動させる。
【0134】
しかしながら、可能性がない場合、部分的な制約付き姿勢がロボット器具の速度制約を満たさない可能性がある。この場合、装置は、軌跡アルゴリズムを使用して、エンドエフェクタが予め定義された速度制限内で現在の姿勢から部分的な制約付き姿勢に移動するように、器具作業空間内のロボット器具の移動の軌跡を決定するように構成されている。次に、装置は、決定された軌跡に従ってロボット器具の移動を自動制御するためにモータコマンドを生成する。
【0135】
本発明の実施形態では、装置は、現在の制約付きロボット器具の姿勢が大域的に最適であるか否かをチェックする。
このチェックは最大回数(例えば、10回など)まで実行される。繰り返し回数は、IKアルゴリズムによって有効な解が見つかった場合にのみ最大回数から減少する。この制限内で、制約なし解と制約付き解が常に一致する場合、装置は通常の動作に戻る、即ち、ロック解除機構は終了する。
制約なし解が使用される場合に器具の突然の予期しない動きを回避するために、ロボット器具の軌跡は、ロボット器具が予め定義された速度制限内で移動することを保証する軌跡アルゴリズムを使用して決定される。現在のロボット器具姿勢が所望の姿勢と一致すると、装置は通常の動作に戻る。
【0136】
ロック解除機構が作動している間、即ちロボット器具が部分的な制約付き姿勢に自動的に移動している間、ユーザは受動コントローラを移動させる可能性がある。ロボット器具の最終姿勢が現在の受動コントローラの姿勢をできるだけ正確に追跡することを保証するために、装置は、受動コントローラの姿勢が変化するにつれて移動の軌跡を再決定するように構成されている。
【0137】
軌跡アルゴリズム
本発明の実施形態によって使用される軌跡アルゴリズムについては、以下に説明する。
【0138】
から所望の状態q*に移動させるために、軌跡アルゴリズムが導入される。それは次の通りである:
ここで、k∈Rは、生成された軌跡がジョイント空間の速度制限内にあることを保証するための大域的なスケール係数を表し、k∈Rは、予め定義された速度制限未満の速度まで移動を減速するためのユーザ-定義スケール係数を表し、k∈Rは、軌跡を終了するための終了制約閾値であり、qは現在の制御コマンドである。
【0139】
軌跡アルゴリズム(21)は、大域的なスケール係数kを1に設定する[1]ことによって開始する。この値は、軌跡スケーリングが実行されない状況を表す。
大域的なスケール係数は、ロボット器具の移動が予め定義された速度制限を超えないことを保証するために計算される。現在のジョイントに対して計算されたスケール係数が現在の大域的なスケール係数(k)よりも小さい場合、即ち、軌跡を前のジョイントよりも小さくする必要がある場合、大域的なスケール係数(k)が更新される[5]。
【0140】
[4]の計算では、追加のユーザ-定義スケール係数(kが導入される場合がある。これは、アルゴリズムの初期化時にアルゴリズムのユーザによって定義されたオプションの定数値である。これにより、ユーザは器具の動きを予め定義された速度制限未満まで減速することができる。この値は、自動ロボット器具の動きを、人間が器具の動きをより簡単に監視できる速度まで減速するのに役立つ。軌跡更新が計算されるとき、大域的なスケール係数(k)はすべてのジョイントに適用される[6]。これは、すべてのジョイントについて軌跡が同時に終了することを保証するためであり、その結果、より一貫した動きが得られる。
【0141】
最終の軌跡ステップが適用されると、スケーリングが不要であれば軌跡時間が更新される[7]。
この点を超えると、軌跡は遅くなり始めるか、又は、kωt∈(π;3/2π)⇒sin(kωt)<0の場合、器具を初期位置に向かって戻る。条件(kωt≦π/2)は、大域的なスケール係数が適用されず、所望の状態qが一定である場合に暗黙的に満たされる。動き生成中にスケール係数が適用されるとき、又は所望の状態qが更新されるとき、条件(kωt≦π/2)に違反しないことを保証するために、ジョイントスケーリングが必要な場合、tによって示される軌跡ジェネレータの進行は前方に移動されない[7]。
【0142】
最後のステップでは、終了条件がチェックされる[8]。生成された軌跡にスケーリングが適用されず、すべてのジョイントが所与の閾値(k)までそれらの所望の位置に到達したときに、軌跡が終了したとみなされる。終了制約閾値(k)は、アルゴリズムが有限時間内に終了できるようにする定数パラメータである。これは、数値精度、アルゴリズムの時間ステップ、及び制御される器具の精密度を考慮する。
【0143】
ロボット器具が自動制御されているとき、軌跡アルゴリズム(21)は、器具を現在の状態(q)から所望の状態に(q)安全に移動させるためにコマンドを生成する。生成されたコマンドはモータに送信される。現在の状態が所望の状態(||q-q||<ε)に達すると、アルゴリズムは自動的に終了する。あるいは、それは、外科医が受動コントローラの操作によってロック解除機構を非能動化すると、直ちに終了する。
【0144】
所望のジョイント空間状態(q)は、軌跡生成中に安全に更新することができる。軌跡アルゴリズムの設計により、このような場合でも安全なジョイント空間の動きが保証される。
【0145】
出願人は、本明細書に記載される個々の特徴のそれぞれを単独で、及び2つ以上のそのような特徴の任意の組み合わせを、そのような特徴又は特徴の組み合わせが本明細書に開示される問題を解決するか否かに関係なく、かつ特許請求の範囲を限定することなく、当業者の共通の一般知識に照らして、そのような特徴又は組み合わせが全体として本明細書に基づいて実施できる範囲で開示する。出願人は、開示されている態様/実施形態が、任意のこのような特徴又は特徴の組み合わせから構成され得ることを示唆している。前述の説明を考慮すると、本開示の範囲内で様々な修正を行うことができることが当業者には明らかであろう。
図1
図2
図3
図4a
図4b
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2023-11-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
装置であって、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含む少なくとも1つのメモリーとを備え、
前記少なくとも1つのメモリーとコンピュータプログラムコードは、少なくとも1つのプロセッサで、前記装置に、
受動コントローラから制御コマンドを受信し、前記受動コントローラは、複数のジョイント及びエンドエフェクタを有するロボット器具を遠隔制御するように構成され、前記制御コマンドは、前記エンドエフェクタの所望の姿勢を定義することと、
制約付き環境において可能な限り厳密にエンドエフェクタが所望の姿勢を模倣できるようにするために、前記制御コマンドに基づいて、逆運動学アルゴリズムを使用して前記複数のジョイントのぞれぞれのジョイントパラメータを決定することとを行わせるように構成され、
前記逆運動学アルゴリズムは、
初期条件としてジョイントパラメータの第1セットを使用して前記エンドエフェクタの姿勢を計算し、
計算された姿勢を前記所望の姿勢と比較して追跡エラーを決定し、
ジョイントパラメータの1つ以上の異なるセットについて計算及び比較ステップを反復し、
前記追跡エラーが前記エンドエフェクタの現在の姿勢に関連するものより小さい場合にのみ、最小の追跡エラーを有する計算された姿勢を大域解として特定し、そうでない場合には、前記現在の姿勢を大域解として特定するように構成され、
前記装置は、前記最小の追跡エラーを有する前記計算された姿勢が大域解として特定された場合、前記大域解に関連する前記ジョイントパラメータのセットに従って前記複数のジョイントを再構成するために、モータコマンドを生成するようにさらに構成されている、ことを特徴とする装置。
【請求項2】
前記異なるセットのジョイントパラメータは、ランダムに選択される、ことを特徴とする請求項1に記載の装置。
【請求項3】
前記逆運動学アルゴリズムは、予め定義された時間制限が経過するか、又は予め定義された終了制約が満たされるまで、計算及び比較のステップを反復するように構成されている、ことを特徴とする請求項に記載の装置。
【請求項4】
前記逆運動学アルゴリズムは、前記ロボット器具の位置制約を満たす前記エンドエフェクタの部分的な制約付き姿勢の計算を可能にするために、予め定義された位置制限を含む、ことを特徴とする請求項に記載の装置。
【請求項5】
前記逆運動学アルゴリズムは、前記ロボット器具の位置制約と速度制約の両方を満たす前記エンドエフェクタの制約付き姿勢の計算を可能にするために、予め定義された速度制限をさらに含む、ことを特徴とする請求項4に記載の装置。
【請求項6】
前記逆運動学アルゴリズムは、前記エンドエフェクタの制約付き及び部分的な制約付き姿勢の両方の計算を可能にするために、予め定義された位置制限及び速度制限を個別に適用するように構成されている、ことを特徴とする請求項5に記載の装置。
【請求項7】
前記受動コントローラ及びロボット器具は、それぞれの制御作業空間及び器具作業空間内で自由に移動することができ、前記制御作業空間は、前記受動コントローラが前記制御作業空間内で移動するときに前記ロボット器具の姿勢が前記受動コントローラの姿勢を追跡できるようにするために、前記器具作業空間にマッピングされる、ことを特徴とする請求項に記載の装置。
【請求項8】
前記受動コントローラは、追跡中断後に前記受動コントローラの姿勢に対する前記ロボット器具の姿勢の追跡を回復するように構成されたロック解除機構を備え、前記ロック解除機構の起動により、前記装置は、
制約付き大域解として特定された制約付き姿勢が、部分的な制約付き大域解として特定された部分的な制約付き姿勢と一致するか否かを決定し、
前記制約付き姿勢と前記部分的な制約付き姿勢が一致しない場合、前記部分的な制約付き大域解に関連するジョイントパラメータのセットに従ってモータコマンドを生成する、ことを特徴とする求項7に記載の装置。
【請求項9】
前記部分的な制約付き姿勢が前記ロボット器具の前記速度制約を満たさない場合、前記装置は、
軌跡アルゴリズムを使用して、前記エンドエフェクタが前記予め定義された速度制限内で前記現在の姿勢から前記部分的な制約付き姿勢に移動するように、前記器具作業空間内の前記ロボット器具の移動の軌跡を決定し、
決定された軌跡に従って前記ロボット器具の移動を自動制御するために、前記モータコマンドを生成するように構成されている、ことを特徴とする請求項8に記載の装置。
【請求項10】
前記装置は、前記受動コントローラの姿勢が変化すると、前記移動の軌跡を再決定するように構成されている、ことを特徴とする請求項9に記載の装置。
【請求項11】
前記軌跡アルゴリズムは、前記ロボット器具の移動が前記予め定義された速度制限を超えないことを保証するために計算される大域的なスケール係数を備える、ことを特徴とする請求項に記載の装置。
【請求項12】
前記軌跡アルゴリズムは、前記ロボット器具の移動を予め定義された速度制限未満まで減速するためのユーザ定義のスケール係数を備える、ことを特徴とする請求項に記載の装置。
【請求項13】
前記逆運動学アルゴリズムは、運動学とダイナミクスライブラリソルバー(Kinematics and Dynamics Library solver)、改良された運動学とダイナミクスライブラリソルバー(Improved Kinematics and Dynamics Library solver)、及び逐次二次計画法ソルバー(Sequential Quadratic Programming solver)のうちの1つ又は複数を備える、ことを特徴とする請求項に記載の装置。
【請求項14】
前記逆運動学アルゴリズムは、大域解を最初に特定するソルバーが他のソルバーを終了するように、同時に実行される2つ以上のソルバーを備える、ことを特徴とする請求項に記載の装置。
【請求項15】
前記複数のジョイントのそれぞれの前記ジョイントパラメータは、前記ジョイントの位置、角度、向き、構成、及び速度のうちの1つ又は複数を含む、ことを特徴とする請求項に記載の装置。
【請求項16】
前記逆運動学アルゴリズムは次の形式を有し、
ref∈Rは、受動コントローラから受信した所望のエンドエフェクタ姿勢を表し、p=f(q)∈Rは、前記アルゴリズムの現在の反復によって計算されたエンドエフェクタ姿勢を表し、qinit∈Rは、アルゴリズム初期条件を示し、p=f(q)∈Rは、前記ロボット器具の現在の状態、又はジョイント角度センサフィードバックが利用できない場合にロボット器具を駆動するモータに送信された最後のジョイント空間コマンドに基づいて計算されたエンドエフェクタ姿勢であり、p=f(q)∈Rは、現在の制御候補を表し、ε∈Rは、受け入れられたアルゴリズム公差を示し、t∈Rとtmax∈Rは、前記アルゴリズムが実行できる現在時間及び最大時間を示す、ことを特徴とする請求項に記載の装置。
【請求項17】
前記逆運動学アルゴリズムは次の形式を有し、
「局所的アルゴリズム(local algorithm)」は、局所解を計算する任意のアルゴリズムを指す、ことを特徴とする求項16に記載の装置。
【請求項18】
前記軌跡アルゴリズムは次の形式を有し、
∈Rは、生成された軌跡がジョイント空間の速度制限内にあることを保証するための大域的なスケール係数を表し、k∈Rは、予め定義された速度制限未満の速度まで移動を減速するためのユーザ義のスケール係数を表し、k∈Rは、軌跡を終了するための終了制約閾値である、ことを特徴とする求項12に記載の装置。
【請求項19】
前記ロボット器具は、手術用ロボットである、ことを特徴とする請求項1~18のいずれか一項に記載の装置。
【請求項20】
前記装置は、受動コントローラ及び/又はロボット器具を備える、ことを特徴とする請求項1~18のいずれか一項に記載の装置。
【請求項21】
コンピュータで実施される方法であって、
受動コントローラから制御コマンドを受信するステップであって、前記受動コントローラは、複数のジョイント及びエンドエフェクタを有するロボット器具を遠隔制御するように構成され、前記制御コマンドは、前記エンドエフェクタの所望の姿勢を定義するステップと、
制約付き環境において可能な限り厳密にエンドエフェクタが所望の姿勢を模倣できるようにするために、前記制御コマンドに基づいて、逆運動学アルゴリズムを使用して前記複数のジョイントのぞれぞれのジョイントパラメータを決定するステップとを含み、
前記逆運動学アルゴリズムは、
初期条件としてジョイントパラメータの第1セットを使用して前記エンドエフェクタの姿勢を計算し、
計算された姿勢を前記所望の姿勢と比較して追跡エラーを決定し、
ジョイントパラメータの1つ以上の異なるセットについて計算及び比較ステップを反復し、
前記追跡エラーが前記エンドエフェクタの現在の姿勢に関連するものより小さい場合にのみ、最小の追跡エラーを有する計算された姿勢を大域解として特定し、そうでない場合には、前記現在の姿勢を大域解として特定するように構成され、
前記方法は、前記最小の追跡エラーを有する前記計算された姿勢が大域解として特定された場合、前記大域解に関連する前記ジョイントパラメータのセットに従って前記複数のジョイントを再構成するために、モータコマンドを生成するステップをさらに含む、ことを特徴とする方法。
【請求項22】
請求項21の方法を実行するように構成されたコンピュータコードを含むコンピュータプログラム。
【国際調査報告】