JP2022070808A - ロボットジョイント制御 - Google Patents

ロボットジョイント制御 Download PDF

Info

Publication number
JP2022070808A
JP2022070808A JP2021120953A JP2021120953A JP2022070808A JP 2022070808 A JP2022070808 A JP 2022070808A JP 2021120953 A JP2021120953 A JP 2021120953A JP 2021120953 A JP2021120953 A JP 2021120953A JP 2022070808 A JP2022070808 A JP 2022070808A
Authority
JP
Japan
Prior art keywords
joint
arm
joints
robot
adjustment signal
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.)
Granted
Application number
JP2021120953A
Other languages
English (en)
Other versions
JP7079881B2 (ja
Inventor
フィリップス・デズモンド
Phillips Desmond
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CMR Surgical Ltd
Original Assignee
CMR Surgical Ltd
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
Priority claimed from GB1915688.4A external-priority patent/GB2588630B/en
Application filed by CMR Surgical Ltd filed Critical CMR Surgical Ltd
Priority to JP2021120953A priority Critical patent/JP7079881B2/ja
Publication of JP2022070808A publication Critical patent/JP2022070808A/ja
Application granted granted Critical
Publication of JP7079881B2 publication Critical patent/JP7079881B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】ロボットマニピュレータなどの機械システムのための改善された制御システムを提供する。【解決手段】基部と、基部から器具の取付部まで延在するアームと、を有する、ロボットであって、アームが、n個のジョイントを含み、n>1の場合に、アームの構成が、変更可能であり、アームが、基部と器具の取付部との間の所与の関係に対して複数の構成を有しており、ロボットが、ジョイントを移動させるために駆動するように構成された各ジョイントに対するドライバと、ジョイントの状態を検知するための各ジョイントに対するジョイントセンサと、を含む、ロボットと、制御ユニットであって、器具の取付部の所望の位置を取得することと、k<nの場合のk個のジョイントの各々について、検知されたジョイント状態を取得することと、取得されたk個の検知されたジョイント状態を、制約基準のセットと比較する。【選択図】図2

Description

本発明は、ロボットアームなどのロボットシステムにおけるジョイントの制御に関し、特に、1つ以上の制約で動作する冗長ロボットアームの制御に関する。
典型的なロボットマニピュレータは、ジョイントによって一緒に結合された一連の剛直な要素を含む。要素は、アームを形成するように直列に連結され得る。ジョイントは、剛直な要素の相対運動を引き起こすように駆動され得る。剛直な要素は、基部から発端し、器具またはエンドエフェクタの取付部で終端し得る。したがって、ジョイントの運動を使用して、所望の場所にエンドエフェクタを位置付けることができる。各ジョイントは、回転運動または直線運動を提供し得る。ジョイントは、任意の好適な手段、例えば、電気モータまたは油圧アクチュエータによって駆動され得る。
動作中、ロボットは、エンドエフェクタを所望の位置まで移動させる必要がある場合がある。例えば、ロボットは、エンドエフェクタを使用して、物体を拾い上げる必要がある場合がある。これは、物体がある所までエンドエフェクタを移動する必要がある。これを達成するために、ジョイントのいくつかの運動の組み合わせが必要である。これらの運動を計算するために、ロボットの制御システムが使用される。
従来、ロボットには位置センサが提供され、位置センサの各々は、ジョイントのそれぞれ1つの構成を検知する。この位置情報は制御システムに供給される。
制御システムの既知の戦略は、以下のとおりである。
1.エンドエフェクタの所望の位置を示す情報を受信する。
2.その位置にエンドエフェクタを至らせることになる、ロボットのジョイントの目標となる構成のセットを決定する。これは、逆運動学として知られている。
3.ロボットの各ジョイントの現在の構成を示す情報を受信し、これらの現在の構成を目標となる構成と比較し、それぞれのジョイントの現在の位置と目標となる位置との間の誤差を低減するために、各ジョイントで必要とされるトルクまたは力のセットを計算する。
4.これらのトルクまたは力をそれぞれのジョイントにかけるために、ロボットのアクチュエータに駆動信号を送信する。
この一連のステップは、経時的にロボットの運動が目標となる構成に適合するように、繰り返し実施される。
このアプローチは、逆運動学の問題を解くのは難しいと通常考えられるため、問題がある。この1つの理由は、マニピュレータの特定の姿勢が特異なものになり得ることであり、これは、有限のジョイント速度を有する全方向におけるエンドエフェクタの後続の動きを得ることが不可能であることを意味する。もう1つの理由は、エンドエフェクタの1つの位置から別の位置へ移動する際に、マニピュレータが、例えば、マニピュレータのワークスペース内の別のマニピュレータまたは物体との衝突を引き起こすため、望ましくない構成を通り抜けようとし得ることである。
ロボットマニピュレータなどの機械システムのための改善された制御システムに対するニーズがある。
この概要は、以下で詳細な説明でさらに記述される概念の選択を紹介するために提供される。この概要は、特許請求された主題の主要な特徴または必須の特徴を識別することを意図しておらず、特許請求された主題の範囲を制限するために使用することも意図していない。
本発明の一態様によれば、
基部と、基部から器具の取付部まで延在するアームと、を有する、ロボットであって、アームが、n個のジョイントを含み、n>1の場合に、アームの構成が、変更可能であり、アームが、基部と器具の取付部との間の所与の関係に対して複数の構成を有しており、ロボットが、ジョイントを移動させるために駆動するように構成された各ジョイントに対するドライバと、ジョイントの状態を検知するための各ジョイントに対するジョイントセンサと、を含む、ロボットと、
制御ユニットであって、
器具の取付部の所望の位置を取得することと、
k<nの場合のk個のジョイントの各々について、検知されたジョイント状態を取得することと、
取得されたk個の検知されたジョイント状態を、制約基準のセットと比較することであって、制約基準のセットが、アームが第1の構成から第2の構成に向かって移動することを示し、アームの移動が、第1の構成よりも、第2の構成でより制約される、比較することと、
取得されたk個の検知されたジョイント状態が制約基準のセットに合致する場合に、第2の構成に向かうアームの移動を、減速、停止、または逆転させるように構成された調整信号の大きさを決定することと、
器具の取付部の所望の位置、および取得されたk個の検知されたジョイント状態を使用して、調整信号の方向を決定することと、
n個のジョイントの各々について、検知されたジョイント状態を取得することと、
器具の取付部の所望の位置、取得されたn個の検知されたジョイント状態、および調整信号を使用して、ドライバを制御するための制御信号のセットを決定することと、
制御信号のセットを使用して、ジョイントを駆動することと、を行うように構成されている、制御ユニットと、を含む、ロボットシステムが提供される。
制御ユニットは、アームに取り付けられる器具、アームが実施するように構成されている手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズム、のうちの1つ以上に依存して、調整信号を決定するように構成され得る。制約基準のセットは、上限閾値および下限閾値で囲まれた値の範囲を含み得、制御ユニットは、k個の検知されたジョイント状態が制約基準のセットに合致すると決定するように構成され得、k個の検知されたジョイント状態は、上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、または上限閾値と下限閾値との間にある値を含む。制御ユニットは、k個の検知されたジョイント状態値のうちの1つと、上限閾値および下限閾値のうちの1つまたはその他の値との間の差から、差値を計算し、差値を使用して、調整信号を決定するように構成され得る。調整信号を決定することは、差値にゲイン係数を加えることを含み得る。ゲイン係数は、アーム、アームに取り付けられる器具、アームの環境、およびアームを使用して、実施される手順、のうちの1つ以上に依存して選択され得る。
制約基準のセットは、複数のジョイントに関して、それぞれの上限閾値および下限閾値で囲まれた複数の値の範囲を含み得、制御ユニットは、k個の検知されたジョイント状態が制約基準のセットに合致すると決定するように構成され得、それぞれの検知されたジョイント状態は、それぞれの上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、またはそれぞれの上限閾値と下限閾値との間にある値を含む。
調整信号は、アームの複数のジョイントを調整するように構成され得る。第2の構成は、ジョイントの周りの運動の範囲を制限することと、ジョイント特異性に近づくこと、またはジョイント特異性を引き起こすことと、ジョイントのジョイント回転限界に近づくことと、人および/または物体に対するアームの接近と、のうちの1つ以上によって、比較的より制約され得る。
制御ユニットは、器具の取付部の移動に依存して、調整信号をゲートするように構成され得る。調整信号は、ジョイント速度信号を含み得る。制御ユニットは、調整信号をフィルタリングし、フィルタリングされた調整信号を使用して、制御信号のセットを決定するように構成され得る。制御ユニットは、制約基準のセットおよび/またはゲイン係数を動的に変更するよう構成され得る。
ジョイントの状態は、そのジョイントの角度、そのジョイントの位置、そのジョイントの速さまたは速度、そのジョイントの加速度、およびそのジョイント上またはそのジョイントの周りのトルク、のうちの1つ以上を含み得る。制御ユニットは、調整信号が基部と器具の取付部との間の相対的移動を引き起こさないように、調整信号を決定するように構成され得る。制御ユニットは、ロボットシステムの動作モードに依存して、制約基準のセットを決定するように構成され得る。
制御ユニットは、器具の取付部の所望の位置および取得されたk個の検知されたジョイント状態を使用して、k個のジョイントに対する解を決定し、k個のジョイントに対する解を使用して、調整信号の方向を決定するように構成され得る。制御ユニットは、最小二乗法またはその変形を使用して、k個のジョイントに対する解を決定し、ヌル空間内にあるk個のジョイントに対する最小ノルム解を決定するように構成され得る。
本発明の別の態様によれば、ロボットシステムを制御するコンピュータ実装方法であって、ロボットシステムが、基部と、基部から器具の取付部まで延在するアームと、を有する、ロボットであって、アームが、n個のジョイントを含み、n>1の場合に、アームの構成が、変更可能であり、アームが、基部と器具の取付部との間の所与の関係に対して複数の構成を有しており、ロボットが、ジョイントを移動させるために駆動するように構成された各ジョイントに対するドライバと、ジョイントの状態を検知するための各ジョイントに対するジョイントセンサと、を含む、ロボットを含み、方法が、
器具の取付部の所望の位置を取得することと、
k<nの場合のk個のジョイントの各々について、検知されたジョイント状態を取得することと、
取得されたk個の検知されたジョイント状態を、制約基準のセットと比較することであって、制約基準のセットが、アームが第1の構成から第2の構成に向かって移動することを示し、アームの移動が、第1の構成よりも、第2の構成でより制約される、比較することと、
取得されたk個の検知されたジョイント状態が制約基準のセットに合致する場合に、第2の構成に向かうアームの移動を、減速、停止、または逆転させるように構成された調整信号の大きさを決定することと、
器具の取付部の所望の位置、および取得されたk個の検知されたジョイント状態を使用して、調整信号の方向を決定することと、
n個のジョイントの各々について、検知されたジョイント状態を取得することと、
器具の取付部の所望の位置、取得されたn個の検知されたジョイント状態、および調整信号を使用して、ドライバを制御するための制御信号のセットを決定することと、
制御信号のセットを使用して、ジョイントを駆動することと、を含む、コンピュータ実装方法が提供される。
方法は、アームに取り付けられる器具、アームが実施するように構成されている手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズム、のうちの1つ以上に依存して、調整信号を決定することを含み得る。制約基準のセットは、上限閾値および下限閾値で囲まれた値の範囲を含み得、方法は、k個の検知されたジョイント状態が制約基準のセットに合致すると決定することを含み得、k個の検知されたジョイント状態は、上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、または上限閾値と下限閾値との間にある値を含む。方法は、k個の検知されたジョイント状態値のうちの1つと、上限閾値および下限閾値のうちの1つまたはその他の値との間の差から、差値を計算することと、差値を使用して、調整信号を決定することと、を含み得る。
本発明の別の態様によれば、本明細書に記載の方法を実施するように構成されたロボットシステムのための制御ユニットが提供される。
本発明の別の態様によれば、基部、および基部から器具の取付部まで延在するアーム、を有するロボットを含む、ロボットシステムと、本明細書に記載の方法によってアームを制御するように構成された制御ユニットと、が提供される。
本発明の別の態様によれば、非一時的コンピュータ可読記憶媒体であって、そこに記憶されているコンピュータ可読命令が、コンピュータシステムで実行されると、コンピュータシステムに、本明細書に記載の方法を実施させる、非一時的コンピュータ可読記憶媒体が提供される。
本明細書に記載の任意の態様の任意の特徴は、本明細書に記載の任意の態様の任意の他の特徴と組み合わせることができる。任意の装具の特徴を、方法の特徴として書き変えることができ、逆もまた同様である。これらは、単に簡潔さのために、本明細書では完全には書き出されない。
ここで、添付図面を参照して、本発明を例として説明する。
図は、以下の通りである。
典型的な外科手術ロボットを例示する。 ロボットアームのための制御システムの概略図を例示する。 別の外科手術ロボットを例示する。 肘ヌル空間を示すロボットアームの概略図を例示する。 肘ジョイントの制御に関連する制御システムを実施するための方法の状態図を例示する。 ロボットシステムを制御する方法を例示する。
以下の説明は、当業者が本発明を作製および使用することができるようにするための実施例として提示されている。本発明は、本明細書に記載される実施形態に限定されないが、開示される実施形態に対する様々な修正は、当業者には明らかであろう。実施形態は、実施例としてのみ記載されている。
ロボットアームは、アームの基部と、アームの基部からアームの遠位の端部にある器具の取付部との間に同じ空間的関係をもたらす、アームのジョイントの複数の構成があるという点で、運動学的に冗長であり得るか、または単に「冗長」であり得る。冗長アームは、所与のタスクを実施し、(アームに取り付けられた)器具または内視鏡を、2つ以上の可能なアーム構成または「姿勢」で所望の位置に移動させることができる(向き付けすることを含む)。
かかる冗長性は、アームの構成に柔軟性を与えることができるが、問題につながる場合もあり、一部のアーム構成は、他のものよりも望ましくない場合がある。これは、アームが、別の構成のものと比べて、1つの構成において作業空間内で別の物体または人物と衝突する可能性が高くなるためであり得る。構成は、例えば、ジョイントまたはエンドエフェクタの後続の動きを制限するため、望ましくない場合がある。例えば、エンドエフェクタの特定の位置は、その動作範囲内の、またはその動作範囲の限界に近い、所与のジョイントで十分に達成可能であり得る。後者の構成は、所与のジョイントが、その動作限界に後続の動きで到達し、潜在的にエンドエフェクタの動きを限定するか、または限定された動きを補償するために他のジョイントでの望ましくない高速ジョイントにつながり得るという点で、望ましくない。ジョイント限界は、ジョイントの動き、ひいては、アームの制約として作用する。アームの動きに対する制約の別の例は、ユーザがアーム(またはアームの一部)と手動で係合するとき、またはアームの一部がその周囲と衝突するときに適用される接触力である。
本技術では、ロボットアームが望ましくない構成に到達するのを待つのではなく、ロボットアームがその望ましくない構成に向かって移動するにつれて、制御システムによってアクションを取ることができる。したがって、アームが望ましくない構成で終わるのを避けるためのアクションは、徐々に取られてもよく、別途発生する場合があるアームの大きな動きまたは高い加速度を生じさせる必要はない。
これを行う1つの方法は、以下でさらに説明するように、ジョイント角度の一方または両側に範囲を設定することである。特定のジョイント角度および範囲のサイズは、例えば、使用されるアームの特徴のうちの1つ以上、アームに取り付けられる器具、アームの環境、アームが実施するために使用される手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズムに基づいて、所望に応じて選択され得る。ジョイント角度が指定された範囲内にない場合、アクションを取る必要はない。アームの制御は、従来的な様式で進行することができる。ジョイント角度が閾値を横切ると、すなわち、ジョイント角度が、回避されるジョイント角度に向かって、またはそのジョイントの回転の限界に向かって、指定された範囲に移動すると、アクションが実行され始めることができる。例えば、アームの他の部分は、回避されるべきジョイント角度からジョイント角度を遠ざけるように動かすように移動することができる。適切になされるアクションは、ジョイント角度がその範囲内のどこにあるかに依存する。ジョイント角度が回避されるべき角度に近い場合に、より大きな補正アクションを取ることができる。ジョイント角度が指定された範囲内、すなわち、ジョイント角度が静的である場合には、アクションを取ることができることに留意されたい。本アプローチは、静的ジョイント角度が決定される場合(例えば、アームの状態の「スナップショット」で起こり得る)、およびジョイント角度の変化が、例えば、ジョイント角度を前のジョイント角度と比較することによって決定される場合にも、有用であり得る。
一部の状況では、単一のジョイント角度ではなくジョイント角度の組み合わせが、望ましくないアーム構成をもたらし得る。例えば、ジョイント角度のいくつかの組み合わせは、以下でさらに論じるように、アーム特異性をもたらす。特異性は、ロボットのJacobian行列がランクを失う(すなわち、決定因子がゼロである)場合に生じると言うことができる。これは、複数のジョイント軸が整列した時に起こり得る。
1つ以上の個々のジョイントの角度およびジョイントの1つ以上のグループの角度の組み合わせは、アーム構成に対する制約を表すものとみなすことができる。すなわち、アーム制御は、こうした望ましくない構成に向かうアームの移動を制限するように制約され得る。角度および/または角度についての範囲、ならびに角度の組み合わせおよび/または角度の組み合わせについての範囲は、アームの動きを制限する制約基準を表すことができる。
本明細書に記載される技術は、ロボットアームの運動または位置決めに対する1つ以上の制約に基づいて、ロボットアームの姿勢または構成を最適化するように使用され得る。複数の制約が存在する場合、それらは競合し得る。制約の全てを同時に完全に満たすことは不可能であり得る。以下でさらに説明するように、異なる制約の相対的重要性は、アーム制御に対するそれらの効果のバランスを取るために考慮することができる。制約は、例えば、動的に、すなわち、ロボットが動作している間に、追加および/または修正され得る。
図1は、基部108、アーム102、および器具105からなる、腹腔鏡手術を実施する際に使用するための典型的な外科手術ロボット100を例示する。基部は、ロボットを支持し、それ自体が、例えば、手術室の床、手術室の天井、トロリー、または患者ベッドにしっかりと取り付けられる。アームは、基部と器具との間に延在する。アームは、その長さに沿って、外科手術器具を患者に対して所望の場所に位置特定する(向き付けすることを含み得る)ために使用される複数の柔軟性のあるジョイント103によって関節式に連結される。外科手術器具は、ロボットアームの遠位端104に取り付けられる。外科手術器具は、外科的部位にアクセスするように、ポート107で患者101の身体を貫通する。その遠位端において、器具は、医療的手技で係合するためのエンドエフェクタ106を含む。
典型的なロボットアームは、ジョイントごとに、ジョイントを駆動して移動させるように構成されたドライバを含むであろう。典型的なロボットアームは、ジョイントごとに、ジョイントの状態を検知するように構成されたジョイントセンサを含むであろう。
アームは、器具が患者の腹部内にある間、ならびに器具の挿入および格納中に操作できなければならない。これらの時点で、アームは、手術部位へのアクセスを提供するポートを通して器具シャフトの位置決めを保持するように移動するように制約される。こうした制約は、アームの自由度の有効数を減少させることができる。アームの運動および/または構成の制約は、(ロボットアームの移動の自由度の数が減少する場合の)特異性またはジョイント限界に近づくか、または到達する構成を回避することを含む。手術室のスタッフおよび手術室の機器など、アームがワークスペースの人または物体に接触したり、近接したりする構成もまた望ましくない。したがって、アームの移動および/または位置決めに対するこれらの制約のために、アームのいくつかの好ましい構成がある。好ましい構成は、アーム構成の制約を少なくとも部分的に満たす。複数のアーム間の潜在的な衝突がまた、制約として考慮され得る。こうした制約は、「共有」されてもよく、すなわち、複数のアームの動きを制限するか、または「個人」の制約である場合があり、すなわち、別のアームの動きを制限することなく、一方のアームの動きを制限する場合がある。したがって、複数のアーム間の潜在的な衝突などの制約に応答して、1つのアームを移動させるか、または複数のアームを協働的に移動させることができる。
制約は、制約基準のセットによって特徴付けられてもよく、これはジョイント状態に対する所与の値の範囲の値を含むことができる。ジョイント状態は、ジョイント角度、ジョイント位置、ジョイント速さまたは速度、ジョイント加速度、およびジョイント上またはその周りのトルクのうちの1つ以上を含むことができる。回転限界+90°のジョイントの例をとると、10°の範囲が指定され、その中で制約条件が満たされると決定され、調整がなされるべきである。この実施例では、+90°はジョイント限界であるため、制約条件が満たされる角度の範囲αは、80°<α≦90°(または80°≦α≦90°)である。ジョイント限界が-270°であるジョイントの動作範囲の他方の端では、範囲は、-270°≦α<-260°(または-270°≦α≦260°)である。
制約は、フィードバックループによって制御システム内で表され得る。ジョイント(ここではジョイント角度)の現在の状態を決定し、制約条件が満たされることを示すジョイント角度の範囲の閾値と比較することができる。上記の段落の第1の実施例では、閾値は80°である。閾値と現在のジョイント角度との間の差が、決定され得る。この差値は、ジョイント角度がジョイント限界に向かって増加するにつれて増加する。差値は、このジョイントの角度を減少させるために、アーム構成への調整を決定するために使用され得る。差値の符号は、アームのジョイントまたは一部が移動して、このジョイントの角度を減少させることができる望ましい方向を示し得る。アーム構成への調整は、ジョイントのジョイント角度を低減する(または少なくともさらに増加させない)一方で、エンドエフェクタが所望の場合に位置付けられるか、または移動することができるように、1つ以上の他のジョイントを制御して移動させることによって達成され得る。
アームのジョイントは、それらのジョイントの各々のドライバを制御する、制御信号のセットを介して制御され得る。
制御システムの特徴は、図2を参照して説明されており、図2は、ロボットアームの制御を達成するためのフィードバックループの概略図を示している。図2に表されるモジュールは、ロボットアームを制御するための制御ユニット内に提供されてもよい。システム202は、最適化されるシステム、すなわち、ロボットアームを表す。システムは、アームの物理的状態、例えば、アームの構成を画定するジョイント角度のセットを表す。ジョイント角度のセットは、前方運動学計算によって表されるようにしてもよい。
検出器204は、システム202から入力206を受信するように構成されている。入力は、アームの各ジョイントの状態および/またはアーム状態から導出されたパラメータを含む、アームの状態を含むことができる。検出器はまた、閾値208へのアクセスを有する。閾値208は、ジョイント角度などの所与のジョイント状態値の所定値に関する値の範囲に対する閾値を表す。例えば、入力は、特定のジョイントの角度、またはジョイントのグループの角度に対する手首曲げ角度を含むことができる。閾値は、その特定のジョイントに対する所定のジョイント曲げ角度の一方もしくは他方または両側に対する閾値とすることができる。検出器204は、検知されたジョイント角度(すなわち、システムモジュール202から受信したジョイント状態値)が、指定された範囲内にあるかどうかを決定するように構成されている。検知されたジョイント状態値が指定された範囲内にある場合、検出器は、制約条件が満たされると決定することができる。
図示の実施例では、検出器204は、検知されたジョイント状態値(現在または任意の以前の反復からの)と、そのジョイント状態の閾値との間の差を決定するように構成されている。差値は、
difference_value=max(0,(joint_state_value-threshold_value))として表され得る。
したがって、ジョイント角度が指定された範囲外である場合、difference_valueは、アーム制御の調整が不要であることを意味する、「0」を返す。上記の実施例と同様に、ジョイント角度が70°であり、閾値ジョイント角度が80°である場合、difference_valueは、
difference_value=max(0,(70-80))=0として計算される。
それは、行列を入力として使用することも可能である。この場合、行列要素の最大値を、さらなる計算に使用することができる。
ジョイント角が指定された範囲内である場合、difference_valueは正の値を返す。これは、アーム制御の調整がなされるべきことを意味する。繰り返すが、ジョイント角度が82°である上記の実施例に従って、difference_valueは、
difference_value=max(0(82-80))=2として計算される。
difference_valueを決定する他の方法は、例えば、指定された範囲がジョイント状態の所定の値のいずれか側までの範囲であるか、または閾値が負の数である場合などに、容易に明らかとなる。
difference_value210は、調整器モジュール212に渡される。調整器212は、difference_valueを減少させるために、すなわち、アームを望ましくない構成から遠ざけるように移動させるために、アームの構成に対して行われる調整を決定する。調整は、ジョイントのジョイント速度の形態を取ることができる。調整は、ジョイントを一方の方向に、または他方の方向にその回転軸を中心に移動させる正または負のスカラー値である。例えば、調整は、ジョイント速度を表す符号付きスカラー値とすることができる。
difference_value210は、ジョイント状態が所定のジョイント状態にどれだけ近いかの定量的指標である。より一般的には、difference_valueは、アーム構成が望ましくない構成にどれだけ近いかの定量的尺度である。それは、difference_valueが増加すると、望ましくないシステム状態が増えていることを示す。調整器は、計算されたdifference_valueに比例した調整を決定するように構成され得る。このように、アーム構成が望ましくない状態により近いほど、difference_valueが増加し、調整が対応するように増加する。
決定された調整は、difference_valueに比例する必要はないが、difference_valueと非線形に変化する可能性がある。例えば、調整は、望ましくない所定のジョイント状態が近づくにつれて、difference_valueよりも速い速度で増加し得る。調整器は、difference_valueに基づいて、調整をアルゴリズム的に決定するように構成され得る。調整器が、difference_valueに基づいて調整を決定する方法は、使用されるアームの特徴、アームに取り付けられる器具、アームの環境、アームが実施のために使用される手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズムのうちの1つ以上に依存して選択され得る。したがって、調整の決定は、アームの使用に適し得る。
調整器は、指定された制約がシステム動作に与える影響を制御することができる。調整器212は、制御パラメータ214を入力として取り得る。制御パラメータは、予め設定され得るか、またはロボットの動作中に動的に設定され得る。制御パラメータは、ロボットシステムのオペレータによって設定され得る。制御パラメータは、調整器がアクセス可能な制御パラメータのセットのうちの1つとすることができる。制御パラメータは、ゲインパラメータを含み得る。
単純な事例では、パラメータを「1」または「0」に設定し、制約に関連付けられたdifference_valueを乗じることができる。これにより、制約に基づいて調整を有効または無効にすることができる。
調整器によって適用される制御パラメータは、使用されるアームの特徴、アームに取り付けられる器具、アームの環境、アームが実施のために使用される手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズムのうちの1つ以上に依存して選択され得る。例えば、アームに取り付けられた機器タイプ、アームによって実施される手順、ワークスペース内の複数のアームの配設等に基づいて、異なる制御パラメータを、調整器によって使用することができる。
調整器212は、システム202から状態信号216を受信することができる。状態信号は、ロボットアームの状態を適切に表す。調整器は、状態信号に依存して調整を決定することができる。状態信号は、アームが静止しているか、または移動しているか(およびアームのジョイントがどの方向に移動しているか)どうか、およびエンドエフェクタが使用中であるかどうかを示すことができる。制御システムは、エンドエフェクタが使用中であるような特定の状況でアームの調整に影響を与えないように構成され得る。これにより、アームの不注意による動きがエンドエフェクタの動作に影響を与えるリスクを低減することができる。制御システムがこれを行うことができる1つの方法は、手首ジョイントなどのアームの特定のジョイントがいつ動いているかを決定し、そのジョイントの移動中にのみ調整をもたらすことである。本明細書の別の場所でさらに説明されるように、これを行うための1つのアプローチは、腕の状態によって示されるように、ジョイントの連続的な位置に基づいてジョイントの速度を決定することである。
調整器212は、行われる調整に基づいて、調整信号218を出力する。調整信号は、特定のジョイントの回転の符号付きスカラー速度の形態をとることができ、またはジョイントの位置の変化の形態を取ることができる。任意選択で、調整信号は、フィルタ220を介してシステムモジュール202に渡すことができる。フィルタは、ループフィルタとすることができる。フィルタは、適切に調整信号をフィルタリングして、調整信号を平滑にする。こうしたフィルタリングは、アームの機構上および/またはアームのオペレータに対して、調整動作をより許容可能にすることができる。
フィルタ220は、平滑化された調整信号222をシステム202に出力する。システムは、平滑化された調整信号を使用して、アームのジョイントの動きをもたらす制御信号を決定する。平滑化された調整信号を使用して、そのジョイントのヌル空間の周りの特定のジョイントの所望の動きを決定することができる。システムは、平滑化された調整信号を使用して、アームをより望ましい構成の方へ動かすか、または少なくとも、アームの望ましくない構成の方への移動を制限する。
複数の制約がある場合、検出器は、対応する複数のdifference_valueを決定することができる。例えば、検出器は、所定のジョイント状態が設定された各ジョイントについて、また所定のジョイント状態が設定されたジョイントの各グループについて、difference_valueを決定することができる。したがって、検出器は、i制約に対する値のセット(difference_value)を決定することができる。
調整器は、複数のdifference_valueに依存する調整信号を決定するように構成され得る。調整信号は、例えば、ベクトル成分を含むベクトルであってもよく、ベクトル成分の各々は、制約に関して、および/または特定のジョイントに関して行われる調整を表す。異なる制約が存在する場合、各制約は、異なる調整、すなわち、異なるジョイント速度を表す異なるスカラー値をもたらし得る。これらの調整は、総合調整を得るために一緒に追加されてもよい。例えば、所与のジョイントに対する調整は、一緒に追加されてもよい。フィルタは、例えば、ベクトル付加によって、異なる調整信号を組み合わせることができる。調整器は、アーム構成を調整するために使用される調整信号に対する制約の各々の相対的重要性または各制約が有する相対的効果を制御するように構成され得る。調整器は、difference_valueの各々にそれぞれのパラメータを乗じることによって、これを行うことができる。制御パラメータは、こうしたそれぞれのパラメータのセットを含み得る。
したがって、複数の制約が存在する場合、パラメータを使用して、各制約に関連付けられたdifference_valueを重み付けすることができる。例えば、パラメータ、すなわちβがi番目の制約に関連付けられている場合、全体的なdifference_valueは、
Figure 2022070808000002
βという用語が、1を合計する(ただし、全ての例において1を合計する必要はない)として決定され得る。
difference_valueの各々の計算は、並列に行うことができる。これは、そうでなければシステム制御に導入され得る調整の適用の任意の遅延を低減し得る。
ロボットの動作中に所与の制約の相対的重要性を「促進」または「降格」するために、システムが使用されているときにパラメータβを調整することが好都合である。調整器によって適用される制御パラメータ(パラメータのセットβ)は、使用されるアームの特徴、アームに取り付けられる器具、アームの環境、アームが実施のために使用される手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズムのうちの1つ以上に依存して選択され得る。したがって、システムは、様々な競合制約の自動調整を可能にすることができる。これは、アームが使用されているときに行うことができる。例えば、アームに取り付けられた機器タイプ、アームによって実施される手順、ワークスペース内の複数のアームの配設等に基づいて、異なる制御パラメータを、調整器によって使用することができる。
調整信号ベクトルのベクトル成分を互いに追加して、全体的な調整信号を形成することができる。当然のことながら、異なる制約は、同じジョイントへの調整を引き起こしてもよく、こうした調整は互いに対向し得る。すなわち、1つの制約によって、制御システムに、正の角度でジョイントを調整させようとしてもよく、別の制約によって、制御システムに、負の角度でそのジョイントを調整させようとしてもよい。したがって、これらの制約は、互いに競合しているとみなされる。単純な追加では、このジョイントのより大きな調整を引き起こす制約は「勝つ」、すなわち、ジョイントはより大きな調整の方向に動く傾向がある。これに対処するために、制御パラメータを使用して、各制約の相対的重要性に影響を与えることができる。したがって、比較的より小さいジョイント回転を引き起こすであろうより重要な制約は、比較的大きなジョイント回転を引き起こすであろうより重要な制約よりも低い制約を依然として支配し得る。このようにして、アームの挙動を、所望のように制御することができる。制御パラメータ(または複数の制約の場合、別個のパラメータのセット)を使用して、アームが、異なる状況で、期待通り、または必要に応じて挙動することを確実にすることができる。これは、外科手術ロボットアームが、とりわけ、安全性および規制上の理由から、高度な確実性で挙動する必要がある外科手術環境において、特に重要である場合がある。
ここで、本技術を、ロボットアームの特定の配置についてさらに説明する。図3は、基部301から延在するアーム300を有する外科手術ロボットを例示する。アームは、いくつかの剛直な肢302を含む。肢は、外旋ジョイント303によって結合される。最近位肢302aは、近位ジョイント303aによって基部に結合される。それおよび他の肢は、ジョイント303のさらなるジョイントによって直列で結合される。好適には、手首304は、4つの個々の外旋ジョイントから構成されている。手首304は、1つの肢(302b)をアームの最遠位肢(302c)に結合する。最遠位肢302cは、外科手術器具306のための取付具305を担持する。アームの各ジョイント303は、それぞれのジョイントで回転運動を引き起こすように操作され得る1つ以上のモータ307と、そのジョイントの現在の構成および/または負荷に関する情報を提供する1つ以上の位置および/またはトルクセンサ308と、を有する。好適には、モータは、重量分散を改善するために、運動をモータが駆動するジョイントの近位に配置される。明確にするために、モータおよびセンサのうちの一部のみが図3に示される。アームは、概して、我々の同時係属中の特許出願第PCT/GB2014/053523号に記載されるとおりであり得る。
モータ、トルクセンサ、およびエンコーダのためのコントローラが、ロボットアーム内に分散する。コントローラは、通信バスを介して制御ユニット309に接続される。制御ユニット309は、プロセッサ310およびメモリ311を含む。メモリ311は、モータ307の動作を制御して、アーム300を本明細書に記載の様式で動作させるように、プロセッサによって実行可能なソフトウェアを非一時的な方式で記憶する。特に、ソフトウェアは、プロセッサ310を制御して、モータを(例えば、分散型コントローラを介して)、センサ308からの入力および外科医コマンドインターフェース312からの入力に依存して駆動させることができる。制御ユニット309は、ソフトウェアの実行によって生成された出力に従ってモータ307を駆動するためにモータ307に結合される。制御ユニット309は、検知された入力をセンサから受信するためにセンサ308に結合され、コマンドインターフェース312から入力を受信するためにコマンドインターフェース312に結合される。それぞれの結合は、例えば、各々が電気もしくは光ケーブルであってもよく、かつ/または無線接続によって提供されてもよい。コマンドインターフェース312は、1つ以上の入力装置を備え、それによって、ユーザは、所望の方式でエンドエフェクタの運動を要求することができる。入力装置は、例えば、制御ハンドルまたはジョイスティックなどの手動で操作可能な機械的入力装置であっても、光学ジェスチャセンサなどの非接触型入力装置であってもよい。メモリ311に記憶されるソフトウェアは、これらの入力に応答し、それに応じて、アームおよび器具のジョイントを、所定の制御戦略に従って、移動させるように構成される。制御戦略には、コマンドインプットに応答して、アームおよび器具の運動を緩和する安全機能が含まれ得る。したがって、要約すると、コマンドインターフェース312に位置する外科医は、所望の外科的手技を実施するような方式で、器具306を制御して移動させることができる。制御ユニット309および/またはコマンドインターフェース312は、アーム300から遠隔にあってもよい。
例示の外科手術ロボットは、単一のロボットアームを含む。他の外科手術ロボットシステムは、複数の外科手術ロボットおよび/または複数のロボットアームを含み得る。例えば、他の例示的な外科手術ロボットシステムは、各々が外科手術器具を受容および操作することができる複数のロボットアームを有する外科手術ロボットを備え得るか、または外科手術器具を受容および操作することができるロボットアームを各々が有する複数の外科手術ロボットを含み得る。
参照を容易にするために、図3に例示されるアームのジョイントは、J1(303a)、J2(303b)、J3(303c)、J4(303d)、J5(303e)、J6(303f)、J7(303g)、およびJ8(303h)としてラベル付けされ得る。ジョイントJ4は、例示のアームの「肘」とみなすことができる。このアーム配置の運動学により、肘のジョイントは、コマンドインターフェースによって指令されるように、所望の位置で、器具の取付部に結合するアームの手首(図示する実施例のジョイントJ6/J7)を保ちながら、既知および可変の「ヌル空間」内で移動することができる。アームの動きおよび/または位置を調節するように適用される制約は、ユーザが指定した動作モード内で任意の所与のタスクを実施するために、肘がそのヌル空間内の最適な場所にあることを確実にするのに役立つ場合がある。
アームの概略図を図4に示し、これは、図3に示したアームのJ4ジョイントのヌル空間座位を示す。アームは、一般的に400で示されている。この図では、アームの表現が簡略化されている。図示するように、アームは、第1の2つのジョイント(J1/J2、アームの基部)と第4のジョイント(J4、アーム肘)との間に延在する第1のセクション402を含む。アームは、第4のジョイント(J4)と第6のジョイントおよび第7のジョイント(J6/J7、アーム手首)との間に延在する第2のセクション404を含む。器具406は、手首の遠位に延在し、患者の胴体408を貫通している。器具シャフトは、仮想ピボット点(VPP)410でポートを通して患者の胴体に貫通する。仮想ピボット点は、器具が旋回され得るロボットアームの端部からの、器具シャフトに沿った距離として定義され得る。器具の先端412は、動作ボリューム414内に延在している。肘(J4)ヌル空間の座位は、破線416で概略的に示されている。ジョイントJ3、J5、およびJ8は、ここでは明示的に示されていない。その座位の動きに沿った肘の動きは、ジョイントの全ての協調的な動きによって実現され得る。
アームのこのセットアップでは、複数の制約を有用に適用することができる。こうした制約のいくつかの例が、本明細書中に与えられる。当然のことながら、他の制約は、本明細書の実施例のうちの任意の1つ以上の代わりに、またはそれらと併せて適用され得る。本明細書に記述される制約例のうちの2つは、旋回ジョイントJ2の動きに適用され、そのジョイントの動きをいくつかの角度位置に制限するが、このような制約は、他のジョイントまたはアームのジョイントの組み合わせに適用すると有用である。
手首曲げ
大きな手首曲げ角度、すなわちJ5-J6/J7リンクとJ6/J7-VPP-tipベクトルとの間の大きな角度は、J5を使用してJ6およびJ7ジョイント角度の間で行うことができるトレードオフを著しく制限し得るため、概して望ましくない。手首曲げ角度が90°を超えて増加すると、手首曲げは、主にJ7によって維持される(J6は非常に限定された範囲を有している)。手首曲げ角度を減少させる簡単な方法は、この角度を減少させる方向に肘(J4)を動かすことである。良い解決法は、J4が投影された器具軸ベクトルに可能な限り近づいた場合であり、この位置では、全てのジョイントが平面に整列し、手首曲げが包括的に最小化される。
制約条件が存在すると決定され得る閾値は、90°に設定され得る。したがって、手首曲げ角度が90°を超えると、制御システムは、アーム構成の調整を実施するために使用され得る、正のdifference_valueを決定することができる。対応する調整信号は、手首曲げ角度と閾値との間の差の値に適用されるゲインを表すことができる、手首曲げ制御パラメータによって変更され得る。この差は、減少されるべき手首曲げ角度の「誤差」を表すものとみなすことができる。
バレル特異性
手首がJ2の投影軸と整列した時に、「バレル」特異性が生じるとみなすことができる。このような特異性の効果は、J2が手首を空間的に動かす可能性を防止することである。代わりに、J2ジョイントの回転は、手首をJ2軸を中心に回転させる。この位置では、厳密には2つの自由度しか存在しない。その状況は、J1(またはJ3)が手首を回転させ得、J4が手首を半径方向に動かすことができるという点で、極座標に類似している。z方向の移動は、制限されている。ここで、z方向は、アーム基部基準フレームを参照して取得され、アーム基部が床に装着された場合の「上向き」方向とみなすことができる。
手首がバレル特異性に近づきすぎると、FAIL条件が発生し得る。これは、手首からJ2軸までの距離(例えば、手首とJ2軸との間の最短距離)に基づいて評価され得る。手首がJ2軸の周りに画定された仮想シリンダ内にある場合、手首をJ2軸から離して動かすために肘(J4)を動かす試みがまた可能である。
この実施例では、指定されたジョイント角度は、手首をJ2軸と整列させるものである。これらの指定されたジョイント角度の周りの範囲に対する閾値は、J2軸の周りに画定されるシリンダの「除外ゾーン」の限界を画定することができる。概念上、閾値は、シリンダの半径を画定し得る。
したがって、手首が実質的に画定されたシリンダ内に移動するときに、制御システムは、正のdifference_valueを決定し、これは次にアームの調整を実施するために使用され得る。調整信号は、バレル制御パラメータによって変更され得、これは、手首がシリンダ内でどれだけ貫通するか、すなわち、手首が到達した閾値をどれだけ超えたかを定量化する値に適用されたゲインを表すことができる。この値は、減少されるべきそのアーム構成のジョイント角度における「誤差」を表すものとみなすことができる。
また、手首の動きのためのハード境界として扱われる、シリンダ内のボリュームを定義することがまた可能である。例えば、小さなシリンダは、投影されたJ2軸の周りに画定され得る。これは、手首の「no-go」ゾーンとみなすことができる。アーム構成により、手首がこの小さなシリンダの境界に到達(または交差)する場合、FAIL条件が発生し得る。FAIL条件は、この制約に違反するアームのさらなる移動を制限または防止し得る。アームを移動させて、手首をこの小さな(「no-go」)シリンダの境界から外すことは、依然として可能であり得る。あるいは、FAIL条件は、処置を続行することができるように、オペレータの介入を必要とし得る。
概して、本明細書のバレル特異性の例にあるように、複数の境界を画定することは、1つ以上の基準を変更するために有用であり得る。これは、さらなる境界が交差する重み付け関数を変更することによって達成され得る。このアプローチは、特異性に限定されるものではないが、例えば、単一のジョイント角度などの様々な制約に応答して有用であり得、1つの重み付け関数は、第1の閾値が交差する場合(例えば、ジョイント限界から15°)に使用され得、別の重み付け関数は、第2の閾値が交差する場合(例えば、ジョイント限界から5°)に使用され得る。
小さすぎるJ2角度
J2=0°(すなわち、J1/J2ジョイントとJ4ジョイントとの間に延在するアームセグメントが垂直であるとき)では、アームの移動が困難となる場合がある。
J2=0°の場合、手首および肘のJacobian行列は、(特異値分解の後に)ゼロに近い値を有する特異値を有する。これは、コマンドインターフェースによって要求されるデカルト位置と、位置変化をもたらすために角度を結合するために必要な変化との間の関係に影響を与え得る。要求されるデカルト位置とジョイント角度変化との間のワーストケース関係は、特異値の逆数によって決定される。したがって、ゼロに近い特異値は、小さな動きに対して望ましくないほど高いジョイント速度を生じさせることになる。
この物理的効果は、システムオペレータが、肘の軸に沿って力を加えるのではなく、J3-J4リンクを「ねじって」コンプライアントに移動させる必要があるということである。
別の望ましくない効果は、J2=0°およびJ3=90°の場合に生じる、手首に2つの自由度しかないために、3次元で簡単に移動することができないことである。
制約条件が存在すると決定され得る閾値は、例えば、±5°などの小さな(正または負)値であるJ2ジョイント角度値に設定され得る。したがって、制約条件が存在すると決定され得るJ2ジョイント角度の範囲は10°であり、この範囲は約0°を中心としている。J2ジョイント角度がこの範囲に入ると、制御システムは、アーム構成の調整を実施するために使用され得る、difference_valueを決定することができる。調整信号は、J2ジョイント角度が指定された範囲内からどれだけ移動するかを定量化する値に適用されるゲインを表すことができる、「J2スモール制御パラメータ」によって変更され得る。この値は、低減されるJ2ジョイント角度の「誤差」を表すものとみなすことができる。
大きすぎるJ2角度
図3に示したアーム配置では、J2の範囲は-90°~+135°である。限界に近づくように、J2ジョイントの回転を制限することが好ましい。これは、限界に近づくことによって、後続する動きに適応するアームの能力が低減され得るためである。肘(J4)座位がJ2の周りの回転によって支持され得る範囲外にある場合、手首曲げを最小限にすることで、ジョイントJ2をその回転限界に向けて強制的に動かすことができる可能性がある。
この潜在的な問題の発生は、是正的な対向する力を導入することによって低減され得る。簡単な形式は、限界を超えた場合に補正の肘の動きを引き起こす、限界から離れた閾値を定義することである。補正の肘の動きは、J2ジョイント角がどの程度閾値を超えていくかを定量化する値に比例し得る。
制約条件が存在すると決定され得る閾値は、J2=-75°およびJ2=+120°に設定され得る(すなわち、制約条件が決定され得るJ2ジョイント角度の特定範囲が、
(i)-90°≦J2_角度≦-75°(または-90°≦J2_角度<-75°)および
(ii)120°≦J2_角度≦135°(または120°≦J2_角度<135°)である)。
この実施例では、J2ジョイント角度の両方の限界において、角度の範囲は同じであるが、これはそうである必要はない。範囲のうちの1つは、他よりも小さくてもよい。角度の範囲(複数可)に対する他の値を使用することができる。
J2ジョイント角度が、例えば、(i)-75°未満または(ii)120°超のいずれかである場合、制御システムは、アーム構成の調整を実施するために使用され得る、difference_valueを決定することができる。対応する調整信号は、J2ジョイント角度と関連する閾値との間の差の値に適用されるゲインを表すことができる、「J2制御パラメータ」によって変更され得る。この差は、低減されるJ2ジョイント角度の「誤差」を表すものとみなすことができる。
上記の第2の実施例(小さすぎるJ2角度)では、J2=0°の場合は望ましくないことに留意されたい。しかしながら、J2ジョイントがロボットの動作中にこの角度を通して回転することは可能であるはずである。これは、J2が0°に等しくなる可能性があるという点で、制約が「ハード」制約として扱われない実施例である。しかしながら、他の制約が少なくとも部分的に満たされると、アームは、J2が0°に等しい構成から離れて移動されることが望まれ得る。本明細書の別の箇所で論じるように、適切な制御パラメータの使用を通して他の制約(複数可)が制御され得る前に、いずれかの制約(複数可)の選択が満たされる。
ロボットの動作中、調整信号は、エンドエフェクタの所望の動きなど、オペレータコマンド入力からシステムへの結果として生じるものとは異なる方法で、アームを移動しようとし得る。オペレータのコマンドは、アームの動きに対してより高い優先順位を有することが望ましい。ここで、アーム調整コマンドと、オペレータが導出した手首動作コマンドの統合について説明する。
本明細書に記載される制御システムによって決定される調整信号は、アームに関連付けられた速度から導出され得る「ソフト」ゲーティングゲインを用いて変更され得る。ゲーティングゲインは、アームの手首の速度に由来するのが好適であり、これは手首の速度ゲインと呼んでもよい。こうしたゲーティングの使用は、肘ジョイントおよび手首ジョイントなどのアームのジョイント間の動きを調整するのに役立ち得る。ゲーティングは、オペレータの制御により指令される手首の動きを、肘の動きよりも高い優先順位で付与するために使用され得る。調整信号は、この手首の速度ゲインで乗算され得る。
調整信号と手首の速度ゲインとの乗算に続いて、結果をフィルタリングして、急激な肘の動きを制限することができる。次いで、この乗算積を、コンプライアンスによって誘発される肘の力に重ね合わせ、それによって、肘ヌル空間逆運動学アルゴリズムに供給されて、ジョイント位置を小さな増分で更新させる、「合成力」をもたらすことができる。「合成力」によって引き起こされるアーム構成の変化は、手首を静止したままにするように配設されてもよい。例えば、アームを制御するオペレータによって指令されるエンドエフェクタの動きに影響を与えないように、「合成力」が配置されてもよい。
このプロセスは、肘ジョイントの制御に関連する制御システムを実施するための方法(ただし、本明細書の別の箇所で論じたように、他のジョイントの制御および/またはジョイントの組み合わせは、記載される技術を使用して達成され得る)の状態図を示す、図5で強調されている。ロボットアームの状態および1つ以上の制約条件に対応する閾値に関連する入力パラメータ502は、肘管理部504によって受信される。肘管理部は通常、図2に示す検出器204および調整器212モジュールに対応し得る。肘管理部は、制約に応答して肘の調整を制御するための調整信号506を出力するように構成されている。
調整信号506は、調整信号に応答して生成される移動コマンドが、最大肘移動ステップサイズを超えないことを確実にする締付モジュール508に供給される。最大ステップサイズは、事前設定され得、あるいは動的に設定され得る。図示するように、締付モジュールは、最大肘移動ステップサイズ(maxElbowStep)を含む、肘移動パラメータ510を受信する。調整信号が、肘が±maxElbowStepを超えない量だけ移動するべきであることを示す場合に、調整信号は、締付モジュールの出力512に渡される。調整信号が、肘が正(または負)のmaxElbowStepを超える量で移動するべきであることを示す場合に、次に調整信号は、調整を正(または負)のmaxElbowStepに制限するように、すなわち、肘位置への調整がそれぞれのmaxElbowStep限界で締め付けられるように修正される。この締付は、514に概略的に図示されている。これにより、システムは、高いジョイント速度をもたらすことができる望ましくない大きな動きを行おうとすることを避ける。
したがって、出力512は、調整信号または調整信号の締付バージョンを表す。この信号は、手首速度に由来するゲーティングゲイン516で信号を乗算する乗数に渡される。ロボット制御システムの運動学から手首速度の尺度を得ることを含む、手首速度を決定することができる様々な方法がある。図5に示したアプローチは、比較的低い処理能力で、手首速度の推定を迅速かつ容易に得ることを可能にする。実際には、この推定は、ゲーティングゲインとして使用するために十分である可能性が高い。より正確な速度が必要とされる状況では、手首の速度を異なる様式で得ることができる。
手首移動のユークリッド距離のフィルタリングに基づいて、手首速度の推定が得られる。これは、連続するフレームで、指令位置518、pwantedを比較することによって達成される。これは、指令位置を遅延モジュール520に渡し、1つのフレーム遅延を導入し、その後、遅延位置を後続するフレームの位置から減算することによって行われる。この減算(連続するフレーム間のメートル単位の位置の変化)の結果は、(手首速度をメートル/秒で取得するために)Hz、fframe、522のフレームレートによってスケールされる。これは、瞬間的な手首速度を提供するが、これは、ノイジーである可能性がある。次いで、手首速度をフィルタリングして、例えば、一次ローパスフィルタ524を用いて、ノイズを低減する。フィルタ524は、所望のフィルタ時定数T(秒)およびfframeから決定される、係数wristSpeedAlpha526を入力として受け取る。T=0.1sのデフォルト値が使用されるが、これは必要に応じて変更され得る。フィルタ係数は、として定義される。
Figure 2022070808000003
数学的に、手首速度のフィルタリングは、
y(j)=y(j-1)*(wristSpeedAlpha)+x(j)*(1-wristSpeedAlpha)であり、
ここで、y()はフィルタリングされた手首速度であり、x()は、フィルタリングされていない手首速度であり、jは、現在のフレームを示しており、(j-1)は、前のフレームを示している。
次いで、フィルタリングされた手首速度は、ランプ変換モジュール528に渡され、これは、フィルタリングされた手首速度の「ソフトゲーティング」に影響する。ランプ変換モジュールは、入力として、以下の2つのパラメータを使用する:LoWristSpeed4Elbow(ソフトゲーティングがゼロのゲインに達する場所を決定する)、およびHiWristSpeed4Elbow(ソフトゲーティングが1のゲインに達する場所を決定する)。したがって、ランプ変換モジュールは、手首速度の関数としてゲーティングの制御を可能にする。
数学的に、ランプ変換は、
ws<LoWristSpeed4Elbowの場合に、
ramp_transform(ws)=0であり、
LoWristSpeed4Elbow≦ws≦HiWristSpeed4Elbowの場合に、
ramp_transform(ws)=(ws-LoWristSpeed4Elbow)/
(HiWristSpeed4Elbow-LoWristSpeed4Elbow)であり、
HiWristSpeed4Elbow<wsの場合に、
ramp_transform(ws)=1であり、
ここで、wsは、フィルタリングされた手首速度である。
パラメータの初期値は、LoWristSpeed4Elbow=0.01m/sおよびHiWristSpeed4Elbow=0.3m/sである。すなわち、手首速度が0.01m/s以下まで低下すると、ゼロのゲーティングゲイン516が、調整信号512に加えられ、これは、肘の調整が加えられないことを意味する。これにより、手首が止まると、肘も止まることが確実になる。手首速度が0.3m/sに到達するか、またはそれを超えると、1のゲーティングゲイン516が調整信号512に加えられ、これは、締付モジュール508による全調整出力が加えられることを意味する。これらの値の間の手首速度で、1とゼロの間のゲインを加えることができる。530に図示されるように、ゲインはゼロと1の間で直線的に増加するが、ゲイン値の他の変動が可能である。
ゲーティングゲイン516は、532で(締め付けられた)調整信号512と乗算され、その結果は、一次ローパスフィルタ534などのさらなるフィルタに渡される。このフィルタは、調整信号をフィルタするループフィルタとして機能し、望ましくないぎくしゃくした肘の動きを防ぐ。質量およびダンパーインピーダンスモデル(速度ドメインにおける一次無限インパルス応答フィルタ)と同等であるとみなすことができるが、時間定数T(デフォルト値はT=0.1sである)の観点からフィルタをパラメータ化することは賢明である。フィルタ534は、所望のフィルタ時定数T(秒)およびfframeから決定される、係数調整SpeedAlpha536を入力として受け取る。T=0.1sのデフォルト値が使用されるが、これは必要に応じて変更され得る。フィルタ係数は、として定義される。
Figure 2022070808000004
フィルタ534から出力される調整信号538は、アーム駆動処理システム540からの出力と組み合わされる。アーム駆動処理540は、1つ以上のジョイント、1つ以上のジョイントのジョイント角度、ロボットアームのJacobianなどでの、またはそれらの周りの入力トルクとして受け取ることができる。アーム駆動処理からの出力は、コンプライアンスベースの入力に応答してアームの制御を行うための「物理的」調整信号542を表す。こうしたコンプライアンスベースの入力は、オペレータがロボットアームと物理的に相互作用して、アームの駆動移動を実現することができる、オペレータ由来の入力を含み得る。例えば、オペレータは、アームの一部を押すことができ、アームは、オペレータがアームを押し付ける力を検知し、それに応答して、アームのモータを駆動して、オペレータがアームを押す方向にアームのその部分を移動させる。コンプライアンスベースの入力はまた、アームの重量(例えば、1つ以上のジョイントでの、または1つ以上のジョイントの周りでのトルク)、アームに影響を与える振動、患者の動きなどに関連する入力を含み得る。アーム駆動処理540は、適切に肘コンプライアンス処理を含む。
調整信号538は、物理的調整信号542に加えられて、「総調整信号」544が生成される。総調整信号は、ロボットアームを制御するための駆動信号を決定するように構成される、逆運動学アルゴリズム(同じモジュールもしくはプロセッサに、または別個のモジュールもしくはプロセッサに設けられてもよい)に渡される。例えば、総調整信号は、逆運動学ヌル空間アルゴリズムに渡される。このようにして、肘管理部に由来する動きは、コンプライアンスによって誘発される動きと重ね合わされ、ロボット駆動信号を決定するのに使用され得る。重ね合わせの可能性が高い効果は、肘管理部に由来する動きが、外科手術モードなどの、アクティブな手首の動きの間のコンプライアンスによって誘発される動きを支配し得、また、手首が動いていないときに、コンプライアンスによって誘発される動きが肘管理部に由来する動きを支配し得ることである。
およびTのうちの一方または両方に対する異なる値、および/またはゲイン値は、アームの特徴、アームに取り付けられる器具、アーム環境、アームが実施のために使用される手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズムのうちの1つ以上に依存して選択され得る。これにより、アームが使用される所定の状況に従って、ロボットアームの挙動をより正確に制御することが可能になる。
上述のフィルタは、任意の適切なタイプの線形ローパスフィルタであり得る。手首速度フィルタリングは、上記の実装形態では望ましいが、任意であり、例えば、速度は、速度がノイズを含む可能性が低いように代替的な方法で決定される。
1つ以上の制約を定義するそれらの所定の値に関する所定の値および/または指定された範囲は、変更されてもよい。例えば、それらは、アームの特徴、アームに取り付けられる器具、アーム環境、アームが実施のために使用される手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズムのうちの1つ以上に依存して、変更されてもよい。これにより、アームに対するより洗練された制御、および制約条件がアームの調整を引き起こす方法が可能になる。
肘管理部に関する上記の考察では、調整信号は、肘がそのヌル空間によって区切られた円をトレースするように制約されているため、スカラー値である。アーム状態は、誤差を最小化するために肘が移動しなければならない(正規化されたヌル空間ベクトル、θnullに基づいて、肘軸が指す方向にアームを移動させる)方向を決定するのに必要である。他の実施例では、ヌル空間が2つ以上の寸法を有する場合、異なるベクトル値パラメータ化を用いることができる。
アーム移動および/または位置決めの制約は、定量的に評価され得る。したがって、各制約または制約の組み合わせがアーム制御に影響を与える方法を、分析することができる。こうした分析は、例えば、アームが手順において比較的望ましくない構成の方に移動する可能性を減少させるために、アームが手順で使用される方法を知ることができる。また、こうした解析によって、制約値の変更について知ることもできる。
本明細書の技術は、制約を、容易に追加、修正、および削除することを可能にする。制約はまた、容易に組み合わされ得る。各制約の挙動は、他の制約に関連するパラメータとは独立した1つ以上のパラメータによって特徴付けられ得るため、こうした制約の追加、修正、または削除は、他の制約のパラメータ(挙動)を変更する必要なしに行うことができる。適切に、制約およびそれらのそれぞれのパラメータを、APIを介して表示および修正することができる。
さらに、各制約は、個別に試験され得る。こうした試験は、つまり、アームによって物理的に実施される手順を必要とすることなく、「オフラインで」行われてもよい。これは、外科手術ロボットアームの外科医による制御の結果を予測および/または検証することができ、またシステムが決定的であることを確実にすることが有用である、医療ロボット工学の分野で特に望ましい。
肘管理部は、複数の制約を単一の出力に都合よく組み合わせることができ、図5でmaxElbowStepとして表される閾値などの、閾値と比較することができる。これは、テレメトリデータの一部としてシステムパフォーマンスについて学習するために使用され得、オフラインでの制約の最適化を可能にする。
ロボットシステムを制御する方法を、図6を参照してこれから説明する。ロボットアームの一部分の所望の位置を得る(602)。ここで、器具の取付部の位置が取得されるが、これはまた、手首の位置であってもよい。当然のことながら、器具の取付部の位置は、手首の位置から決定され得、その逆もまた同様である。ジョイント状態は、外科手術コンソールの入力装置によって指令される位置から取得され得る。以下では、器具の取付部の位置を考察するが、アームの他の部分の位置を他の実施例で使用することができることが理解される。
ロボットアームは、n個のジョイントを含む。k個のジョイントの角度を得る(式中、k<n)(604)。より一般的には、k個のジョイントの状態を得ることができる。好適には、k個のジョイントは、アームのk個の最近位のジョイント、すなわち、J1~Jkである。上述の肘管理部の実装形態では、k=4であり、そのため、J1~J4の角度が得られる。ジョイント角度は、例えば、式中、k=4であるベクトルとして表現され得る。
q=[q、q、q、q
必要に応じて、残りのジョイントに関して、qにゼロを付け加えることができる。そのため、8つのジョイント(J1~J8)がある場合、qは以下のように記述され得る。
q=[q、q、q、q、0、0、0、0]
アームから、またはアーム制御システムの角度から、n個のジョイント全てを一度に取得することが好都合である。これらの角度は、好都合には、ローカルに記憶され得る。次いで、k個のジョイントの角度にアクセスすることができる。
k個のジョイント角度は、例えば、上述のように、調整信号の大きさを決定するために使用される(606)。これは、単一の制約基準、または、おそらくは競合する複数の制約基準を考慮に入れることができる。k個のジョイント角度はまた、器具の取付部の所望の位置と共に、k個のジョイントのJacobian行列の近似を生成し(608)、k個のジョイントの近似解を見つける(610)ために使用される。Jacobianの近似の生成は、反復プロセスを含むことができる。ここで説明するように、少数の反復が十分な解を提供することが判明し、その解は、調整信号の方向を決定するために使用される。この解は使用されず、アームを制御するための駆動信号を生成する。2回または3回の反復で十分であることが判明した。
第1の近似を決定することができる。近似したJacobianを使用し、および器具の取付部の現在の位置と器具の取付部の所望の位置との間の距離を、位置誤差として取ることにより、最小二乗法を使用して、ジョイントJkに関してヌル空間内にあるJ1-Jkの最小ノルム解を見つける。例として、k=4(すなわち、ジョイントは肘ジョイントである)の場合、ヌル空間(肘ヌル空間)は、式(Jwrist)・(θnull)=0(手首静止の場合、これはゼロである)を満たす、4×1ベクトル、θnullとして定義され得る。ヌル空間に沿ったデカルト座標における瞬時的な方向は、正規化された形態の(Jelbow)・(θnull)=dXYZElbowによって与えられ得る。
より堅牢なバージョンでは、Levenberg-Marquardt(LM)アルゴリズム(減衰最小二乗法(DLS)法)を使用することができる。一般的に、制約の少ない方程式、
Figure 2022070808000005
を解くために、方法が使用される。残差ノルム
Figure 2022070808000006
を最小化するという意味で、最小二乗逆数によって良い解が与えられる。疑似逆行列の必要性を回避するために、逆行列の前に対角荷重が使用される。対角荷重は、小さい値、λによって重み付けされた単位行列によって達成され得る。パラメータλは、コスト関数を最小化するように調整される。コスト関数の例は、器具の取付部の所望の位置に対するユークリッド距離であり:ノルム(perror)である。パラメータλは、コスト関数の値に応じて、大きく(例えば、10倍大きい)または小さく(例えば、10倍小さい)することができる。この例示的なアプローチを実施するための疑似コードを、以下に示す。
・Jattachment_for_instrument,perror、θを初期化する。tol=1e-6(1μm)、λ=1e-8を設定する
・N回反復の場合:
o (Jattachment_for_instrument,perror,θ)(LM修正あり)で正規方程式を解いて、Δθを得る
o θtrial=θ+Δθ
o θtrialからの順運動学を介して、Jattachment_for_instrument_trial、ptrialを取得する
o perror_trial=ptrial-pwrist
o norm(perror_trial)<norm(perror)の場合
■# ACCEPT!
■θ=θtrial
■perror=perror_trial
■λ=λ×csmaller
o その他
■# REJECT
■λ=λ×cbigger
o norm(perror)<=tolの場合
■# Stop.Report SUCCESS.
・norm(perror)>tolの場合
o # Stop.Report FAIL.
k個のジョイントの近似解は、ジョイント速度のセットを含むことができる。近似解は、k個のジョイントのジョイント当たりのジョイント速度を含むことができる。kジョイントの近似解は、k番目のジョイントが移動する空間内の位置を示すことができる。近似解を使用して、調整信号の方向を決定する(612)。調整信号の方向は、k番目のジョイントのヌル空間の境界に対して接線方向であることが好ましい。調整信号の大きさおよび方向を使用して、調整信号を決定する(614)。
器具の取付部の所望の位置(602)および決定された調整信号(614)は、全てのn個のジョイントに対する所望のジョイント角度を決定するためのモジュールに提供される(616)。n個のジョイントの角度(すなわち、現在の角度)を得る(618)。より一般的には、n個のジョイントの状態を得ることができる。上述のように、アームから、またはアーム制御システムの角度から、n個のジョイント全てを一度に取得することが好都合である。これらの角度は、好都合には、ローカルに記憶され得る。次いで、n個のジョイントの角度にアクセスすることができる。すなわち、k個のジョイントの角度を取得する方法ステップ、およびn個のジョイントの角度を取得する方法ステップは、いくつかの実施例ではあるかもしれないが、別個の測定ステップを含む必要はない。単一の測定ステップを実施することが好ましい。ステップ604で、k個のジョイントの角度を、例えば、全てのn個の角度を記憶するメモリから提供することができる。ステップ618で、n個のジョイントの角度を、例えば、全てのn個の角度を記憶するメモリから提供することができる。
n個のジョイントに対して所望のジョイント角度を決定することができる様々な方法がある。1つの方法は、全てのn個のジョイントのJacobian行列を決定することである(例えば、ステップ616で)。全てのn個のジョイントに対するJacobian行列が決定されると、n個のジョイントに対する駆動信号を計算することができる(620)。n個のジョイントに対するJacobian行列は、器具の取付部の所望の位置(外科医コンソールからの指令された位置または動きの入力に基づいてもよい)および決定された調整信号(定義された制約基準に基づいてもよい)を考慮に入れる。
n個のジョイントに対する所望のジョイント角度を決定する別の方法は、k個のジョイントに対するJacobian行列を決定することである。これは、k個のジョイントに対する所望のジョイント角度を決定するのに使用され得る。残りの(n-k個)ジョイントに対する所望のジョイント角度は、解析的解法および三角法を利用することによって直接的に計算され得る。ここで、k=4およびn=8での実施例を説明する。例えば、Jacobianから、J1~J4の角度の解を得て、J4の後の姿勢を計算する。これは、J5~J8の角度を考慮するための基準フレームを定義することができる。この例では、J5は、近位ロールジョイントであってもよく、J6は、ピッチジョイントであってもよく、J7は、ヨージョイントであってもよく、J8は、遠位ロールジョイントであってもよい。器具の取付部、またはアームに取り付けられた器具の所望の位置/配向から、「手首曲げ角度」を決定することができる。この角度は、J5の回転軸(z方向として定義され得る)と、器具シャフトの方向、すなわち、器具の先端の点に向かう方向pとの間の角度として決定され得る。角度、δは、x-y平面上のpの投影とy軸との間の角度として決定され得る。δは、±90度の範囲内であってもよい。角度δは、全体的な手首曲げをJ7(ヨー)軸と整列させるためのJ5が回転する角度であると考えられる。J5の角度は、角度δとして設定され得る。J5の角度は、所望に応じて選択され得、J6、J7、およびJ8の問題が良好に決定されることを可能にする制約であってもよい。次に、手首曲げ角度および角度δに基づいて、J6およびJ7を、任意の好都合な方法で解くことができる。J8は、所望の配向に器具を配向するように決定されてもよい。
次いで、計算された駆動信号を使用して、ロボットアームの1つ以上のジョイントを駆動する。
上述の説明では、説明を容易にするために、システムによって講じられた措置は機能ブロックまたはモジュールに分割されている。実際には、これらのブロックのうちの2つ以上を、建築的に組み合わせることができる。機能を異なる機能ブロックに分割することもできる。
本技術を外科手術ロボットシステムの文脈において説明してきたが、以下に説明される特徴は、かかるシステムに限定されるものではなく、より広くはロボットシステムに適用され得る。いくつかの実施例では、本技術は、遠隔で動作するロボットシステムに適用され得る。本技術が有用であり得る状況のいくつかの実施例には、探索、調査、または修理のために「ヘビのような」ロボットを使用する実施例が含まれる。外科手術ロボットの場合、エンドエフェクタは、メス、外科手術カッタ、外科手術ピンサ、または焼灼器(cauteriser)などの外科手術道具であってもよい。
ロボットシステムには、車両製造システム、部品取り扱いシステム、実験室システムなどの製造システム、および危険物などのためのマニピュレータまたは外科用マニピュレータが含まれ得る。
ジョイントは、ロータリモータもしくはリニアモータであり得る電気モータによって、または油圧式もしくは空気圧式アクチュエータなどの他の手段によって駆動され得る。これらは、同じ制御アルゴリズムから駆動され得る。
本明細書によって、本出願人は、本明細書に記載の各個々の特徴および2つ以上のかかる特徴の任意の組み合わせを、かかる特徴または組み合わせが、当業者に共通する一般知識に照らして、全体として本明細書に基づいて行うことができるような程度まで、かかる特徴または特徴の組み合わせが、本明細書に開示する任意の問題を解決するかにかかわらず、かつ特許請求の範囲を限定することなく、分離して開示する。本出願人は、本発明の態様が、任意のかかる個々の特徴または特徴の組み合わせからなり得ることを示している。前述の説明を考慮すると、本発明の範囲内で様々な修正を行うことができることは当業者には明らかであろう。
本明細書によって、本出願人は、本明細書に記載の各個々の特徴および2つ以上のかかる特徴の任意の組み合わせを、かかる特徴または組み合わせが、当業者に共通する一般知識に照らして、全体として本明細書に基づいて行うことができるような程度まで、かかる特徴または特徴の組み合わせが、本明細書に開示する任意の問題を解決するかにかかわらず、かつ特許請求の範囲を限定することなく、分離して開示する。本出願人は、本発明の態様が、任意のかかる個々の特徴または特徴の組み合わせからなり得ることを示している。前述の説明を考慮すると、本発明の範囲内で様々な修正を行うことができることは当業者には明らかであろう。
なお、本発明は、実施の態様として以下の内容を含む。
[態様1]
ロボットシステムであって、
基部と、前記基部から器具の取付部まで延在するアームと、を有する、ロボットであって、前記アームが、n個のジョイントを含み、n>1の場合に、前記アームの構成が、変更可能であり、前記アームが、前記基部と前記器具の前記取付部との間の所与の関係に対して複数の構成を有しており、前記ロボットが、前記ジョイントを移動させるために駆動するように構成された各ジョイントに対するドライバと、前記ジョイントの状態を検知するための各ジョイントに対するジョイントセンサと、を含む、ロボットと、
制御ユニットであって、
前記器具の前記取付部の所望の位置を取得することと、
k<nの場合のk個のジョイントの各々について、検知されたジョイント状態を取得することと、
前記取得されたk個の検知されたジョイント状態を、制約基準のセットと比較することであって、前記制約基準のセットが、前記アームが第1の構成から第2の構成に向かって移動することを示し、前記アームの移動が、前記第1の構成よりも、前記第2の構成でより制約される、比較することと、
前記取得されたk個の検知されたジョイント状態が前記制約基準のセットに合致する場合に、前記第2の構成に向かう前記アームの移動を、減速、停止、または逆転させるように構成された調整信号の大きさを決定することと、
前記器具の前記取付部の前記所望の位置、および前記取得されたk個の検知されたジョイント状態を使用して、前記調整信号の方向を決定することと、
前記n個のジョイントの各々について、検知されたジョイント状態を取得することと、
前記器具の前記取付部の前記所望の位置、前記取得されたn個の検知されたジョイント状態、および前記調整信号を使用して、前記ドライバを制御するための制御信号のセットを決定することと、
前記制御信号のセットを使用して、前記ジョイントを駆動することと、を行うように構成されている、制御ユニットと、を含む、ロボットシステム。
[態様2]
前記制御ユニットが、前記アームに取り付けられる器具、前記アームが実施するように構成されている手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズム、のうちの1つ以上に依存して、前記調整信号を決定するように構成されている、態様1に記載のロボットシステム。
[態様3]
前記制約基準のセットが、上限閾値および下限閾値で囲まれた値の範囲を含み、前記制御ユニットが、前記k個の検知されたジョイント状態が前記制約基準のセットに合致すると決定するように構成されており、前記k個の検知されたジョイント状態が、前記上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、または前記上限閾値と下限閾値との間にある値を含む、態様1または2に記載のロボットシステム。
[態様4]
前記制御ユニットが、前記k個の検知されたジョイント状態値のうちの1つと、前記上限閾値および下限閾値のうちの1つまたはその他の値との間の差から、差値を計算し、前記差値を使用して、前記調整信号を決定するように構成されている、態様3に記載のロボットシステム。
[態様5]
前記調整信号を決定することが、前記差値にゲイン係数を加えることを含む、態様4に記載のロボットシステム。
[態様6]
前記ゲイン係数が、前記アーム、前記アームに取り付けられる器具、前記アームの環境、および前記アームを使用して、実施される前記手順、のうちの1つ以上に依存して選択される、態様5に記載のロボットシステム。
[態様7]
前記制約基準のセットが、複数のジョイントに関して、それぞれの上限閾値および下限閾値で囲まれた複数の値の範囲を含み、前記制御ユニットが、前記k個の検知されたジョイント状態が前記制約基準のセットに合致すると決定するように構成されており、それぞれの検知されたジョイント状態が、前記それぞれの上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、または前記それぞれの上限閾値と下限閾値との間にある値を含む、態様1~6のいずれかに記載のロボットシステム。
[態様8]
前記調整信号が、前記アームの複数のジョイントを調整するように構成されており、および/または前記調整信号が、ジョイント速度信号を含む、態様1~7のいずれかに記載のロボットシステム。
[態様9]
前記第2の構成が、
ジョイントの周りの運動の範囲を制限することと、
ジョイント特異性に近づくこと、またはジョイント特異性を引き起こすことと、
ジョイントのジョイント回転限界に近づくことと、
人および/または物体に対する前記アームの接近と、のうちの1つ以上によって、比較的より制約されている、態様1~8のいずれかに記載のロボットシステム。
[態様10]
前記制御ユニットが、前記器具の前記取付部の移動に応じて、前記調整信号をゲートするように構成されており、および/または前記制御ユニットが、前記調整信号をフィルタリングし、前記フィルタリングされた調整信号を使用して、前記制御信号のセットを決定するように構成されている、態様1~9のいずれかに記載のロボットシステム。
[態様11]
前記制御ユニットが、前記制約基準のセットおよび/または前記ゲイン係数を動的に変更するよう構成されている、態様1~10のいずれかに記載のロボットシステム。
[態様12]
ジョイントの状態が、そのジョイントの角度、そのジョイントの位置、そのジョイントの速さまたは速度、そのジョイントの加速度、およびそのジョイント上またはそのジョイントの周りのトルク、のうちの1つ以上を含む、態様1~11のいずれかに記載のロボットシステム。
[態様13]
前記制御ユニットが、前記調整信号が前記基部と前記器具の前記取付部との間の相対的移動を引き起こさないように、前記調整信号を決定するように構成されており、および/または前記制御ユニットが、前記ロボットシステムの動作モードに依存して、前記制約基準のセットを決定するように構成されている、態様1~12のいずれかに記載のロボットシステム。
[態様14]
前記制御ユニットが、
前記器具の前記取付部の前記所望の位置および前記取得されたk個の検知されたジョイント状態を使用して、前記k個のジョイントに対する解を決定し、前記k個のジョイントに対する前記解を使用して、前記調整信号の前記方向を決定するように構成されている、態様1~13のいずれかに記載のロボットシステム。
[態様15]
前記制御ユニットが、最小二乗法またはその変形を使用して、前記k個のジョイントに対する前記解を決定し、ヌル空間内にある前記k個のジョイントに対する最小ノルム解を決定するように構成されている、態様14に記載のロボットシステム。
[態様16]
ロボットシステムを制御するコンピュータ実装方法であって、前記ロボットシステムが、基部と、前記基部から器具の取付部まで延在するアームと、を有する、ロボットであって、前記アームが、n個のジョイントを含み、n>1の場合に、前記アームの構成が、変更可能であり、前記アームが、前記基部と前記器具の前記取付部との間の所与の関係に対して複数の構成を有しており、前記ロボットが、前記ジョイントを移動させるために駆動するように構成された各ジョイントに対するドライバと、前記ジョイントの状態を検知するための各ジョイントに対するジョイントセンサと、を含む、ロボットを含み、前記方法が、
前記器具の前記取付部の所望の位置を取得することと、
k<nの場合のk個のジョイントの各々について、検知されたジョイント状態を取得することと、
前記取得されたk個の検知されたジョイント状態を、制約基準のセットと比較することであって、前記制約基準のセットが、前記アームが第1の構成から第2の構成に向かって移動することを示し、前記アームの移動が、前記第1の構成よりも、前記第2の構成でより制約される、比較することと、
前記取得されたk個の検知されたジョイント状態が前記制約基準のセットに合致する場合に、前記第2の構成に向かう前記アームの移動を、減速、停止、または逆転させるように構成された調整信号の大きさを決定することと、
前記器具の前記取付部の前記所望の位置、および前記取得されたk個の検知されたジョイント状態を使用して、前記調整信号の方向を決定することと、
前記n個のジョイントの各々について、検知されたジョイント状態を取得することと、
前記器具の前記取付部の前記所望の位置、前記取得されたn個の検知されたジョイント状態、および前記調整信号を使用して、前記ドライバを制御するための制御信号のセットを決定することと、
前記制御信号のセットを使用して、前記ジョイントを駆動することと、を含む、コンピュータ実装方法。
[態様17]
前記方法が、前記アームに取り付けられる器具、前記アームが実施するように構成されている手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズム、のうちの1つ以上に依存して、前記調整信号を決定することを含む、態様16に記載の方法。
[態様18]
前記制約基準のセットが、上限閾値および下限閾値で囲まれた値の範囲を含み、前記方法が、前記k個の検知されたジョイント状態が前記制約基準のセットに合致すると決定することを含み、前記k個の検知されたジョイント状態が、前記上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、または前記上限閾値と下限閾値との間にある値を含む、態様16または17に記載の方法。
[態様19]
前記方法が、前記k個の検知されたジョイント状態値のうちの1つと、前記上限閾値および下限閾値のうちの1つまたはその他の値との間の差から、差値を計算することと、前記差値を使用して、前記調整信号を決定することと、を含む、態様18に記載の方法。
[態様20]
コンピュータシステムで実行されると、前記コンピュータシステムに、態様16~19のいずれかに記載の方法を実施させるコンピュータ可読命令を記憶している非一時的コンピュータ可読記憶媒体。

Claims (20)

  1. ロボットシステムであって、
    基部と、前記基部から器具の取付部まで延在するアームと、を有する、ロボットであって、前記アームが、n個のジョイントを含み、n>1の場合に、前記アームの構成が、変更可能であり、前記アームが、前記基部と前記器具の前記取付部との間の所与の関係に対して複数の構成を有しており、前記ロボットが、前記ジョイントを移動させるために駆動するように構成された各ジョイントに対するドライバと、前記ジョイントの状態を検知するための各ジョイントに対するジョイントセンサと、を含む、ロボットと、
    制御ユニットであって、
    前記器具の前記取付部の所望の位置を取得することと、
    k<nの場合のk個のジョイントの各々について、検知されたジョイント状態を取得することと、
    前記取得されたk個の検知されたジョイント状態を、制約基準のセットと比較することであって、前記制約基準のセットが、前記アームが第1の構成から第2の構成に向かって移動することを示し、前記アームの移動が、前記第1の構成よりも、前記第2の構成でより制約される、比較することと、
    前記取得されたk個の検知されたジョイント状態が前記制約基準のセットに合致する場合に、前記第2の構成に向かう前記アームの移動を、減速、停止、または逆転させるように構成された調整信号の大きさを決定することと、
    前記器具の前記取付部の前記所望の位置、および前記取得されたk個の検知されたジョイント状態を使用して、前記調整信号の方向を決定することと、
    前記n個のジョイントの各々について、検知されたジョイント状態を取得することと、
    前記器具の前記取付部の前記所望の位置、前記取得されたn個の検知されたジョイント状態、および前記調整信号を使用して、前記ドライバを制御するための制御信号のセットを決定することと、
    前記制御信号のセットを使用して、前記ジョイントを駆動することと、を行うように構成されている、制御ユニットと、を含む、ロボットシステム。
  2. 前記制御ユニットが、前記アームに取り付けられる器具、前記アームが実施するように構成されている手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズム、のうちの1つ以上に依存して、前記調整信号を決定するように構成されている、請求項1に記載のロボットシステム。
  3. 前記制約基準のセットが、上限閾値および下限閾値で囲まれた値の範囲を含み、前記制御ユニットが、前記k個の検知されたジョイント状態が前記制約基準のセットに合致すると決定するように構成されており、前記k個の検知されたジョイント状態が、前記上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、または前記上限閾値と下限閾値との間にある値を含む、請求項1または2に記載のロボットシステム。
  4. 前記制御ユニットが、前記k個の検知されたジョイント状態値のうちの1つと、前記上限閾値および下限閾値のうちの1つまたはその他の値との間の差から、差値を計算し、前記差値を使用して、前記調整信号を決定するように構成されている、請求項3に記載のロボットシステム。
  5. 前記調整信号を決定することが、前記差値にゲイン係数を加えることを含む、請求項4に記載のロボットシステム。
  6. 前記ゲイン係数が、前記アーム、前記アームに取り付けられる器具、前記アームの環境、および前記アームを使用して、実施される前記手順、のうちの1つ以上に依存して選択される、請求項5に記載のロボットシステム。
  7. 前記制約基準のセットが、複数のジョイントに関して、それぞれの上限閾値および下限閾値で囲まれた複数の値の範囲を含み、前記制御ユニットが、前記k個の検知されたジョイント状態が前記制約基準のセットに合致すると決定するように構成されており、それぞれの検知されたジョイント状態が、前記それぞれの上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、または前記それぞれの上限閾値と下限閾値との間にある値を含む、請求項1~6のいずれかに記載のロボットシステム。
  8. 前記調整信号が、前記アームの複数のジョイントを調整するように構成されており、および/または前記調整信号が、ジョイント速度信号を含む、請求項1~7のいずれかに記載のロボットシステム。
  9. 前記第2の構成が、
    ジョイントの周りの運動の範囲を制限することと、
    ジョイント特異性に近づくこと、またはジョイント特異性を引き起こすことと、
    ジョイントのジョイント回転限界に近づくことと、
    人および/または物体に対する前記アームの接近と、のうちの1つ以上によって、比較的より制約されている、請求項1~8のいずれかに記載のロボットシステム。
  10. 前記制御ユニットが、前記器具の前記取付部の移動に応じて、前記調整信号をゲートするように構成されており、および/または前記制御ユニットが、前記調整信号をフィルタリングし、前記フィルタリングされた調整信号を使用して、前記制御信号のセットを決定するように構成されている、請求項1~9のいずれかに記載のロボットシステム。
  11. 前記制御ユニットが、前記制約基準のセットおよび/または前記ゲイン係数を動的に変更するよう構成されている、請求項1~10のいずれかに記載のロボットシステム。
  12. ジョイントの状態が、そのジョイントの角度、そのジョイントの位置、そのジョイントの速さまたは速度、そのジョイントの加速度、およびそのジョイント上またはそのジョイントの周りのトルク、のうちの1つ以上を含む、請求項1~11のいずれかに記載のロボットシステム。
  13. 前記制御ユニットが、前記調整信号が前記基部と前記器具の前記取付部との間の相対的移動を引き起こさないように、前記調整信号を決定するように構成されており、および/または前記制御ユニットが、前記ロボットシステムの動作モードに依存して、前記制約基準のセットを決定するように構成されている、請求項1~12のいずれかに記載のロボットシステム。
  14. 前記制御ユニットが、
    前記器具の前記取付部の前記所望の位置および前記取得されたk個の検知されたジョイント状態を使用して、前記k個のジョイントに対する解を決定し、前記k個のジョイントに対する前記解を使用して、前記調整信号の前記方向を決定するように構成されている、請求項1~13のいずれかに記載のロボットシステム。
  15. 前記制御ユニットが、最小二乗法またはその変形を使用して、前記k個のジョイントに対する前記解を決定し、ヌル空間内にある前記k個のジョイントに対する最小ノルム解を決定するように構成されている、請求項14に記載のロボットシステム。
  16. ロボットシステムを制御するコンピュータ実装方法であって、前記ロボットシステムが、基部と、前記基部から器具の取付部まで延在するアームと、を有する、ロボットであって、前記アームが、n個のジョイントを含み、n>1の場合に、前記アームの構成が、変更可能であり、前記アームが、前記基部と前記器具の前記取付部との間の所与の関係に対して複数の構成を有しており、前記ロボットが、前記ジョイントを移動させるために駆動するように構成された各ジョイントに対するドライバと、前記ジョイントの状態を検知するための各ジョイントに対するジョイントセンサと、を含む、ロボットを含み、前記方法が、
    前記器具の前記取付部の所望の位置を取得することと、
    k<nの場合のk個のジョイントの各々について、検知されたジョイント状態を取得することと、
    前記取得されたk個の検知されたジョイント状態を、制約基準のセットと比較することであって、前記制約基準のセットが、前記アームが第1の構成から第2の構成に向かって移動することを示し、前記アームの移動が、前記第1の構成よりも、前記第2の構成でより制約される、比較することと、
    前記取得されたk個の検知されたジョイント状態が前記制約基準のセットに合致する場合に、前記第2の構成に向かう前記アームの移動を、減速、停止、または逆転させるように構成された調整信号の大きさを決定することと、
    前記器具の前記取付部の前記所望の位置、および前記取得されたk個の検知されたジョイント状態を使用して、前記調整信号の方向を決定することと、
    前記n個のジョイントの各々について、検知されたジョイント状態を取得することと、
    前記器具の前記取付部の前記所望の位置、前記取得されたn個の検知されたジョイント状態、および前記調整信号を使用して、前記ドライバを制御するための制御信号のセットを決定することと、
    前記制御信号のセットを使用して、前記ジョイントを駆動することと、を含む、コンピュータ実装方法。
  17. 前記方法が、前記アームに取り付けられる器具、前記アームが実施するように構成されている手順、システムテレメトリから収集される使用データ、およびデータ解析のための1つ以上のアルゴリズム、のうちの1つ以上に依存して、前記調整信号を決定することを含む、請求項16に記載の方法。
  18. 前記制約基準のセットが、上限閾値および下限閾値で囲まれた値の範囲を含み、前記方法が、前記k個の検知されたジョイント状態が前記制約基準のセットに合致すると決定することを含み、前記k個の検知されたジョイント状態が、前記上限閾値および下限閾値のうちの1つもしくは他の値に等しいか、または前記上限閾値と下限閾値との間にある値を含む、請求項16または17に記載の方法。
  19. 前記方法が、前記k個の検知されたジョイント状態値のうちの1つと、前記上限閾値および下限閾値のうちの1つまたはその他の値との間の差から、差値を計算することと、前記差値を使用して、前記調整信号を決定することと、を含む、請求項18に記載の方法。
  20. コンピュータシステムで実行されると、前記コンピュータシステムに、請求項16~19のいずれかに記載の方法を実施させるコンピュータ可読命令を記憶している非一時的コンピュータ可読記憶媒体。
JP2021120953A 2019-10-29 2021-07-21 ロボットジョイント制御 Active JP7079881B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021120953A JP7079881B2 (ja) 2019-10-29 2021-07-21 ロボットジョイント制御

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1915688.4A GB2588630B (en) 2019-10-29 2019-10-29 Robotic joint control
PCT/GB2020/052714 WO2021084238A1 (en) 2019-10-29 2020-10-27 Robotic joint control
JP2021541448A JP7079899B2 (ja) 2019-10-29 2020-10-27 ロボットジョイント制御
JP2021120953A JP7079881B2 (ja) 2019-10-29 2021-07-21 ロボットジョイント制御

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021541448A Division JP7079899B2 (ja) 2019-10-29 2020-10-27 ロボットジョイント制御

Publications (2)

Publication Number Publication Date
JP2022070808A true JP2022070808A (ja) 2022-05-13
JP7079881B2 JP7079881B2 (ja) 2022-06-02

Family

ID=87891019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021120953A Active JP7079881B2 (ja) 2019-10-29 2021-07-21 ロボットジョイント制御

Country Status (1)

Country Link
JP (1) JP7079881B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110218673A1 (en) * 2008-10-21 2011-09-08 Kabushiki Kaisha Toshiba Robot control apparatus
WO2014043702A1 (en) * 2012-09-17 2014-03-20 Rethink Robotics, Inc. Constraining robotic manipulators with redundant degrees of freedom
US20140358161A1 (en) * 1999-09-17 2014-12-04 Intuitive Surgical Operations, Inc. Systems and methods for commanded reconfiguration of a surgical manipulator using the null-space
WO2015142796A1 (en) * 2014-03-17 2015-09-24 Intuitive Surgical Operations, Inc. Tele-operative surgical systems and methods of control at joint limits using inverse kinematics
US9981381B1 (en) * 2016-06-08 2018-05-29 X Development Llc Real time generation of phase synchronized trajectories
US20190060008A1 (en) * 2017-08-28 2019-02-28 Brent Andrew BAILEY Positioning arm for a surgical navigation system
WO2019094794A2 (en) * 2017-11-10 2019-05-16 Intuitive Surgical Operations, Inc. Systems and methods for controlling a robotic manipulator or associated tool

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140358161A1 (en) * 1999-09-17 2014-12-04 Intuitive Surgical Operations, Inc. Systems and methods for commanded reconfiguration of a surgical manipulator using the null-space
US20110218673A1 (en) * 2008-10-21 2011-09-08 Kabushiki Kaisha Toshiba Robot control apparatus
WO2014043702A1 (en) * 2012-09-17 2014-03-20 Rethink Robotics, Inc. Constraining robotic manipulators with redundant degrees of freedom
WO2015142796A1 (en) * 2014-03-17 2015-09-24 Intuitive Surgical Operations, Inc. Tele-operative surgical systems and methods of control at joint limits using inverse kinematics
US9981381B1 (en) * 2016-06-08 2018-05-29 X Development Llc Real time generation of phase synchronized trajectories
US20190060008A1 (en) * 2017-08-28 2019-02-28 Brent Andrew BAILEY Positioning arm for a surgical navigation system
WO2019094794A2 (en) * 2017-11-10 2019-05-16 Intuitive Surgical Operations, Inc. Systems and methods for controlling a robotic manipulator or associated tool

Also Published As

Publication number Publication date
JP7079881B2 (ja) 2022-06-02

Similar Documents

Publication Publication Date Title
JP6617114B2 (ja) 関節器具に好適な姿勢を取らせるような命令をするように入力装置のオペレータを促す、入力装置での力フィードバックの適用
US10765485B2 (en) Medical support arm device and method of controlling medical support arm device
US20100228266A1 (en) Master Controller Having Redundant Degrees of Freedom and Added Forces to Create Internal Motion
JP6892967B2 (ja) ロボット手首を制御するためのシステム及び方法
US20190060019A1 (en) Force estimation using robotic manipulator force torque sensors
TWI695765B (zh) 機械手臂
EP3946833B1 (en) Reducing energy buildup in servo-controlled mechanisms
EP4126469A2 (en) Control system of a surgical robot
WO2021198664A1 (en) Control system of a surgical robot
JP7300508B2 (ja) ロボットジョイント制御
JP7079899B2 (ja) ロボットジョイント制御
JP7079881B2 (ja) ロボットジョイント制御
US20230263585A1 (en) Method and system for coordinated multiple-tool movement using a drivable assembly
GB2623464A (en) Robotic joint control
EP4125678A1 (en) Control system of a surgical robot

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210726

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210726

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220411

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: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220523

R150 Certificate of patent or registration of utility model

Ref document number: 7079881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150