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

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

Info

Publication number
JP7300508B2
JP7300508B2 JP2021532491A JP2021532491A JP7300508B2 JP 7300508 B2 JP7300508 B2 JP 7300508B2 JP 2021532491 A JP2021532491 A JP 2021532491A JP 2021532491 A JP2021532491 A JP 2021532491A JP 7300508 B2 JP7300508 B2 JP 7300508B2
Authority
JP
Japan
Prior art keywords
joint
joints
arm
velocity
limit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021532491A
Other languages
English (en)
Other versions
JP2022510478A (ja
Inventor
モットラム・エドワード・ジョン
ディーン・ゴードン・トーマス
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
Application filed by CMR Surgical Ltd filed Critical CMR Surgical Ltd
Publication of JP2022510478A publication Critical patent/JP2022510478A/ja
Application granted granted Critical
Publication of JP7300508B2 publication Critical patent/JP7300508B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/76Manipulators having means for providing feel, e.g. force or tactile feedback
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/06Measuring instruments not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/02Hand grip control means
    • B25J13/025Hand grip control means comprising haptic means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/20Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis
    • A61B2034/2046Tracking techniques
    • A61B2034/2059Mechanical position encoders
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/06Measuring instruments not otherwise provided for
    • A61B2090/064Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension
    • A61B2090/066Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension for measuring torque
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/06Measuring instruments not otherwise provided for
    • A61B2090/067Measuring instruments not otherwise provided for for measuring angles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40353Split robot into two virtual robot, origin of second equals tip of first
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40381Control trajectory in case of joint limit, clamping of joint
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43201Limit speed to allowable speed for all axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45118Endoscopic, laparoscopic manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Pathology (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットアームなどのロボットシステムにおけるジョイントの制御に関し、特に、複数のジョイントのジョイント速度を、ジョイントのうちの1つから決定される共通のジョイント速度限界によって制限することに関する。
典型的なロボットマニピュレータは、ジョイントによって一緒に結合された一連の剛直な要素を備える。要素は、アームを形成するように直列に連結され得る。ジョイントは、剛直な要素の相対運動を引き起こすように駆動され得る。剛直な要素は、基部から発端し、器具またはエンドエフェクタの取付部で終端し得る。したがって、ジョイントの運動を使用して、所望の場所にエンドエフェクタを位置付けることができる。各ジョイントは、回転運動または直線運動を提供し得る。ジョイントは、任意の好適な手段、例えば、電気モータまたは油圧アクチュエータによって駆動され得る。
動作中、ロボットは、エンドエフェクタを所望の位置まで移動させる必要がある場合がある。例えば、ロボットは、エンドエフェクタを使用して、物体を拾い上げる必要がある場合がある。これは、物体がある所までエンドエフェクタを移動する必要がある。これを達成するために、ジョイントのいくつかの運動の組み合わせが必要である。これらの運動を計算するために、ロボットの制御システムが使用される。
従来、ロボットには位置センサが提供され、位置センサの各々は、ジョイントのそれぞれ1つの構成を検知する。この位置情報は制御システムに供給される。
制御システムの既知の戦略は、以下のとおりである。
1.エンドエフェクタの所望の位置を示す情報を受信する。
2.その位置にエンドエフェクタを至らせることになる、ロボットのジョイントの目標となる構成のセットを決定する。これは、逆運動学として知られている。
3.ロボットの各ジョイントの現在の構成を示す情報を受信し、これらの現在の構成を目標となる構成と比較し、それぞれのジョイントの現在の位置と目標となる位置との間の誤差を低減するために、各ジョイントで必要とされるトルクまたは力のセットを計算する。
4.これらのトルクまたは力をそれぞれのジョイントにかけるために、ロボットのアクチュエータに駆動信号を送信する。
この一連のステップは、経時的にロボットの運動が目標となる構成に適合するように、繰り返し実施される。
このアプローチは、逆運動学の問題を解くのは難しいと通常考えられるため、問題がある。この1つの理由は、マニピュレータの特定の姿勢が特異なものになり得ることであり、これは、有限のジョイント速度を有する全方向におけるエンドエフェクタの後続の動きを得ることが不可能であることを意味する。
ロボットマニピュレータなどの機械システムのための改善された制御システムに対するニーズがある。
この概要は、以下で詳細な説明でさらに記述される概念の選択を紹介するために提供される。この概要は、特許請求された主題の主要な特徴または必須の特徴を識別することを意図しておらず、特許請求された主題の範囲を制限するために使用することも意図していない。
本発明の一態様によれば、外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するための方法であって、外科手術ロボットシステムが、基部、および基部から器具の取付部まで延在するアーム、を有するロボットを備え、アームが、複数のジョイントであって、それによって、アームの構成を変更することができる、複数のジョイントを備え、方法が、
アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
k個のジョイントの各々について、
そのジョイントの運動許容範囲を、取得されたジョイント状態から決定することと、
そのジョイントのジョイント速度限界を、前記運動許容範囲を使用して導出することと、
k個のジョイントの最小ジョイント速度限界を、k個のジョイントの各々を個別に制限するために使用される共通のジョイント速度限界に選択することと、
k個のジョイントを駆動するための駆動信号を計算することと、を含み、k個のジョイントの各々の速度が、共通のジョイント速度限界を使用して制限される、方法が提供される。
本発明の別の態様によれば、外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するための方法であって、外科手術ロボットシステムが、基部、および基部から器具の取付部まで延在するアーム、を有するロボットを備え、アームが、複数のジョイントであって、それによって、アームの構成を変更することができる、複数のジョイントを備え、方法が、
アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
k個のジョイントの各々について、そのジョイントの運動許容範囲を、取得されたジョイント状態から決定することと、
k個のジョイントの最小運動許容範囲、およびその最小運動許容範囲に関連するジョイントを使用して、k個のジョイントの各々を個別に制限するために使用される共通のジョイント速度限界を導出することと、
k個のジョイントを駆動するための駆動信号を計算することと、を含み、k個のジョイントの各々の速度が、共通のジョイント速度限界を使用して制限される、方法が提供される。
以下は、本明細書の態様のうちの1つ以上に関連し得る。
k個のジョイントの第1の群は、アームの基部の近位にあるk個のジョイントを含み得、共通のジョイント速度限界は、デカルト空間の直交方向に沿ってk番目のジョイントの位置的な速度を制限し得る。k個のジョイントの第1の群は、アームの基部の近位にあるk個のジョイントを含み得、k個のジョイントにより、(k+m)番目のジョイントの位置を一意的に決定することができる場合があり、式中、m>0である。共通のジョイント速度は、デカルト空間の直交方向に沿って(k+m)番目のジョイントの位置的な速度を制限し得る。k個のジョイントの各々の速度は、共通のジョイント速度限界に個別に制限され得る。
アームは、n個のジョイントを備えることができ、式中、n>kであり、方法は、アームの(n-k)個のジョイントの第2の群のジョイント状態を取得することと、(n-k)個のジョイントの各々について、そのジョイントの運動許容範囲を、取得されたジョイント状態から決定することと、そのジョイントのジョイント速度限界を、運動許容範囲を使用して導出することと、(n-k)個のジョイントの最小ジョイント速度限界を、(n-k)個のジョイントの各々に対するさらなる共通のジョイント速度限界に個別に選択することと、(n-k)個のジョイントを駆動するための駆動信号を計算することと、を含み得、(n-k)個のジョイントの各々の速度は、さらなる共通のジョイント速度限界に制限される。
k個のジョイントの第1の群および(n-k)個のジョイントの第2の群のうちの一方または両方のジョイント状態を取得することは、ジョイント角度を取得することを含み得る。ジョイントの運動許容範囲を決定することは、そのジョイントのジョイント角度限界に最も近い角距離を決定することを含み得る。ジョイント速度限界を導出することは、それぞれのジョイントに対する最大減速度、およびジョイント角度限界に対する決定された最も近い角距離を使用することを含み得る。さらなる共通のジョイント速度限界は、(k+m)番目のジョイントの角速度を制限し得、式中、m>0である。さらなる共通のジョイント速度限界は、n番目のジョイントの角速度を制限し得る。
ジョイントのジョイント角度限界およびジョイントの最大減速度のうちの少なくとも1つは、所定の値を含み得る。ジョイントのジョイント角度限界およびジョイントの最大減速度のうちの少なくとも1つは、ジョイントの物理的特性から決定され得る。ジョイントのジョイント角度限界およびジョイントの最大減速度のうちの少なくとも1つは、ユーザ定義可能であってもよい。ジョイント角度限界に対する決定された最も近い角距離が閾値の角距離を超えている場合、そのジョイントのジョイント速度限界は、所定のジョイント速度限界値を含み得る。所定のジョイント速度限界値は、ユーザ定義可能であってもよい。
ジョイント速度限界を導出することは、ジョイントの角度位置および/または角速度を、デカルト空間の位置および/または速度にそれぞれ変換することを含み得る。変換することは、ヤコビ行列を決定することを含み得る。変換することは、決定されたヤコビ行列を使用して逆行列を導出することを含み得る。変換することは、逆行列の各行に対するユークリッドノルムを決定することを含み得る。
本方法は、共通のジョイント速度限界を超えるジョイントに対する命令されたジョイント速度、またはそのジョイントに対するさらなる共通のジョイント速度限界に基づいて、外科手術ロボットシステムのユーザにフィードバックを提供することを含み得る。外科手術ロボットシステムは、入力コントローラであって、それによって、アームの構成を変更するようにユーザが操作可能である、入力コントローラを備えることができ、方法は、入力コントローラを介して触覚フィードバックを提供することを含み得る。触覚フィードバックは、入力コントローラの動きに抵抗力を加えることを含み得る。
本発明の別の態様によれば、外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するためのジョイント速度制限システムであって、外科手術ロボットシステムが、基部、および基部から器具の取付部まで延在するアーム、を有するロボットを備え、アームが、複数のジョイントであって、それによって、アームの構成を変更することができる、複数のジョイントを備え、ジョイント速度制限システムが、
アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
k個のジョイントの各々について、
そのジョイントの運動許容範囲を、取得されたジョイント状態から決定することと、
そのジョイントのジョイント速度限界を、運動許容範囲を使用して導出することと、
k個のジョイントの最小ジョイント速度限界を、k個のジョイントの各々を個別に制限するために使用される共通のジョイント速度限界に選択することと、
k個のジョイントを駆動するための駆動信号を計算することと、を行うように構成されており、k個のジョイントの各々の速度が、共通のジョイント速度限界を使用して制限される、ジョイント速度制限システムが提供される。
本発明の別の態様によれば、外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するためのジョイント速度制限システムであって、外科手術ロボットシステムが、基部、および基部から器具の取付部まで延在するアーム、を有するロボットを備え、アームが、複数のジョイントであって、それによって、アームの構成を変更することができる、複数のジョイントを備え、ジョイント速度制限システムが、
アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
k個のジョイントの各々について、そのジョイントの運動許容範囲を、取得されたジョイント状態から決定することと、
k個のジョイントの最小運動許容範囲、およびその最小運動許容範囲に関連するジョイントを使用して、k個のジョイントの各々を個別に制限するために使用される共通のジョイント速度限界を導出することと、
k個のジョイントを駆動するための駆動信号を計算することと、を行うように構成されており、k個のジョイントの各々の速度が、共通のジョイント速度限界を使用して制限される、ジョイント速度制限システムが提供される。
本発明の別の態様によれば、本明細書に記載の方法を実施するように構成された外科手術ロボットシステムのためのジョイント速度制限システムが提供される。
本発明の別の態様によれば、基部、および基部から器具の取付部まで延在するアーム、を有するロボットを備える、外科手術ロボットシステムと、本明細書に記載の方法によってジョイント速度を制限するように構成されたジョイント速度制限システムと、が提供される。
本発明の別の態様によれば、非一時的コンピュータ可読記憶媒体であって、そこに記憶されているコンピュータ可読命令が、コンピュータシステムで実行されると、コンピュータシステムに、本明細書に記載の方法を実施させる、非一時的コンピュータ可読記憶媒体が提供される。
本明細書に記載の任意の態様の任意の特徴は、本明細書に記載の任意の態様の任意の他の特徴と組み合わせることができる。任意の装具の特徴を、方法の特徴として書き変えることができ、逆もまた同様である。これらは、単に簡潔さのために、本明細書では完全には書き出されない。
ここで、添付図面を参照して、本発明を例として説明する。
典型的な外科手術ロボットを例示する。 ロボットアームを制御するためのシステムの概略図を例示する。 別の外科手術ロボットを例示する。 ロボットシステムの複数のジョイントのジョイント速度を制限する方法を例示する。 ジョイントの運動許容範囲を決定する方法を例示する。 ジョイントの角度位置および/またはジョイント速度をデカルト空間に変換する方法を例示する。 ロボットシステムの複数のさらなるジョイントのジョイント角速度を制限する方法を例示する。 ロボットシステムの複数のジョイントのジョイント速度を制限する別の方法を例示する。 ロボットシステムの複数のさらなるジョイントのジョイント角速度を制限する別の方法を例示する。
以下の説明は、当業者が本発明を作製および使用することができるようにするための実施例として提示されている。本発明は、本明細書に記載される実施形態に限定されないが、開示される実施形態に対する様々な修正は、当業者には明らかであろう。実施形態は、実施例としてのみ記載されている。
外科手術ロボットアームなどのロボットアームは、1つ以上の駆動信号に応答して移動するように制御され得る。駆動信号は、アームの1つ以上のジョイントの運動をもたらす。ロボットアームは、アームの命令された動きに従って、例えば、ロボットアームに結合された入力コントローラで受信した入力に従って、移動する。アームのジョイントの運動の速度は、入力コントローラの運動の速度に対応する。概して、入力コントローラが迅速に移動すればするほど、アームのジョイントが、より迅速に移動するように駆動される。
アームのジョイントは、制限された最大トルクを有する。したがって、アームの動きが命令された動きについていくことができない状況が生じる場合がある。ロボットアーム制御システムが、命令された動きについていくように高速でジョイントを駆動することを試みるのではなく、速度限界をジョイントに適用することが適切である。これは、ジョイントが、ジョイントのそれぞれのジョイント角度限界によって滑らかに停止するようにジョイントを制御することができないほどに速く移動しないことを確実にするのに役立つ場合がある。好適には、共通の速度限界は、アームのジョイントのサブセット、例えば、単一のジョイントから決定され、アームの2つ以上のジョイントの速度を制限するために適用または使用され得る。一部の事例では、共通のジョイント速度限界は、ジョイントに個別に適用され得る。共通のジョイント速度は、アームのジョイントのすべてに適用され得る。
各ジョイントに対して好適なジョイント速度限界を動的に、かつ命令された動きに基づいて決定することは、計算上の負荷が高い場合があり、命令されたジョイントの動きに関する知識を必要とする。本明細書に記載のより効率的なアプローチは、アームの姿勢の機能としてジョイント速度限界を計算することである。ジョイント速度限界は、好ましくは、アームのジョイントに基づいて、例えば、ジョイントの回転角度限界および/またはジョイントのジョイント最大減速度などのジョイント特性に基づいて、計算される。本発明のアプローチにより、ジョイント速度限界を、より低い処理能力で、および/または潜在的により迅速に計算することができ、これにより、制御システムの効率を改善することができる。本アプローチにより、命令された動きを知る必要なしに、例えば、入力コントローラから受信した入力へのアクセスを必要とすることなく、アームのジョイントの速度を制限することができる。本アプローチは、所与の姿勢がいつアームの1つ以上のジョイントの急速な運動をもたらすか、またはもたらす可能性が高くなるかを認識することができ、応答してアームの複数のジョイントを制限することによって、かかる急速な運動を予測することができる。
以下でより詳細に説明されるように、外科手術ロボットアームなどのロボットアームの複数のジョイントの速度は、アームの複数のジョイントのジョイント状態(ジョイント角度など)を取得することによって制限され得る。これらの複数のジョイントの各々について、運動許容範囲が決定される。これには、ジョイントがジョイントの現在の位置からいずれかの方向にどれだけ遠く移動または回転し得るかを計算することが含まれ得る。次いで、複数のジョイントの各々についてジョイント速度限界が導出される。この導出は、ジョイントが、ジョイントの回転限界、例えば、現在の角度位置に最も近い回転限界で停止し得ることを確実にするために、それぞれのジョイントの最大減速度に基づき得る。導出されたジョイント速度限界の最小値は、複数のジョイントの各々に個別に適用され得る、共通のジョイント速度限界として選択される。共通のジョイント速度限界を使用して、複数のジョイントの各々を個別に制限することができる。複数のジョイントを駆動するための駆動信号が計算され、複数のジョイントの各々の速度を共通のジョイント速度限界に制限し得る。
ジョイントの最小ジョイント速度限界を、すべてのジョイントに対する共通のジョイント速度限界として設定することにより、いずれのジョイントもそれらのそれぞれのジョイント速度限界を超えないことを確実にすることができる。複数のジョイントのアームの遠位の部分の運動は、ジョイントの各々の運動に個別に依存する。これらのジョイントの各々に対して共通のジョイント速度限界を個別に設定することによって、アームのその遠位部分の速度を便利な方法で制限することもできる。共通のジョイント速度限界は、複数のジョイントのアームの遠位の部分、例えば、複数のジョイントからの次のジョイント、または複数のジョイントからのより遠位のジョイントに適用され得る。共通のジョイント速度限界は、アームのその部分の位置が移動し得る速度(例えば、デカルト空間の3つの直交軸に沿った位置的な速度)を制限するように適用され得る。アームのその部分の速度は、複数のジョイント、すなわち、アームのその部分よりもアームの基部の近位にあるジョイントの速度に依存する。したがって、共通のジョイント速度限界をアームのその部分に適用することは、複数のジョイントの速度を制限する効果を有する。複数のジョイントの速度は、共通のジョイント速度限界に個別に制限され得る。複数のジョイントのうちの2つ以上が一度に移動する場合、これらのジョイントの最大速度は、共通のジョイント速度限界よりも小さくなる可能性が高い。
ロボットアームは、アームの基部と、アームの基部からアームの遠位の端部にある器具の取付部との間に同じ空間的関係をもたらす、アームのジョイントの複数の構成があるという点で、運動学的に冗長であり得るか、または単に「冗長」であり得る。冗長アームは、所与のタスクを実施し、(アームに取り付けられた)器具または内視鏡を、2つ以上の可能なアーム構成または「姿勢」で所望の位置に移動させることができる(向き付けすることを含む)。
かかる冗長性は、アームの構成に柔軟性を与えることができるが、問題につながる場合もあり、一部のアーム構成は、他のものよりも望ましくない場合がある。これは、アームが、別の構成のものと比べて、1つの構成において作業空間内で別の物体または人物と衝突する可能性が高くなるためであり得る。構成は、例えば、ジョイントまたはエンドエフェクタの後続の動きを制限するため、望ましくない場合がある。例えば、エンドエフェクタの特定の位置は、その動作範囲内の、またはその動作範囲の限界に近い、所与のジョイントで十分に達成可能であり得る。後者の構成は、所与のジョイントが、その動作限界に後続の動きで到達し、潜在的にエンドエフェクタの動きを限定するか、または限定された動きを補償するために他のジョイントでの望ましくない高速ジョイントの別の原因につながり得るという点で、望ましくない。ジョイント限界は、ジョイントの動き、ひいては、アームの制約として作用する。
本技術では、高い命令速度によって、および/もしくは高いジョイント速度を生じさせるアームの制約によって、または何らかの他の方法で引き起こされたかどうかにかかわらず、望ましくない高いジョイント速度を回避するための措置を、例えば、制御システムによって、講じることができる。この措置は、現在のジョイント状態または角度に基づいて講じることができる。例えば、アームまたはアームのジョイントの少なくともサブセットの姿勢に関する知識は、アームの複数のジョイントの速度を制限することを可能にするのに十分であり得る。命令された運動に関する知識は必要ない。
図1は、基部108、アーム102、および器具105からなる、腹腔鏡手術を実施する際に使用するための典型的な外科手術ロボット100を例示する。基部は、ロボットを支持し、それ自体が、例えば、手術室の床、手術室の天井、トロリー、または患者ベッドにしっかりと取り付けられる。アームは、基部と器具との間に延在する。アームは、その長さに沿って、外科手術器具を患者に対して所望の場所に位置特定する(向き付けすることを含み得る)ために使用される複数の柔軟性のあるジョイント103によって関節式に連結される。外科手術器具は、ロボットアームの遠位端104に取り付けられる。外科手術器具は、外科手術部位にアクセスするように、ポート107で患者101の身体を貫通する。その遠位端において、器具は、医療的手技で係合するためのエンドエフェクタ106を含む。
典型的なロボットアームは、ジョイントごとに、ジョイントを駆動して移動させるように構成されたドライバを備えるであろう。典型的なロボットアームは、ジョイントごとに、ジョイントの状態を検知するように構成されたジョイントセンサを備えるであろう。
本アプローチを、ロボットアームを制御するためのシステムを例示する図2を参照して説明する。本システムは、運動学的コントローラ204に結合された入力コントローラ202を備える。運動学的コントローラ204は、アーム基部コントローラなどのアームコントローラ206に結合される。アームコントローラ206は、ロボットアームのジョイントを駆動するための信号208を出力する。アームコントローラはまた、ジョイント速度制限器210に結合される。ジョイント速度制限器は、運動学的コントローラ204に結合される。ジョイント速度制限器210は、ジョイント速度制限システムの一部を好適に形成する。運動学的コントローラ204は、ジョイント速度制限システムの一部を形成し得る。アームコントローラ206は、ジョイント速度制限システムの一部を形成し得る。
入力コントローラ202は、ロボットアームの位置を制御するために操作可能である。外科医などの、システムのユーザは、アームの動きを含む、アームの所望の動作を命令するように、入力コントローラを操作することができる。入力コントローラの出力は、ロボットアームに対する命令された姿勢の表現であってもよい。例えば、入力コントローラの出力としては、ロボットアームの遠位ジョイントの所望の動きを挙げることができる。この出力は、運動学的コントローラ204で受信される。運動学的コントローラは、命令された姿勢に応答して、ロボットアームの所望の姿勢を決定するように構成されている。これは通常、現在の姿勢から所望の姿勢に向かうアームの所望の動きに対応する。運動学的コントローラは、所望の姿勢を、所望の姿勢を達成するようにアームのジョイントを駆動するために必要な駆動信号208を計算するように構成されたアームコントローラ206に出力する。所望の姿勢の決定および/または所望の姿勢を達成するために必要な駆動信号の計算は、任意の好適な方法で行うことができる。例えば、駆動されるジョイントの各々の所望のジョイント角度を含み得るアームの所望の姿勢は、アームの現在の姿勢に基づいて決定され得る。アームの遠位ジョイントの所望の動きを引き起こすためのジョイントの各々の動きを決定することができる。運動学的コントローラおよび/またはアームコントローラは、例えば、アームのジョイント状態にアクセスすることによって、および/またはアームを駆動するために使用される駆動信号などの、アーム位置に対する以前の調節の記録を、例えばメモリに維持することによって、アームの現在の姿勢に好適にアクセスする。例えば、運動学的コントローラおよび/またはアームコントローラは、ジョイントセンサからの信号を受信するように構成され得る。受信した信号は、それぞれのジョイントの現在の回転位置を示すことができる。
アームコントローラは、ジョイント状態、例えば、アームのジョイントの少なくともサブセットのジョイントの角度位置をジョイント速度制限器210に出力するように構成されている。ジョイント速度制限器は、受信したジョイント状態に依存して、アームの複数のジョイントに対する共通のジョイント速度限界を導出するように構成されている。共通のジョイント速度限界は、ジョイント速度制限器によって運動学的コントローラに出力される。したがって、運動学的コントローラは、アームの複数のジョイントに対する、命令された姿勢および共通のジョイント速度限界に依存して、アームの所望の姿勢を決定することができる。したがって、駆動信号208によって制御されるアームの動きは、アームの現在の姿勢、およびその現在の姿勢から導出された共通のジョイント速度限界を考慮に入れることができる。
好適には、アームは、アームの選択された部分、例えば、アームの手首などのアームのジョイントもしくは場所の位置が、その選択された部分の現在の位置と、その選択された部分の命令された位置とを連結する直線上にあるように、または他の制御基準を満たしながら達成され得る程度にその直線に近くなるように制御される。したがって、アームの選択された部分の位置は、アームを制御するユーザによって期待される経路に追従する。したがって、ジョイントの速度が限定される場合、他のジョイントの速度もまた、アームの選択された部分の位置が所望の経路に追従するように修正される必要がある可能性が高い。
ここで、本技術を、ロボットアームの特定の配置についてさらに説明する。図3は、基部301から延在するアーム300を有する外科手術ロボットを例示する。アームは、いくつかの剛直な肢302を備える。肢は、外旋ジョイント303によって結合される。最近位肢302aは、近位ジョイント303aによって基部に結合される。それおよび他の肢は、ジョイント303のさらなるジョイントによって直列で結合される。好適には、手首304は、4つの個々の外旋ジョイントから構成される。手首の位置は、外旋ジョイントのうちの少なくとも2つの回転軸が交差する場所として定義され得る。手首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の回転軸の交点)。所望の位置は、アームの複数のジョイントに適用される共通のジョイント速度限界を考慮に入れて、コマンドインターフェースによって命令される、命令された位置から導出される。アームの動きおよび/または位置を調節するように適用される制約は、ユーザが指定した動作モード内で任意の所与のタスクを実施するために、肘がそのヌル空間内の最適な場所にあることを確実にするのに役立つ場合がある。アームのジョイントの動きにより、別様に共通のジョイント速度限界を超える可能性がある場合、これを補償するために、肘のジョイントを移動させることができ、これにより、いくつかの事例では、共通のジョイント速度限界に依然として適合しつつ、手首の運動が影響を受ける(例えば、減速される)ことを回避することができる。
ここで、本アプローチの具体的な実施例を説明する。本実施例は、図3に例示されるタイプの外科手術ロボットアームを指す。1つの実施例では、ロボットアームは、8つのジョイントを備える。基部からの最初の4つのジョイント(J1~J4)、すなわち、基部の近位にある4つのジョイントにより、アームのより遠位の部分を、3Dデカルト空間において、その空間の3つの直交軸に沿って位置付けることができる。ジョイントは、以下のタイプのジョイントであってもよい。J1(ロールジョイント)、J2(ピッチジョイント)、J3(ロールジョイント)、J4(ピッチジョイント)。後続ジョイント、この実施例では、第5~第8のジョイント(J5~J8)により、第4のジョイントのアームの遠位の部分を、その位置を中心として角度方向に回転させることができる。これらの後続ジョイントは、以下のタイプのジョイントであってもよい。J5(ロールジョイント)、J6(ピッチジョイント)、J7(ヨージョイント)、J8(ロールジョイント)。したがって、この実施例では、ジョイントJ1~J4は、デカルト空間における、アームの遠位部分の位置を画定するのに十分である。アームの遠位部分は、ジョイントJ5~J8を備え得る。
ジョイントJ1~J4の各々は、それぞれの最小ジョイント回転位置と、それぞれの最大ジョイント回転位置と、を有する。これらの最小ジョイント回転位置および最大ジョイント回転位置は、物理的な終点、すなわち、ジョイントが通り越して物理的に回転することができない角度であり得るか、または例えばソフトウェア制御で選択される角度であり得る。ジョイントの各々は、その最小ジョイント回転位置と最大ジョイント回転位置との間で回転可能である。この実施例では、J1は、-720度~720度の間で回転可能である。J2は、-90度~135度の間で回転可能である。J3は、-720度~720度の間で回転可能である。J4は、-5度~180度の間で回転可能である。J1および/またはJ3に関する最小ジョイント回転位置と最大ジョイント回転位置との差は、好適には、J2および/またはJ4に関する最小ジョイント回転位置と最大ジョイント回転位置との差よりも大きい。これは、例えば、J1および/またはJ3が、アームの動作中にJ2および/またはJ4よりも移動しない傾向がある場合であり得る。
ジョイントJ5~J8の各々は、それぞれの最小ジョイント回転位置と、それぞれの最大ジョイント回転位置と、を有する。これらの最小ジョイント回転位置および最大ジョイント回転位置は、物理的な終点、すなわち、ジョイントが通り越して物理的に回転することができない角度であり得るか、または例えばソフトウェア制御で選択される角度であり得る。ジョイントの各々は、その最小ジョイント回転位置と最大ジョイント回転位置との間で回転可能である。この実施例では、J5は、-720度~720度の間で回転可能である。J6は、-20度~23度の間で回転可能である。J7は、-120度~120度の間で回転可能である。J8は、-360度~360度の間で回転可能である。
4つのジョイントJ1~J4の各々のジョイント状態に関する知識により、各ジョイントの運動許容範囲を決定することができる。例えば、ジョイント状態は、特定のジョイントが現在位置するジョイント角度の範囲内のジョイント角度を含むか、または示すことができる。例えば、ジョイントJ2の状態は、J2が125度の現在の角度位置にあることを示し得る。J2の運動許容範囲は、現在の角度位置(125度)を、最小角度位置および最大角度位置、それぞれ-90度および135度と比較することによって見つけることができる。ここでは、運動許容範囲には、一方の方向の範囲(-90~125度)、およびもう一方の方向の範囲(135~125度)が含まれる。したがって、この実施例におけるJ1の運動許容範囲は、一方の方向では215度、もう一方の方向では10度である。他のジョイントJ1、J3、およびJ4の各々について、同様の計算を実施することができる。これは、これら4つのジョイント、すなわち、J1~J4の各々に関する運動許容範囲の計算につながる。本明細書の技術は、ジョイント速度がジョイント回転の終点でゼロに到達する場合を考慮するため、より小さい運動許容範囲、すなわち、上記の実施例では10度だけを考慮する必要がある。したがって、決定された運動許容範囲は、好適には、現在のジョイント角度位置から最も近い回転の終点までの運動の範囲である。ジョイントがその回転の中間点にある場合、運動の範囲はいずれの方向でも同じである。この場合、その範囲は、そのジョイントの運動許容範囲とみなされる。
ジョイントJ1~J4の各々は、それぞれの最大速度を有する。これらの最大速度は、物理的な速度、すなわち、ジョイントが物理的に超えることができない速度であり得るか、または例えばソフトウェア制御で選択される速度であり得る。この実施例では、J1は、最大3ラジアン/秒で回転可能である。J2は、最大3ラジアン/秒で回転可能である。J3は、最大3ラジアン/秒で回転可能である。J4は、最大3ラジアン/秒で回転可能である。これらのジョイントの最大速度は同じである必要はない。
ジョイントJ1~J4の各々は、それぞれ最大加速度(または減速度)を有する。これらの最大減速度は、物理的な減速、すなわち、ジョイントが物理的に超えることができない減速であり得るか、または例えばソフトウェア制御で選択される減速であり得る。ジョイントの各々の速度の変化は、最大減速度までであり得る。この実施例では、J2は、5ラジアン/秒^2の最大減速度を有する。J4は、5ラジアン/秒^2の最大減速度を有する。J1および/またはJ3の最大減速度は、例えば、J1および/またはJ3がアームの動作中にJ2および/またはJ4よりも少なく移動する傾向がある場合、ジョイントJ2および/またはJ4の最大減速度よりも高く設定され得る。一部の事例では、J1および/またはJ3の最大減速度は、これらの減速が実際には達成される可能性が低いほどに十分に高く、例えば、1000ラジアン/秒^2を超える減速に設定され得る。J1の最大減速度は、J3の最大減速度と同じである必要はない。J2およびJ4の最大減速度は同じである必要はない。
好適には、ジョイント角度は、ラジアンで決定され得るか、もしくはラジアンに変換され得、または速度および減速度は、度数で決定され得るか、もしくは度数に変換され得る。使用される単位は重要ではないが、計算のために同じ単位が一貫した方法で使用されることが理解されよう。
ジョイント速度限界は、決定された運動許容範囲から導出される。所与のジョイントのジョイント速度限界は、好適には、そのジョイントの運動許容範囲およびそのジョイントの最大減速度を使用して導出される。ジョイント速度限界は、ジョイントが回転することができる一方で、依然としてジョイント回転限界まで(すなわち、運動許容範囲内で)(最大減速度で)減速および停止することができる、最も高い速度であり得る。例えば、標準的な運動の方程式から、ジョイント速度限界が以下のとおりであることを見出すことができる。
(2×(運動許容範囲)×(最大減速度))^(1/2)
ジョイントJ1~J4のいずれか1つの角度が、そのジョイントの最小ジョイント角度と最大ジョイント角度との間の範囲の中心部分内にある場合、そのジョイントの速度限界を、最大速度であると決定することができるる。例えば、所与のジョイントのジョイント角度がその範囲の中間点にある場合、ジョイント速度を最大速度よりも低く制限する必要はない場合がある。これは、ジョイント角度がこの中間点にある場合に、運動許容範囲および最大減速度から導出され得るジョイント速度限界が、そのジョイントの最大速度よりも大きい場合があるためである。
したがって、好適には、所与のジョイントの最大速度と、そのジョイントに対して計算されるジョイント速度限界との比較が行われる。これらの値のうちの小さい方が、そのジョイントの制限速度として使用される。
特定の最大速度および最大減速度について、ジョイント速度限界が最大速度を超える運動許容範囲を決定することができる。この運動許容範囲は、閾値の値として選択され得る。そのジョイントの運動許容範囲がこの閾値の値を下回っている場合、そのジョイントのジョイント速度限界を計算することのみが必要な場合がある。運動許容範囲がこの閾値の値を満たすか、またはそれを超える場合、そのジョイントの最大速度を、そのジョイントの制限速度として使用することができる。このアプローチにより、ジョイント速度限界を導出する際の処理オーバーヘッドを低減することができる。閾値の値は、ジョイントの最大減速度ならびに/または最小および/もしくは最大ジョイント回転位置など、ジョイント特性が異なるため、ジョイント間で異なる可能性が高い。閾値の値が異なる必要はない。所与のジョイントのジョイント特性が同じである場合、それらのジョイントの閾値の値は同じであってもよい。
これらの計算をジョイントJ1~J4の各々に対して実施すると、4つのジョイント速度限界をもたらす(ジョイントごとに1つ)。本技術では、これらのうち最も重要なもの、例えば、最小ジョイント速度限界が考慮される。したがって、4つのジョイント速度限界の最小値は、共通のジョイント速度限界であるように選択される。共通のジョイント速度限界は、J1~J4の4つのジョイントの各々に個別に適用され得る限界である。共通のジョイント速度限界は、ジョイントJ4からより遠位のジョイント、例えば、手首(すなわち、J6/J7の交点)に適用され得る。このより遠位のジョイントに共通のジョイント速度限界を適用することにより、ジョイントJ1~J4の速度が制限され得る。
共通のジョイント速度限界は、角度ジョイントの速度限界に基づいて選択され得る。一部の事例では、共通のジョイント速度限界は、角度ジョイントの速度限界をデカルト空間に変換することに依存して選択され得る。共通のジョイント速度限界は、共通のジョイント速度限界をデカルト空間に変換し、変換された共通のジョイント速度限界を使用して、そのより遠位のジョイントのデカルト空間における位置的な速度を制限することによって、より遠位のジョイントに適用され得る。例えば、ヤコビ行列は、アームのジョイントのジョイント角度に基づいて決定され得る。この場合、ジョイントJ1~J4のジョイント角度のみを考慮する必要がある。残りのジョイント(J5~J8)のジョイント角度を考慮する必要はない。したがって、ヤコビ行列を計算する際に、J4の遠位のジョイントのジョイント角度をゼロに設定することができる。
逆行列をヤコビ行列から計算することができる。各行のユークリッドノルムを逆行列から導出することができる。これは、ジョイントJ1~J4の各々に対して、デカルトx軸、y軸、およびz軸の各々に沿って単位ベクトルを提供し得る。逆行列は、ジョイントの角度位置およびジョイント速度を、デカルト空間のジョイント位置およびジョイント速度に変換することができる。
したがって、デカルト座標における速度は、ジョイントJ1~J4ごとに計算され得る。デカルト座標におけるこれらの速度の最小値は、共通のジョイント速度限界になるように選択され得る。
共通の速度限界は、アームの複数のジョイントの速度を制限するために使用される。例えば、共通のジョイント速度限界は、J1~J4の4つのジョイントのうちの2つ以上、例えば、ジョイントJ1~J4の各々の速度を個別に制限するために使用される。例を挙げると、ジョイントJ1~J4の各々についての別個のジョイント速度限界は、J1vel-limit、J2vel-limit、J3vel-limit、およびJ4vel-limitとなるように計算され得る。この実施例では、J4vel-limitは、J1vel-limit、J2vel-limit、およびJ3vel-limitのいずれかよりも小さい。したがって、J4vel-limitは、共通のジョイント速度限界であるように選択される。J1、J2、J3、およびJ4の各々の速度は、J4vel-limitに制限される。追加的または代替的に、手首のデカルト空間における位置的な速度をJ4vel-limitに制限することによって、共通のジョイント速度限界を複数のジョイントに適用することができる。
この共通のジョイント速度限界を、任意の好適な方法で適用することができる。例えば、共通のジョイント速度限界を運動学的コントローラに渡すことができ、これにより、この共通のジョイント速度限界を、命令された姿勢に応答してアームの所望の姿勢を決定する際に考慮に入れることができる。運動学的コントローラは、共通のジョイント速度限界を使用して、ジョイントJ1~J4の各々の速度を個別に制限することができる。例えば、運動学的コントローラは、アームの複数のジョイントの速度を計算する際に、手首の位置(すなわち、J6およびJ7の軸が交差する位置)に適用されるように、共通のジョイント速度限界を使用し得る。手首の位置的な速度を制限することにより、限界を、個々のジョイントJ1~J4の速度に対して設置することができる。共通のジョイント速度限界が手首に適用される場合、運動学的コントローラは、手首の速度が共通のジョイント速度限界を超えないように、手首の近位のジョイントの所望されるジョイントの動きを計算することができる。そうすることで、運動学的コントローラは、共通のジョイント速度限界を使用して、手首の近位のジョイントの各々のジョイント速度を効果的に制限することができる。
運動学的コントローラは、アームの複数のジョイントの速度を計算する際に、ジョイントJ1~J4に個別に適用されるように、共通のジョイント速度限界を使用することができる。共通のジョイント速度限界がJ1~J4に個別に適用される場合、運動学的コントローラは、アームの他のジョイントのジョイント速度を含むジョイントの動きを計算する際に、これを考慮に入れることができる。したがって、冗長アームの場合である可能性が高い、アームが2つ以上の方法で第1の構成から第2の構成まで移動し得る場合、運動学的コントローラは、個々のジョイントの速度を共通のジョイント速度限界未満に保つことを試みるジョイントの動きを計算することができる。これが不可能である場合、運動学的コントローラは、ジョイントの速度を、この限界を超えないように、共通のジョイント速度限界で「上限を課す」ことができる。
第1のジョイントの運動により、手首が、仮に正のx方向に移動し、第2のジョイントの運動により、手首が、仮に負のx方向に移動する場合がある。したがって、手首の動きの速度は、第1のジョイントの動きの速度よりも低い場合がある。かかる事例では、運動学的コントローラは、共通のジョイント速度限界を第1のジョイントが超えることを可能にしながら、手首の速度が依然として共通のジョイント速度限界に制限される方法で、ジョイントの所望の動きを計算することができる。したがって、これは、手首(またはより広くは、複数のジョイントのアームの遠位の部分)の速度を共通のジョイント速度限界に制限するのに十分であり得る。複数のジョイントの速度を個別に、共通のジョイント速度限界に直接制限する必要もない。しかしながら、実際には、複数のジョイントの速度を共通のジョイント速度限界に個別に制限することが望ましい場合がある。例えば、複数のジョイントの各々の速度は、複数のジョイントの各々の速度が個別に共通のジョイント速度限界を超えないように、共通のジョイント速度限界によって制限され得る。
いくつかの実装例では、例えば、個々のジョイントの速度が共通のジョイント速度限界に制限される場合、手首(またはより広くは、複数のジョイントからアームのより遠位の部分)の位置的な速度が共通のジョイント速度限界に制限されるように、スケール因子を適用することが可能である。スケール因子は、一部の例では、共通のジョイント速度限界および命令された手首の速度、例えば、以下の比から導出され得る。
Figure 0007300508000001
この比は、ジョイントJ1~J4の各々の速度限界に個別に適用され得、例えば、比は、共通のジョイント速度限界に適用され得る。このアプローチは、手首の速度が共通のジョイント速度限界を超えないことを確実にするのに役立つ場合がある。
このようにジョイント速度を制限することは、アームジョイントの命令されたジョイント速度と実際のジョイント速度との間に差があることを意味する可能性が高い。好適には、実際の動きを超える命令された動きの「キャッチアップ」はない。つまり、命令されたジョイント速度が共通のジョイント速度を下回ると、アームのジョイントは、新しい命令されたジョイント速度で移動するように制御される。共通のジョイント速度限界を上回る任意の命令された動きは、「失われた」動きとして扱われ得る。このアプローチは、外科手術ロボットシステムのユーザが、入力コントローラでの命令された動きに応答して、アームジョイントの動きの範囲を常に認識することを確実にするのに役立つ場合がある。このアプローチは、ユーザによって期待される範囲を超えて、アームのジョイントが「行き過ぎる」ことがないことを確実にするのに役立つ。したがって、本技術は、ロボットアームの制御の安全な実行を支援することができる。
上の考察では、ジョイントJ1~J4の4つすべてのジョイント速度が計算され、これらのジョイント速度の最小値が共通のジョイント速度として選択される。代替として、各ジョイントの運動許容範囲が決定されると、これらの運動許容範囲の最小値を選択することができ、かつ関連するジョイント(すなわち、最小運動許容範囲を有する角度位置のジョイント)の最大減速度と一緒に使用して、共通のジョイント速度を導出することができる。この場合、任意の他のジョイントのジョイント速度を計算する必要はない。したがって、処理の節約を行うことができ、これにより、アームの制御の効率を増加させるのを支援することができる。このアプローチは、ジョイントの重要度または特性が同じである場合に有用であり得る。例えば、検討中のジョイントの各々、例えば、ジョイントJ1~J4が、同じ最大減速度を有する場合。このアプローチは、ジョイントの各々が同じ最大速度を有する場合に有用であり得る。
本明細書で考察される技術では、共通のジョイント速度限界は、測定されたジョイント角度に基づいて、有用に取得され得る。追加のデータ、例えば、命令されたジョイントの位置または命令された姿勢を、共通のジョイント速度限界を取得する際に考慮する必要はない。
本明細書で考察される実施例では、ジョイントJ1~J4のジョイント角度は、ジョイントJ4の位置を画定するのに十分であり、かつJ4の遠位にあるジョイントの位置を画定するのにも十分な場合がある。例えば、手首ジョイントは、J6およびJ7の軸の交点によって画定され得る。手首ジョイントの位置は、好適には、J1~J4の角度によってのみ画定され得る。したがって、手首ジョイントの位置的な速度を制限する場合、J1~J4のみを考慮する必要がある。ここで、位置的な速度を、デカルト空間の3つの直交軸に沿った速度とみなすことができる。
J4の遠位にあるジョイント、例えば、手首ジョイントの角速度を制限することも可能である。これを達成することができる1つの方法は、J4の遠位にあるジョイント、例えば、J5~J7のジョイント角度に基づいて、第2のヤコビ行列(および共通のジョイント速度限界を導出することに関連して上述した逆行列)を考慮することである。J8のジョイント角度を、所望に応じて考慮に入れることもできる。
さらなる共通のジョイント速度限界(または共通のジョイント角速度限界)を計算するために講じられるアプローチは、共通のジョイント速度限界を計算することに関して本明細書で説明されるものと同じであってもよく、ジョイントJ5~J7は、ジョイントJ1~J4の代わりに考慮される。さらなる共通のジョイント速度がジョイントJ5~J7に個別に適用される場合、スケール因子は、ジョイントJ1~J4を参照して本明細書の他の箇所に記載されるものと同様の方法で適用され得る。
代替として、2つのヤコビ行列(一方はJ1~J4に対して、もう一方はJ5~J7に対して)を決定するのではなく、単一のヤコビ行列を、J1~J7に基づいて決定することができる。したがって、位置および角度のマッピングを一度に考慮することができる。J1~J7に基づくこの「より大きな」ヤコビ行列が、J1~J4に基づく「より小さな」ヤコビ行列を決定することに加えて決定され得ることに留意されたい。しかしながら、これにより、処理作業がいくぶん重複することにつながる場合がある。
最小ジョイント回転位置、最大ジョイント回転位置、ジョイント最大速度、およびジョイント最大減速度のうちの1つ以上は、以下のうちの少なくとも1つに依存して決定され得る。
・アームの特性、
・アームに取り付けられる器具、
・アームの環境、
・アームを使用して実施する(またはアームを使用して実施する予定の手技、および
・遠隔測定によりシステムから収集された利用状況データ。
ここで、外科手術ロボットシステムなどのロボットシステムの複数のジョイントのジョイント速度を制限する方法を、図4を参照して説明する。複数のジョイントのジョイント状態が取得される(402)。例えば、n個のジョイントを備えるロボットアームの場合、k個のジョイントのジョイント状態を取得することができ、式中、k≦nである。運動許容範囲が、ジョイントごとに、すなわち、k個のジョイントの各々に対して決定される(404)。ジョイント速度限界が、ジョイントごとに、すなわち、k個のジョイントの各々に対して導出される(406)。最小ジョイント速度限界は、共通のジョイント速度限界として選択される(408)。次いで、共通のジョイント速度限界を使用して、アームのジョイント、例えば、少なくともk個のジョイントを駆動するための駆動信号を計算することができる(410)。
図5は、ジョイントの運動許容範囲を決定する方法を例示する。複数のジョイントのジョイント角度が取得される(502)。複数のジョイントは、好適には、図4の文脈で考察されるk個のジョイントである。ジョイント角度限界が、ジョイントの各々に対して取得される(504)。ジョイント角度限界は、任意の好適なソース、例えば、メモリから取得され得る。各ジョイントに対して、最も近い角距離がジョイント角度限界に決定される(506)。これは、現在のジョイント角度と、最小および最大ジョイント角度の両方との間の角距離を計算し、結果として得られる値のうちのより小さな値を得ることによって決定され得る。この最も近い角距離は、そのジョイントの運動許容範囲として使用され得る。
図6は、ジョイントの角度位置および/またはジョイント速度をデカルト空間に変換する方法を例示する。602では、ヤコビ行列が複数のジョイントに関して決定される。ヤコビ行列は、アームジョイントのサブセット(すなわち、k個のジョイント)またはアームのすべてのジョイント(すなわち、n個のジョイント)に関して決定され得る。604では、逆行列がヤコビ行列から導出される。逆行列の各行に関してユークリッドノルムが取得される(606)。これは、いくつかの実施例では、逆行列の行のサブセットに対するユークリッドノルムを取得するのに十分であり得るが、行ごとにユークリッドノルムが取得されることが好ましい。608では、ジョイントの角度位置および/または角速度がデカルト空間に変換される。この変換は、好適には、604で導出された逆行列、および606で取得されたユークリッドノルムを使用する。
図7は、外科手術ロボットシステムなどのロボットシステムの複数のジョイントのジョイント角速度を制限する方法を例示する。複数のさらなるジョイントのジョイント状態が取得される(702)。例えば、n個のジョイントを備えるロボットアームの場合、(n-k)個のジョイントのジョイント状態を取得することができ、式中、k<nである。運動許容範囲が、複数のさらなるジョイントの各ジョイント、すなわち、(n-k)個のジョイントの各々に対して決定される(704)。ジョイント速度限界が、複数のさらなるジョイントの各々、すなわち、(n-k)個のジョイントの各々に対して導出される(706)。最小ジョイント速度限界は、さらなる共通のジョイント速度限界として選択される(708)。次いで、さらなる共通のジョイント速度限界を使用して、アームのジョイント、例えば、少なくとも(n-k)個のジョイントを駆動するための駆動信号を計算することができる(710)。
図8は、外科手術ロボットシステムなどのロボットシステムの複数のジョイントのジョイント速度を制限する別の方法を例示する。複数のジョイントのジョイント状態が取得される(802)。例えば、n個のジョイントを備えるロボットアームの場合、k個のジョイントのジョイント状態を取得することができ、式中、k≦nである。運動許容範囲が、ジョイントごとに、すなわち、k個のジョイントの各々に対して決定される(804)。共通のジョイント速度限界が、k個のジョイントの最小運動許容範囲から導出される(806)。次いで、共通のジョイント速度限界を使用して、アームのジョイント、例えば、少なくともk個のジョイントを駆動するための駆動信号を計算することができる(808)。
図9は、外科手術ロボットシステムなどのロボットシステムの複数のジョイントのジョイント角速度を制限する別の方法を例示する。複数のさらなるジョイントのジョイント状態が取得される(902)。例えば、n個のジョイントを備えるロボットアームの場合、(n-k)個のジョイントのジョイント状態を取得することができ、式中、k<nである。運動許容範囲が、複数のさらなるジョイントの各ジョイント、すなわち、(n-k)個のジョイントの各々に対して決定される(904)。さらなる共通のジョイント速度限界が、(n-k)個のジョイントの最小運動許容範囲から導出される(906)。次いで、さらなる共通のジョイント速度限界を使用して、アームのジョイント、例えば、少なくとも(n-k)個のジョイントを駆動するための駆動信号を計算することができる(908)。
一部の事例では、ジョイント状態は、アームの1つ以上のジョイント、例えば、遠位アームジョイントの位置から取得され得る。ジョイント状態は、手首ジョイントの位置に依存して取得され得る。ジョイント状態は、外科手術コンソールの入力コントローラによって命令される位置から取得され得る。ジョイント状態が既知のサンプリングレートで取得される場合、ジョイントおよび/またはアームの一部分の速度は、サンプリングされた位置から決定され得る。
ロボットアームは、n個のジョイントを備える。k個のジョイントのジョイント状態を取得することができる(式中、k<nである)。好適には、k個のジョイントは、アームのk個の最近位のジョイント、すなわち、J1~Jkである。ジョイント状態には、好適には、ジョイント角度が含まれる。ジョイント角度は、例えば、式中、k=4であるベクトルとして表現され得る。
q=[q、q、q、q
必要に応じて、残りのジョイントに関して、qにゼロを付け加えることができる。そのため、8つのジョイント(J1~J8)がある場合、qは以下のように記述され得る。
q=[q、q、q、q、0、0、0、0]
アームのジョイントのすべてを考慮する必要はない。したがって、これは、8つのジョイントがある場合、最近位の7つのジョイントを考慮するのに十分であり得る。この場合、qは次のように記述され得る。
q=[q、q、q、q、0、0、0]
アームから、またはジョイント角度などのアーム制御システムのジョイント状態から、n個のジョイントすべてを一度に取得することが好都合である。これらの角度は、好都合には、ローカルに記憶され得る。次いで、k個のジョイントの角度にアクセスすることができる。
上述のように、ロボットアームは、ユーザが操作可能な入力コントローラによって制御され得る。一部の事例では、触覚フィードバックなどのフィードバックが、システムのユーザに提供され得る。フィードバックは、入力コントローラを介して提供され得る。例えば、入力コントローラは、共通のジョイント速度限界および/またはさらなる共通のジョイント速度限界に到達したときに振動し得る。フィードバックの性質は、到達される共通のジョイント速度限界と、到達されるさらなる共通のジョイント速度限界との間で異なってもよい。
システムは、入力コントローラの動きに対する抵抗力を提供するように構成することができ、これは、アームの運動が共通のジョイント速度限界および/またはさらなる共通のジョイント速度限界を超える原因となり得る。このようにして、システムのユーザは、「失われた」動き、すなわち、ロボットアームの1つ以上のジョイントのさらなる動き、またはより速い動きをもたらさない、入力コントローラの動きを認識することができる。
フィードバックは、任意の好都合な方法で、例えば、視聴覚信号の放出によって、提供され得る。視聴覚信号は、光を含み得る。視聴覚信号は、音を含み得る。視聴覚信号は、異なる色、強度、連続および/または点滅パターンなどを備えた光を含み得る。視聴覚信号は、異なるトーン、音量、メッセージなどを備えた音を含み得る。好適には、システムは、視聴覚信号の視覚要素を出力するように構成された1つ以上の光を備える。好適には、システムは、視聴覚信号の聴覚要素を出力するように構成された1つ以上のスピーカを備える。
光および/またはスピーカは、システム上の任意の好都合な場所、例えば、ユーザコンソール上、入力コントローラ上、ロボットアーム上などに提供され得る。
視聴覚信号は、触覚フィードバックの提供と一緒に、またはその代わりに放出され得る。
上述の説明では、説明を容易にするために、システムによって講じられた措置は機能ブロックまたはモジュールに分割されている。実際には、これらのブロックのうちの2つ以上を、建築的に組み合わせることができる。機能を異なる機能ブロックに分割することもできる。
本技術を外科手術ロボットシステムの文脈において説明してきたが、以下に説明される特徴は、かかるシステムに限定されるものではなく、より広くはロボットシステムに適用され得る。いくつかの実施例では、本技術は、遠隔で動作するロボットシステムに適用され得る。本技術が有用であり得る状況のいくつかの実施例には、探索、調査、または修理のために「ヘビのような」ロボットを使用する実施例が含まれる。外科手術ロボットの場合、エンドエフェクタは、メス、外科手術カッタ、外科手術ピンサ、または焼灼器(cauteriser)などの外科手術道具であってもよい。
ロボットシステムには、車両製造システム、部品取り扱いシステム、実験室システムなどの製造システム、および危険物などのためのマニピュレータまたは外科用マニピュレータが含まれ得る。
ジョイントは、ロータリモータもしくはリニアモータであり得る電気モータによって、または油圧式もしくは空気圧式アクチュエータなどの他の手段によって駆動され得る。これらは、同じ制御アルゴリズムから駆動され得る。
本明細書によって、本出願人は、本明細書に記載の各個々の特徴および2つ以上のかかる特徴の任意の組み合わせを、かかる特徴または組み合わせが、当業者に共通する一般知識に照らして、全体として本明細書に基づいて行うことができるような程度まで、かかる特徴または特徴の組み合わせが、本明細書に開示する任意の問題を解決するかにかかわらず、かつ特許請求の範囲を限定することなく、分離して開示する。本出願人は、本発明の態様が、任意のかかる個々の特徴または特徴の組み合わせからなり得ることを示している。前述の説明を考慮すると、本発明の範囲内で様々な修正を行うことができることは当業者には明らかであろう。
なお、本発明は、実施の態様として以下の内容を含む。
[態様1]
外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するための方法であって、前記外科手術ロボットシステムが、基部、および前記基部から器具の取付部まで延在するアーム、を有するロボットを備え、前記アームが、複数のジョイントであって、それによって、前記アームの構成を変更することができる、複数のジョイントを備え、前記方法が、
前記アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
前記k個のジョイントの各々について、
そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
そのジョイントのジョイント速度限界を、前記運動許容範囲を使用して導出することと、
前記k個のジョイントの最小ジョイント速度限界を、前記k個のジョイントの各々を制限するために使用される共通のジョイント速度限界に個別に選択することと、
前記k個のジョイントを駆動するための駆動信号を計算することと、を含み、前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界を使用して制限される、方法。
[態様2]
外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するための方法であって、前記外科手術ロボットシステムが、基部、および前記基部から器具の取付部まで延在するアーム、を有するロボットを備え、前記アームが、複数のジョイントであって、それによって、前記アームの構成を変更することができる、複数のジョイントを備え、前記方法が、
前記アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
前記k個のジョイントの各々について、そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
前記k個のジョイントの最小運動許容範囲、およびその最小運動許容範囲に関連する前記ジョイントを使用して、前記k個のジョイントの各々を制限するために使用される共通のジョイント速度限界を個別に導出することと、
前記k個のジョイントを駆動するための駆動信号を計算することと、を含み、前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界を使用して制限される、方法。
[態様3]
前記k個のジョイントの第1の群が、前記アームの前記基部の近位にあるk個のジョイントを含み、前記共通のジョイント速度限界が、デカルト空間の直交方向に沿ってk番目のジョイントの位置的な速度を制限する、態様1または2に記載の方法。
[態様4]
前記k個のジョイントの第1の群が、前記アームの前記基部の近位にあるk個のジョイントを含み、前記k個のジョイントにより、(k+m)番目のジョイントの位置を一意的に決定することができ、式中、m>0である、態様1~3のいずれかに記載の方法。
[態様5]
前記共通のジョイント速度が、デカルト空間の直交方向に沿って(k+m)番目のジョイントの位置的な速度を制限する、態様1~4のいずれかに記載の方法。
[態様6]
前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界に個別に制限される、態様1~5のいずれかに記載の方法。
[態様7]
前記アームが、n個のジョイントを備え、式中、n>kであり、前記方法が、
前記アームの(n-k)個のジョイントの第2の群のジョイント状態を取得することと、
前記(n-k)個のジョイントの各々について、
そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
そのジョイントのジョイント速度限界を、前記運動許容範囲を使用して導出することと、
前記(n-k)個のジョイントの最小ジョイント速度限界を、前記(n-k)個のジョイントの各々に対するさらなる共通のジョイント速度限界に個別に選択することと、
前記(n-k)個のジョイントを駆動するための駆動信号を計算することと、を含み、前記(n-k)個のジョイントの各々の速度が、前記さらなる共通のジョイント速度限界に制限される、態様1~6のいずれかに記載の方法。
[態様8]
前記k個のジョイントの第1の群および前記(n-k)個のジョイントの第2の群のうちの一方または両方のジョイント状態を取得することが、ジョイント角度を取得することを含む、態様1~7のいずれかに記載の方法。
[態様9]
ジョイントの前記運動許容範囲を決定することが、そのジョイントのジョイント角度限界に最も近い角距離を決定することを含む、態様1~8のいずれかに記載の方法。
[態様10]
前記ジョイント速度限界を導出することが、前記それぞれのジョイントに対する最大減速度、および前記ジョイント角度限界に対する前記決定された最も近い角距離を使用することを含む、態様9に記載の方法。
[態様11]
前記さらなる共通のジョイント速度限界が、(k+m)番目のジョイントの角速度を制限し、式中、m>0である、態様7~10のいずれかに記載の方法。
[態様12]
ジョイントの前記ジョイント角度限界およびジョイントの前記最大減速度のうちの少なくとも1つが、所定の値を含み、かつ/または前記ジョイントの物理的特性から決定され、かつ/またはユーザ定義可能である、態様9~11のいずれかに記載の方法。
[態様13]
前記ジョイント角度限界に対する前記決定された最も近い角距離が閾値の角距離を超えている場合に、そのジョイントの前記ジョイント速度限界が、所定のジョイント速度限界値を含む、態様9~12のいずれかに記載の方法。
[態様14]
前記ジョイント速度限界を導出することが、ジョイントの角度位置および/または角速度を、デカルト空間の位置および/または速度にそれぞれ変換することを含む、態様1~13のいずれかに記載の方法。
[態様15]
前記変換することが、ヤコビ行列を決定することを含む、態様14に記載の方法。
[態様16]
前記変換することが、前記決定されたヤコビ行列を使用して逆行列を導出することを含む、態様15に記載の方法。
[態様17]
前記変換することが、前記逆行列の各行に対するユークリッドノルムを決定することを含む、態様16に記載の方法。
[態様18]
前記共通のジョイント速度限界を超えるジョイントに対する命令されたジョイント速度、またはそのジョイントに対するさらなる共通のジョイント速度限界に基づいて、前記外科手術ロボットシステムのユーザにフィードバックを提供することを含む、態様1~17のいずれかに記載の方法。
[態様19]
前記外科手術ロボットシステムが、入力コントローラであって、それによって、前記アームの構成を変更するようにユーザが操作可能である、入力コントローラを備え、前記方法が、前記入力コントローラを介して触覚フィードバックを提供することを含む、態様18に記載の方法。
[態様20]
外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するためのジョイント速度制限システムであって、前記外科手術ロボットシステムが、基部、および前記基部から器具の取付部まで延在するアーム、を有するロボットを備え、前記アームが、複数のジョイントであって、それによって、前記アームの構成を変更することができる、複数のジョイントを備え、前記ジョイント速度制限システムが、
前記アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
前記k個のジョイントの各々について、
そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
そのジョイントのジョイント速度限界を、前記運動許容範囲を使用して導出することと、
前記k個のジョイントの最小ジョイント速度限界を、前記k個のジョイントの各々を制限するために使用される共通のジョイント速度限界に個別に選択することと、
前記k個のジョイントを駆動するための駆動信号を計算することと、を行うように構成されており、前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界を使用して制限される、ジョイント速度制限システム。
[態様21]
外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するためのジョイント速度制限システムであって、前記外科手術ロボットシステムが、基部、および前記基部から器具の取付部まで延在するアーム、を有するロボットを備え、前記アームが、複数のジョイントであって、それによって、前記アームの構成を変更することができる、複数のジョイントを備え、前記ジョイント速度制限システムが、
前記アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
前記k個のジョイントの各々について、そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
前記k個のジョイントの最小運動許容範囲、およびその最小運動許容範囲に関連する前記ジョイントを使用して、前記k個のジョイントの各々を制限するために使用される共通のジョイント速度限界を個別に導出することと、
前記k個のジョイントを駆動するための駆動信号を計算することと、を行うように構成されており、前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界を使用して制限される、ジョイント速度制限システム。

Claims (19)

  1. 外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するための方法であって、前記外科手術ロボットシステムが、基部、および前記基部から器具の取付部まで延在するアーム、を有するロボットを備え、前記アームが、複数のジョイントであって、それによって、前記アームの構成を変更することができる、複数のジョイントを備え、前記方法が、
    前記アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
    前記k個のジョイントの各々について、
    そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
    そのジョイントのジョイント速度限界を、前記運動許容範囲を使用して導出することと、
    前記k個のジョイントの最小ジョイント速度限界を、前記k個のジョイントの各々を個別に制限するために使用される共通のジョイント速度限界に選択することと、
    前記k個のジョイントを駆動して、前記k個のジョイントのうちの少なくとも1つを作動させるための駆動信号を計算することと、を含み、前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界を使用して制限される、方法。
  2. 外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するための方法であって、前記外科手術ロボットシステムが、基部、および前記基部から器具の取付部まで延在するアーム、を有するロボットを備え、前記アームが、複数のジョイントであって、それによって、前記アームの構成を変更することができる、複数のジョイントを備え、前記方法が、
    前記アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
    前記k個のジョイントの各々について、そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
    前記k個のジョイントの最小運動許容範囲、およびその最小運動許容範囲に関連する前記ジョイントを使用して、前記k個のジョイントの各々を個別に制限するために使用される共通のジョイント速度限界を導出することと、
    前記k個のジョイントを駆動して、前記k個のジョイントのうちの少なくとも1つを作動させるための駆動信号を計算することと、を含み、前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界を使用して制限される、方法。
  3. 前記k個のジョイントの第1の群が、前記アームの前記基部の近位にあるk個のジョイントを含み、前記共通のジョイント速度限界が、デカルト空間の直交方向に沿ってk番目のジョイントの位置的な速度を制限する、請求項1または2に記載の方法。
  4. 前記k個のジョイントの第1の群が、前記アームの前記基部の近位にあるk個のジョイントを含み、前記k個のジョイントにより、(k+m)番目のジョイントの位置を一意的に決定することができ、式中、m>0である、請求項1~3のいずれか一項に記載の方法。
  5. 前記共通のジョイント速度限界が、デカルト空間の直交方向に沿って前記(k+m)番目のジョイントの位置的な速度を制限する、請求項4に記載の方法。
  6. 前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界に個別に制限される、請求項1~5のいずれか一項に記載の方法。
  7. 前記アームが、n個のジョイントを備え、式中、n>kであり、前記方法が、
    前記アームの(n-k)個のジョイントの第2の群のジョイント状態を取得することと、
    前記(n-k)個のジョイントの各々について、
    そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
    そのジョイントのジョイント速度限界を、前記運動許容範囲を使用して導出することと、
    前記(n-k)個のジョイントの最小ジョイント速度限界を、前記(n-k)個のジョイントの各々に対するさらなる共通のジョイント速度限界に個別に選択することと、
    前記(n-k)個のジョイントを駆動するための駆動信号を計算することと、を含み、前記(n-k)個のジョイントの各々の速度が、前記さらなる共通のジョイント速度限界に制限される、請求項1~6のいずれか一項に記載の方法。
  8. 前記k個のジョイントの第1の群および前記(n-k)個のジョイントの第2の群のうちの一方または両方のジョイント状態を取得することが、ジョイント角度を取得することを含む、請求項7に記載の方法。
  9. 前記k個のジョイントの第1の群が、前記アームの前記基部の近位にあるk個のジョイントを含み、前記k個のジョイントにより、(k+m)番目のジョイントの位置を一意的に決定することができ、式中、m>0であり、
    前記さらなる共通のジョイント速度限界が、前記(k+m)番目のジョイントの角速度を制限する、請求項7または8のいずれか一項に記載の方法。
  10. ジョイントの前記運動許容範囲を決定することが、そのジョイントのジョイント角度限界に最も近い角距離を決定することを含む、請求項1~9のいずれか一項に記載の方法。
  11. ジョイントの前記ジョイント速度限界を導出することが、そのジョイントに対する最大減速度、および前記ジョイント角度限界に対する前記決定された最も近い角距離を使用することを含む、請求項10に記載の方法。
  12. ジョイントの前記ジョイント角度限界およびジョイントの前記最大減速度のうちの少なくとも1つが、所定の値を含み、かつ/または前記ジョイントの物理的特性から決定され、かつ/またはユーザ定義可能である、請求項11に記載の方法。
  13. 前記ジョイント角度限界に対する前記決定された最も近い角距離が閾値の角距離を超えている場合に、そのジョイントの前記ジョイント速度限界が、所定のジョイント速度限界値を含む、請求項10~12のいずれか一項に記載の方法。
  14. 前記ジョイント速度限界を導出することが、ジョイントの角度位置および/または角速度を、デカルト空間の位置および/または速度にそれぞれ変換することを含む、請求項1~13のいずれか一項に記載の方法。
  15. 前記変換することが、
    ヤコビ行列を決定することと、
    前記決定されたヤコビ行列を使用して逆行列を導出することと、
    前記逆行列の各行に対するユークリッドノルムを決定することと、を含む、請求項14に記載の方法。
  16. 前記共通のジョイント速度限界を超えるジョイントに対する命令されたジョイント速度、またはそのジョイントに対するさらなる共通のジョイント速度限界に基づいて、前記外科手術ロボットシステムのユーザにフィードバックを提供することを含む、請求項1~15のいずれか一項に記載の方法。
  17. 前記外科手術ロボットシステムが、入力コントローラであって、それによって、前記アームの構成を変更するようにユーザが操作可能である、入力コントローラを備え、前記方法が、前記入力コントローラを介して触覚フィードバックを提供することを含む、請求項16に記載の方法。
  18. 外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するためのジョイント速度制限システムであって、前記外科手術ロボットシステムが、基部、および前記基部から器具の取付部まで延在するアーム、を有するロボットを備え、前記アームが、複数のジョイントであって、それによって、前記アームの構成を変更することができる、複数のジョイントを備え、前記ジョイント速度制限システムが、
    前記アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
    前記k個のジョイントの各々について、
    そのジョイントの運動許容範囲を、取得されたジョイント状態から決定することと、
    そのジョイントのジョイント速度限界を、前記運動許容範囲を使用して導出することと、
    前記k個のジョイントの最小ジョイント速度限界を、前記k個のジョイントの各々を個別に制限するために使用される共通のジョイント速度限界に選択することと、
    前記k個のジョイントを駆動して、前記k個のジョイントのうちの少なくとも1つを作動させるための駆動信号を計算することと、を行うように構成されており、前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界を使用して制限される、ジョイント速度制限システム。
  19. 外科手術ロボットシステムの複数のジョイントのジョイント速度を制限するためのジョイント速度制限システムであって、前記外科手術ロボットシステムが、基部、および前記基部から器具の取付部まで延在するアーム、を有するロボットを備え、前記アームが、複数のジョイントであって、それによって、前記アームの構成を変更することができる、複数のジョイントを備え、前記ジョイント速度制限システムが、
    前記アームのk個のジョイントの第1の群のジョイント状態を取得することであって、式中、k>1である、取得することと、
    前記k個のジョイントの各々について、そのジョイントの運動許容範囲を、前記取得されたジョイント状態から決定することと、
    前記k個のジョイントの最小運動許容範囲、およびその最小運動許容範囲に関連する前記ジョイントを使用して、前記k個のジョイントの各々を個別に制限するために使用される共通のジョイント速度限界を導出することと、
    前記k個のジョイントを駆動して、前記k個のジョイントのうちの少なくとも1つを作動させるための駆動信号を計算することと、を行うように構成されており、前記k個のジョイントの各々の速度が、前記共通のジョイント速度限界を使用して制限される、ジョイント速度制限システム。
JP2021532491A 2019-10-29 2020-10-27 ロボットジョイント制御 Active JP7300508B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1915687.6 2019-10-29
GB1915687.6A GB2588629B (en) 2019-10-29 2019-10-29 Robotic joint control
PCT/GB2020/052715 WO2021084239A1 (en) 2019-10-29 2020-10-27 Robotic joint control

Publications (2)

Publication Number Publication Date
JP2022510478A JP2022510478A (ja) 2022-01-26
JP7300508B2 true JP7300508B2 (ja) 2023-06-29

Family

ID=68768960

Family Applications (1)

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

Country Status (7)

Country Link
EP (1) EP4051465A1 (ja)
JP (1) JP7300508B2 (ja)
CN (1) CN114630737A (ja)
AU (1) AU2020375183B2 (ja)
BR (1) BR112022008017A2 (ja)
GB (1) GB2588629B (ja)
WO (1) WO2021084239A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995023054A1 (en) 1994-02-25 1995-08-31 Uk Robotics Limited Manipulator controller
JP2005044230A (ja) 2003-07-24 2005-02-17 Mitsubishi Electric Corp ロボット制御装置
US20140039681A1 (en) 2012-08-03 2014-02-06 Stryker Corporation Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes
JP2014161918A (ja) 2013-02-21 2014-09-08 Seiko Epson Corp ロボット制御システム、ロボット、ロボット制御方法及びプログラム
JP2014193519A (ja) 2013-03-28 2014-10-09 Denso Wave Inc 多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置
JP2019048084A (ja) 2013-03-15 2019-03-28 インテュイティブ サージカル オペレーションズ, インコーポレイテッド ゼロ空間での複数の目標及びsli動作を取り扱うシステム及び方法
WO2019115471A1 (de) 2017-12-12 2019-06-20 Pilz Gmbh & Co. Kg Kollisionsfreie bewegungsplanung bei geschlossener kinematik

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6039204A (ja) * 1983-08-11 1985-03-01 Fujitsu Ltd 多関節ロボツトの速度制御方法
JPH05341834A (ja) * 1992-06-09 1993-12-24 Matsushita Electric Ind Co Ltd 多関節ロボットの直接教示装置
US7453227B2 (en) * 2005-12-20 2008-11-18 Intuitive Surgical, Inc. Medical robotic system with sliding mode control
CN107595392B (zh) * 2012-06-01 2020-11-27 直观外科手术操作公司 使用零空间回避操纵器臂与患者碰撞
CN209285723U (zh) * 2018-04-11 2019-08-23 重庆金创谷医疗科技有限公司 医用辅助机械臂控制装置及系统
EP3829477A1 (en) * 2018-07-30 2021-06-09 Intuitive Surgical Operations, Inc. Hard stop protection system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995023054A1 (en) 1994-02-25 1995-08-31 Uk Robotics Limited Manipulator controller
JP2005044230A (ja) 2003-07-24 2005-02-17 Mitsubishi Electric Corp ロボット制御装置
US20140039681A1 (en) 2012-08-03 2014-02-06 Stryker Corporation Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes
JP2014161918A (ja) 2013-02-21 2014-09-08 Seiko Epson Corp ロボット制御システム、ロボット、ロボット制御方法及びプログラム
JP2019048084A (ja) 2013-03-15 2019-03-28 インテュイティブ サージカル オペレーションズ, インコーポレイテッド ゼロ空間での複数の目標及びsli動作を取り扱うシステム及び方法
JP2014193519A (ja) 2013-03-28 2014-10-09 Denso Wave Inc 多軸型ロボットの軌道生成方法及び多軸型ロボットの制御装置
WO2019115471A1 (de) 2017-12-12 2019-06-20 Pilz Gmbh & Co. Kg Kollisionsfreie bewegungsplanung bei geschlossener kinematik

Also Published As

Publication number Publication date
JP2022510478A (ja) 2022-01-26
GB201915687D0 (en) 2019-12-11
WO2021084239A1 (en) 2021-05-06
US20210122041A1 (en) 2021-04-29
EP4051465A1 (en) 2022-09-07
AU2020375183B2 (en) 2024-02-29
AU2020375183A1 (en) 2022-06-09
GB2588629B (en) 2024-01-03
GB2588629A (en) 2021-05-05
BR112022008017A2 (pt) 2022-07-12
CN114630737A (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
JP6087368B2 (ja) 関節器具に好適な姿勢を取らせるような命令をするように入力装置のオペレータを促す、入力装置での力フィードバックの適用
CA2973227C (en) Autonomous correction of alignment error in a master-slave robotic system
CN105073058A (zh) 用于通过在零垂直空间内进行咬合同时发生零空间移动而定位操纵器臂的系统和方法
US11918312B2 (en) Regulating joint space velocity of a surgical robotic arm
AU2024201458A1 (en) Controlling movement of a surgical robot arm
JP7300508B2 (ja) ロボットジョイント制御
JP7079899B2 (ja) ロボットジョイント制御
US11999062B2 (en) Robotic joint control
EP3903717B1 (en) Surgical robotic system with adjustable angle of approach
EP4203838A1 (en) Method and system for coordinated multiple-tool movement using a drivable assembly
JP7079881B2 (ja) ロボットジョイント制御
US20220331025A1 (en) Method and system for controlling instrument grip behavior

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R150 Certificate of patent or registration of utility model

Ref document number: 7300508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150