JP7293494B2 - 機械システムにおけるジョイント制御 - Google Patents

機械システムにおけるジョイント制御 Download PDF

Info

Publication number
JP7293494B2
JP7293494B2 JP2022508953A JP2022508953A JP7293494B2 JP 7293494 B2 JP7293494 B2 JP 7293494B2 JP 2022508953 A JP2022508953 A JP 2022508953A JP 2022508953 A JP2022508953 A JP 2022508953A JP 7293494 B2 JP7293494 B2 JP 7293494B2
Authority
JP
Japan
Prior art keywords
input
joint
value
torque
controller
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
JP2022508953A
Other languages
English (en)
Other versions
JP2022545366A (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 JP2022545366A publication Critical patent/JP2022545366A/ja
Application granted granted Critical
Publication of JP7293494B2 publication Critical patent/JP7293494B2/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/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/37Master-slave robots
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • 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/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • 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/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • A61B2034/742Joysticks
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットアームなどの機械システムのジョイントの構成の制御、特に、トルクセンサーデータを入力として使用せずに、この構成を制御するコントローラーに関する。
典型的なロボットマニピュレーターは、アームを形成するために直列に結合され得る、一つまたは複数のジョイントによって一緒に結合される一連の剛直な要素を含む。マニピュレーターは、一連の剛直な要素の第一の端部にベースユニットユニットと、第一の端部に対向する第二の端部にエンドエフェクターとを含む。マニピュレーターの各ジョイントは、剛直な要素の相対運動を引き起こすように、駆動源および対応するドライブトレインによって駆動される。この相対運動は、所望の位置でエンドエフェクターの構成を変えるために使用される。各ジョイントは、回転運動または直線運動を提供し得る。駆動源は、電子モーターまたは油圧アクチュエーターなどの任意の適切な手段であり得る。
理論的モデリングでは、ロボットジョイントを作動させるドライブトレインを「剛性」としてモデル化することができる。剛性のドライブトレインとは、静摩擦やバックラッシュのないものである。バックラッシュとは、方向の変化により生じる動きの損失を指し、ドライブトレイン内の対向する構成要素間のギャップまたはクリアランスによって生じる。ドライブトレインに静摩擦またはバックラッシュがない場合、駆動源によって生成されるトルク(すなわち、ドライブトレインの第一の端部に提供される入力トルク)は常に、ジョイントによって経験されるトルク(すなわち、第一の端部に対向するドライブトレインの第二の端部における出力トルク)に比例する。
現実には、ロボットジョイントを作動させるドライブトレインの構成要素は、関連するレベルの弾性を有する。従って、ジョイントの剛性は、入力トルクと出力トルクの間の線形関係を用いて正確にはモデル化することができない。従って、複数のフィードバック項、ドライブトレインの入力および出力の両方で測定されるセンサーデータに対応するそれらのフィードバック項を組み入れるアルゴリズムを使用して、駆動源を制御する必要がある。従って、センサーデータを使用して、ジョイントの性能の表示を提供することができる。制御アルゴリズムに複数のフィードバック項を組み込むと、そのアルゴリズムに関連付けられるコントローラーの複雑さが増し、安定性の限界も生じる。
ロボットアームなどの機械システムにおけるジョイントの構成を制御するより単純な方法が必要である。
第一の態様によれば、手術用ロボット内のジョイントの構成を制御するためのコントローラーが提供され、ジョイントが、駆動源からジョイントに電力を伝達するドライブトレインによって駆動され、コントローラーが、駆動源の構成を示す第一の入力を受信し、第一のセンサーから第二の入力を受信することであって、第二の入力が手術用ロボット内のジョイントの測定される構成を示すように受信し、第一の入力および第二の入力を使用して、ジョイント周りの出力トルクの値を計算し、出力トルクの値を使用して、駆動源によって手術用ロボット内のジョイントに印加される入力トルクの値を計算するように構成される。
第一の入力は、第二のセンサーから受信されてもよく、駆動源の測定される構成を示し得る。
駆動源の測定される構成は、駆動源の測定される物理的位置であってもよく、ジョイントの測定される構成は、ジョイントの測定される物理的位置であり得る。
コントローラーは、ジョイントの所望の構成を示す第三の入力を受信するようにさらに構成され得る。
所望の構成は、ジョイントの所望の物理的位置であり得る。
入力トルクの値は、第一の入力と第三の入力との間の比較を使用して計算され得る。
入力トルクの値は、第二の入力と第三の入力との間の比較を使用して計算され得る。
入力トルクの値は、第一の入力の一次導関数と第三の入力の一次導関数との間の比較を使用して計算され得る。
入力トルクの値は、第二の入力の一次導関数と第三の入力の一次導関数との比較を使用して計算され得る。
出力トルクは、ドライブトレインの伸長値とドライブトレインの剛性値との間の関係によって特徴付けられ得る。
出力トルクの値は、方程式τ=kφ(q-q)によって表されてもよく、qが第一の入力であり、qが第二の入力であり、kφがドライブトレインのばね係数である。
kφは連続関数によって(q-q)に関連し得る。
kφが、離散範囲の値から選択されてもよく、kφの各値が、一つまたは複数の所定の閾値によって画定される伸長値の範囲と関連付けられる。
ばね係数は、ドライブトレインの測定される伸長に依存する三つの別個の値から選択されてもよく、ここで、測定される伸長の値が第一の所定の閾値を下回る場合、第一の値がばね係数に対して選択され、測定される伸長の値が第一の所定の閾値より高く、かつ第二の所定の閾値より下にある場合、第二の値がばね係数に対して選択され、測定される伸長の値が第二の所定の閾値を上回る場合、第三の値がばね係数に対して選択される。
第一の所定の閾値より上かつ第二の所定の閾値より下である伸長値の範囲は、ジョイントのバックラッシュ領域に対応し得る。
入力トルクの値は、以下の式によって表され得る:
Figure 0007293494000001
式中、qは第一の入力であり、qは第二の入力であり、qは第三の入力であり、kpo、kpi、kdo、kdiおよびkは第一、第二、および第三の入力に関連付けられるゲインである。
コントローラーは、出力トルクの値を繰り返し計算するように構成され得る。
コントローラーは、動的トルク観測器内に実装されてもよく、動的トルク観測器は、コントローラーによって計算された出力トルクの値に重み付けを適用することによって、動的トルクの値を計算するように構成される。
入力トルクの値を計算することは、出力トルクの値から重力の作用を補償するトルク項を減算することを含み得る。
駆動源はモーターであり得る。
第一のセンサーは、ジョイントが位置するドライブトレインの第二の端部に、またはその近位の位置に位置し得る。
第二のセンサーは、駆動源が位置するドライブトレインの第一の端部に、またはその近位の位置に位置し得る。
ドライブトレインは、一つまたは複数のギアを含んでもよい。
ドライブトレインは、高調波駆動であり得る。
第二の態様によれば、手術用ロボットにおけるジョイントの構成を制御するための方法(例えば、コンピューター実行方法)が提供され、ジョイントが、駆動源からジョイントに電力を伝達するドライブトレインによって駆動され、方法が、駆動源の構成を示す第一の入力を受信することと、第一のセンサーから第二の入力を受信することであって、第二の入力が手術用ロボット内のジョイントの測定される構成を示すように受信することと、第一の入力および第二の入力を使用して、ジョイント周りの出力トルクの値を計算することと、出力トルクの値を使用して、駆動源によって手術用ロボット内のジョイントに印加される入力トルクの値を計算することとを含む。
ここで、添付図面を参照して、本発明を例として説明する。図は、以下の通りである。
図1は、ロボットアームの構成を示す。 図2は、ロボットアーム内のジョイントの構成を制御するための理想的な制御ループを示すブロック図である。 図3は、ロボットジョイントに対するドライブトレインの非線形剛性の特徴付けを示す。 図4は、ロボットアーム内のジョイントの構成を制御するための全状態制御スキームを示すブロック図である。 図5は、図4に示すコントローラーに対する制御アルゴリズムを示すブロック図である。制御アルゴリズムは、トルクセンサーデータを入力として使用する。 図6は、トルクセンサーデータを入力として使用しないロボットアーム内のジョイントの構成を制御するための制御アルゴリズムを示すブロック図である。 図7は、図6の制御アルゴリズムを使用してロボットジョイントを制御する方法を示す。 図8は、図6の制御アルゴリズムと組み合わせて使用するためのロボットアームの動的トルク観測器を示すブロック図である。
以下の説明は、ロボットシステムの文脈における本技術を説明する。ロボットシステムには、車両製造システム、部品取り扱いシステム、実験室システムなどの製造システム、および危険物などのためのマニピュレーターまたは外科用マニピュレーターが含まれ得る。図1に図示したロボットシステムは、特に手術用ロボットシステムである。しかしながら、以下に記載される特徴は、こうしたシステムに限定されなく、より広くはロボットシステムに適用される。
図1は、ベースユニット102から延在するアーム100を有する手術用ロボットを例示する。アームは、複数の外旋ジョイント106a~eによって結合される複数の剛直な肢104a~eを含む。外旋ジョイント106a~eは、回転運動を適用するように構成される。これらの外旋ジョイントの代わりに、またはこれらに加えて、手術用ロボットは、直線運動を提供するための一つまたは複数のジョイントを含んでもよい。ベース102に最も近い肢は、最も近位の肢104aであり、近位ジョイント106aによってベースに結合される。アームの残りの肢はそれぞれ、複数のジョイント106b~eのジョイントによって直列に結合される。手首108は、四つの個々の外旋ジョイントを含んでもよい。手首108は、一つの肢(104d)をアームの最遠位肢(104e)に結合する。最遠位肢104eは、手術器具112のための取り付け具110を担持する。アーム100の各ジョイント106a~eは、それぞれのジョイントで回転運動を引き起こすように操作できる一つまたは複数の駆動源114を持つ。各駆動源114は、駆動源からジョイントに電力を伝達するドライブトレインによって、それぞれのジョイント106a~eに接続される。一実施例では、ドライブトレインは、一つまたは複数のギアを含む。より具体的な例では、ドライブトレインは高調波駆動である。高調波駆動は、波動発生装置、フレックススプラインおよび円形スプラインの同心配置を含み、駆動源によってジョイントに印加され得るトルクを増加させる。
一実施例では、駆動源114はモーターである。駆動源114は、代替的に、油圧アクチュエーター、または任意の他の適切な手段であり得る。各ジョイント106a~eは、そのジョイントにおける現在の構成および/または力に関する情報を提供する、一つまたは複数の構成および/または力センサー116をさらに含む。ジョイントが外旋ジョイントである場合、センサー116のうちの一つまたは複数はトルクセンサーであり得る。ジョイントが直線運動を提供するように構成される場合、一つまたは複数のセンサー116のうちの一つは、歪ゲージであり得る。構成および/または力データに加えて、一つまたは複数のセンサー116は、温度、電流、または圧力(油圧など)に関する情報を追加的に提供し得る。一実施例では、一つまたは複数の構成センサーは、位置決めセンサーである。すなわち、構成センサーは、ジョイントの物理的位置を測定し得る。こうした実施例では、センサー116のうちの一つまたは複数は、エンコーダーであり得る。エンコーダーは、位置測定値を電子信号に変換する位置決めセンサーである。エンコーダー116は、線形または回転式エンコーダーであり得る。
駆動源114は、重量分布を改善するために、それらが駆動させる運動をするジョイントの近位に配置される。明確にするために、図1は一部の駆動源とセンサーのみを示している。手術用ロボット100は、図1に図示したものよりも多いまたは少ない肢およびジョイントを含んでもよいことも理解されよう。
手術用ロボット100の器具112は、手術を実行するためのエンドエフェクターを含む。エンドエフェクターは、任意の好適な形態をとり得る。例えば、エンドエフェクターは、滑らかな顎、鋸歯状の顎、グリッパー、一対の剪断器、縫合用針、カメラ、レーザ、ナイフ、ステープラ、焼灼器、吸引器であり得る。器具は、器具シャフトと、器具シャフトとエンドエフェクターの間に位置する関節とをさらに含む。関節は、いくつかのジョイントを含み、これにより、エンドエフェクターが器具のシャフトに対して移動することを可能にする。
駆動源114およびセンサー116の構成コントローラーは、ロボットアーム100内に分布する。コントローラーは、通信バスを介して制御ユニット118に接続される。制御ユニット118は、プロセッサー120およびメモリー122を含む。メモリー122は、非一時的な方法で、プロセッサー120によって実行可能であり、駆動源114の動作を制御してアーム100を動作させるソフトウェアを格納する。特に、ソフトウェアは、プロセッサー120を制御して、センサー116および外科医コマンドインターフェイス124からの入力に依存して、駆動源(例えば、分散型コントローラーを介して)を駆動させることができる。制御ユニット118は、ソフトウェアの実行によって生成された出力に従ってそれらを駆動するために駆動源114に結合される。制御ユニット118は、センサーから感知された入力を受信するためにセンサー116に電気的に接続され、センサーから入力を受信するためにコマンドインターフェイス124に電気的に接続される。図1およびその後の全ての図を参照して記載される電気的接続は、例えば、それぞれ電気または光学ケーブルであってもよく、または無線接続によって提供され得る。
コマンドインターフェイス124は、一つまたは複数の入力装置を含み、それによって、ユーザーは、所望の方式でエンドエフェクターの運動を要求することができる。入力装置、または入力コントローラーは、例えば、制御ハンドルやジョイスティックなどの手動操作可能な機械的入力装置、タッチスクリーンなどのタッチ操作可能な入力、または光学ジェスチャーセンサーや音声センサーなどの非接触入力装置であり得る。入力装置は、入力を受信するために目の動きを監視し得る。入力装置は、例えば、これらのタイプの入力装置のいくつかの組み合わせであり得る。入力装置によって入力されるコマンドには、例えば、横方向の移動および/または回転などの特定の方法で器具を動かすための移動コマンドが含まれ得る。こうしたコマンドには、例えば、エンドエフェクターを器具112の遠位端に結合して制御し、グリッパー顎を開閉する、または電気外科手術用エンドエフェクターを操作する(オンまたはオフにする)など、エンドエフェクターを動作させるための、エンドエフェクターコマンドが含まれ得る。
メモリー122に記憶されるソフトウェアは、これらの入力に応答し、それに応じて、アームおよび器具のジョイントを、所定の制御戦略に従って、移動させるように構成される。制御戦略には、コマンド入力に応答して、アームおよび器具の運動を緩和する安全機能が含まれ得る。従って、要約すると、コマンドインターフェイス124を適切に含む外科医コンソールの外科医は、所望の外科的処置を実行するように移動するように器具112を制御することができる。従って、ロボットアーム100は、制御ユニット118がマスターコントローラーとして機能する、マスタースレーブマニピュレーターとして機能する。制御ユニット118および/またはコマンドインターフェイス124は、アーム100から遠隔にあり得る。
図2は、図1に示すように、ロボットアーム内の外旋ジョイントの構成を制御するための理想的な制御ループ200を示す。制御ループは、構成コントローラー202、トルクコントローラー204、慣性出力部206およびセンサー208を含む。
コントローラー202は、制御するように構成されるジョイントの近位にあるように、図1に図示したアームなどのロボットアーム内に分配され得る。構成コントローラー202は、フィードバックループによって一つまたは複数のセンサー208に電気的に接続される。フィードバックループは、コントローラー202が、センサーからジョイントの構成を示す測定値を受信することを可能にする。構成コントローラー202はまた、フィードフォワードループによって制御ユニット118に接続され、制御ユニット118から基準構成値qrefを受信するように構成される。一実施例では、構成コントローラー202は、制御ユニット118とは別個の実体である。別の実施例では、構成コントローラー202および制御ユニット118は、同じ実体内に含まれる。従って、この実施例では、制御ユニットは、センサー208に直接接続され得る。
基準構成qrefは、そうでなければ、ジョイントの所望の構成または指令された構成と呼んでもよい。基準構成qrefは、外科医によってコマンドインターフェイス124で指令されるエンドエフェクター姿勢から計算される。基準構成qrefは、指令されたエンドエフェクター姿勢に一つまたは複数の逆運動学的計算を適用することによって計算され得る。一実施例では、基準構成qrefは、ジョイントの所望の物理的位置である。
構成コントローラー202は、制御ユニット118から受信した基準位置値qrefおよびセンサー208からのフィードバック値を使用して計算を行って、基準トルク値τrefを生成するように構成される。基準トルク値τrefは、ジョイントを基準構成qrefに移動するために必要な要求トルクを示す。次に、基準トルク値τrefがトルクコントローラー204に送信される。
トルクコントローラー204は、構成コントローラー202に電気的に接続され、基準トルク値τrefを受信するように構成される。τrefの値から、ジョイントトルクコントローラーは、駆動源によって生成される所望の電流の値を計算するように構成される。この所望の電流は、駆動源によって駆動されるときにジョイントによって経験される実際のトルクである出力トルクτを生成するために使用される。理想的なシステムでは、駆動源からジョイントにトルクを伝達するドライブトレインは「剛性」であり、トルクは駆動源からジョイントに伝達される際に「失われ」ない。従って、ジョイントで経験される出力トルクτは、構成コントローラー202によって受信される基準トルクτrefと等しい。
剛性でないジョイントは、それが駆動されると、駆動源によって提供される出力トルクτに対向する慣性を経験する。慣性は、ジョイントの内部または外部にある多数の要因によって引き起こされ得る。慣性の原因の例として、重力によるジョイントの重量が挙げられる。別の例示的な原因は、ジョイントによって支持される、またはジョイントと接合される物体の重量である。慣性の存在により、その出力qにおけるジョイントの構成は、基準構成qrefとは異なってもよい。剛性であるジョイントについては、慣性はジョイントqの出力構成に影響を与えない。従って、剛性のジョイントについては、出力構成qと所望の構成qrefとの間に差異はない。
センサー208は、ジョイントの出力構成qを測定するために提供される。センサー208は、図1に図示したセンサー116のうちの一つに対応し得る。従って、センサー208は、ロボットアーム100のジョイント内に含まれてもよい。一実施例では、出力構成qは、ジョイントの出力位置である。従って、センサー208は、線形または回転式エンコーダーなどの位置決めセンサーであり得る。この実施例では、センサー208は、それが構成されるジョイントの位置を測定し、この測定値を示す電気信号を構成コントローラー202に送信するように構成される。この電気信号の透過率は、更新値基準トルクτrefを計算するために構成コントローラー202によって使用されるフィードバックループを形成する。
一般に、フィードバック項は、ジョイントの所望の構成とその実際の構成の間の偏差を示し、ジョイントを定常状態からさらに取り得る外乱を補償するために、制御システム内で使用される。従って、センサー208からフィードバックを組み込む基準トルクτrefの値は、連続データ測定値がセンサー208から取得されるにつれて、連続的に更新され得る。フィードバックループは、構成コントローラー202に提供される前に、センサー208から取得される未加工の出力値をマニピュレートするための一つまたは複数のフィルター、積分器、または微分器をさらに含み得る。
上述のように、図2に図示されるループによって制御されるジョイントは、「剛性」としてモデル化される。剛性のジョイントについては、入力トルク(すなわち、駆動源が位置するドライブトレインの第一の端部で、または近位の位置で測定されるトルク)は、出力トルク(すなわち、ジョイントが位置するドライブトレインの第二の端部で、または近位の位置で測定されるトルク)に比例する。
ジョイントについて測定される出力トルクは、以下の式によって特徴付けられ得る:
τ=K(q-q
式中、Kは、ドライブトレインのばね定数または剛性であり、qは、ジョイントの入力構成であり、qは、ジョイントの出力構成である。一実施例では、以下の図4から図6に示すように、qは、ドライブトレインの第一の端部で測定され、qは、ドライブトレインの第二の端部で測定される。従って、出力トルクは、ドライブトレインの伸長(q-q)と剛性Kとの間の関係によって特徴付けられる。いくつかの実施例では、伸長と剛性Kとの間の関係は直線的である。他の実施例では、この関係は非線形である。
本明細書で参照されるばね定数Kは、さもなければばね係数と呼んでもよい。ばね定数(またはばね係数)は、全ての伸長値に対して、必ずしも定数値を有しないことに留意されたい。実際に、いくつかの実施例では、ばね係数は、伸長値の連続関数であり、一部の他の実施例では、ばね係数は、離散値のセットから選択され、各離散値は、それぞれの伸長値の範囲と関連付けられる。
上述のように、ロボットシステム内のジョイントを駆動するための機構は、弾性の関連要素を含み、非線形剛性特性をもたらす。この弾性は、特に高調波駆動の特徴である。図3は、ロボットアームの弾性ジョイントに対する例示的な非線形剛性特性を示すグラフである。グラフは、x軸上の伸長とy軸上の出力トルクをプロットする。出力トルクは、ジョイントが位置するドライブトレインの第二の端部に位置するセンサーによって測定され得る。出力トルクを測定するためのセンサーは、ゲージセンサーであり得る。ゲージセンサーは、機械的歪みによる電圧の変化を測定するように構成される。伸長は、入力構成qをジョイントの出力構成qから差し引くことによって計算される。図4~6では、入力構成は、駆動源が位置するドライブトレインの第一の端部に位置する第一のセンサーによって測定される。出力構成は、ジョイントが位置するドライブトレインの第二の端部に位置する第二のセンサーによって測定される。
図3では、出力トルクτはNmで測定され、伸長εは度で測定される。代替的な実施例では、伸長εはラジアンで測定され得る。これらの実施例の両方において、入力および出力構成を測定するための第一および第二のセンサーは、回転位置決めセンサーである。さらなる実施例では、伸長は、線形位置決めセンサーから得られた測定値を使用して計算され得る、線形測定値であり得る。この実施例では、伸長はメートルで測定され得る。さらなる実施例では、伸長は、無次元であり得る。伸長の無次元測定値の例は、パーセンテージとしてである。
図3に図示したグラフは、五つの別個の領域302~310を含む。領域302および310は、ドライブトレイン伸長と出力トルクτとの間の直接比例関係を示す。すなわち、ドライブトレインの伸長が増加するにつれて、出力トルクは一定割合で増加する。これは、図2を参照して上述したジョイントの理想的な性能を表す。領域302は、伸長の負の値に対するジョイント性能を示し、領域310は、伸長の正の値に対するその性能を示す。領域302および310にプロットされたグラフの勾配は、関連する伸長値の範囲内のドライブトレインの剛性Kを表す。
領域306は、ドライブトレインの剛性を表す線の勾配がほぼゼロである、バックラッシュの現象を表す。上述したように、バックラッシュは、方向が変化するときに経験される機構における損失の動きを指し、ドライブトレインの対向する構成要素間のギャップまたはクリアランスによって引き起こされる。高調波駆動の場合、バックラッシュは、円形スプラインとフレックススプラインとの間のクリアランス、および/またはトルク下でのフレックススプラインの弾性変形の結果である。この現象は、典型的には、伸長値の領域内で発生する。図3に図示した例では、この伸長領域の値は-0.1と0度の間である。当然のことながら、異なるジョイントについては、バックラッシュ領域は、異なる範囲の伸長値で現れる。グラフのこの領域では、測定されるセンサートルクはゼロであり、伸長が-0.1と0度の間で増加するにつれてゼロのままである。従って、伸長の-0.1と0度との間のジョイント方向の反転の間、トルクは駆動源からジョイントへドライブトレインを通して伝達されない。
領域304および308は、移行ゾーンである。これらのゾーンでは、ドライブトレインは、バックラッシュ領域と意図される性能の領域との間で移行している。これらの領域の間、伸長とセンサートルクの間に非線形関係がある。
図3に記録される伸長値の範囲全体を通してドライブトレインの代表的な剛性は、グラフの全ての領域を通過する回帰線312の勾配によって表される。図3から、弾性ジョイントについて、伸長と出力トルクとの間の関係は完全には直線的ではないことが理解される。すなわち、バックラッシュ領域306(ゼロ)における剛性特性の勾配は、領域302および310におけるその勾配と実質的に異なる。従って、312で表される直線は、伸張の全ての値に対するドライブトレインの剛性特性の正確な表現を提供する。
図3に示す非線形特性を示すジョイントの性能は、正確にはモデル化できない。従って、ロボット制御システムにとって、ジョイントの実世界の性能を測定するフィードバックループを組み込み、それらの性能測定値をフィードバック項として使用して、ジョイントを駆動するために使用される基準信号を調整することが重要である。
単一の弾性ジョイントの微分方程式は、以下のように表現され得る:
Figure 0007293494000002
上の式では、M、B、K、D、FおよびFは制御変数である。Mはドライブトレインの出力における慣性であり、Bはその入力における(すなわち、駆動源の出力における)慣性であり、Kはドライブトレインのばね定数であり、Dは減衰項である。従って、Dはドライブトレインにおける弾性に起因して失われるエネルギーを表す。Fは入力トルクの外乱である。入力トルクの外乱は、静止摩擦に起因し得る。例えば、Fは、出力トルクの外乱である。一実施例では、出力トルクの外乱は、ロボットアーム内の他のジョイントによって引き起こされる。
上述の制御変数に加えて、微分方程式は、弾性ジョイントの四つの状態変数、すなわち、位置、速度、加速、およびトルクを観察する。これらの変数は、ドライブトレインの入力または出力のいずれかで定義され得る。上記の方程式では、ジョイントqの出力構成は、ジョイントの出力位置である。従って、
Figure 0007293494000003
は、それぞれ時間に対する出力位置の一次および二次導関数である。すなわち、
Figure 0007293494000004
はそれぞれ、ドライブトレインの第二の端部での速度および加速度である。従って、
Figure 0007293494000005
は、ドライブトレインの第一の端部における位置、速度、および加速である。上記の微分方程式は、ドライブトレインの第一および第二の端部に位置する位置およびトルクセンサーを使用して上述の状態変数を測定することによってパラメーター化することができる。速度および加速度は、時間に対する位置の導関数であり、位置決めセンサーから測定される位置測定値から計算することができる。トルクデータ値は、従来、トルクセンサーの測定値から得る。
図4は、ロボットアーム内のジョイントの構成を制御するための全状態制御スキームを示すブロック図である。図4に図示した特定の例では、ジョイントの構成はその位置である。制御スキームは、図1を参照して記載されるジョイントコントローラー内に構成され得る。制御スキームは、相互接続回路によって互いに電気的に接続されるトルクコントローラー402および制御ループ404を含む。ジョイントコントローラー402は、ロボットアームのジョイント406に接続するための一つまたは複数の電気的接続を含む。ロボットアームは、図1に示すアーム100に対応してもよく、ジョイント406は、ジョイント104a~eのうちの一つまたは複数に対応し得る。
トルクコントローラー402は、駆動源によって生成され、ドライブトレインによってジョイント406に送信される入力トルクτの値を計算するように構成される。制御ループ404は、ジョイント406からセンサーデータを受信し、このセンサーデータをフィードバックとして使用して基準トルク値τrefを計算するように構成される。
トルクコントローラー402は、駆動源408および駆動源コントローラー410を含む。駆動源408は、ロボットアームのジョイント406および駆動源コントローラー410の両方に接続される。駆動源408は、ロボットアームのジョイント406を駆動するドライブトレインに入力トルクτを供給するように構成される。一実施例では、駆動源408はモーターである。他の実施例では、駆動源408は、油圧もしくは空気アクチュエーター、または任意の代替電源であり得る。駆動源コントローラー410は、駆動源の性能、およびそれゆえジョイント406周りの入力トルクを制御するように構成される。
駆動源408および駆動源コントローラー410は、コントローラーから駆動源へ通過するフィードフォワードループ、および駆動源からコントローラーへ通過するフィードバックループによって相互に電気的に接続される。駆動源がモーターである実施例では、フィードフォワードループは、コントローラーがモーターに三相電圧供給を提供することを可能にする。この実施例では、フィードバックループによって、モーターがコントローラーに三相電流フィードバックを供給することが可能になる。フィードバックループは、モーターに供給される電圧、すなわち電流を変更するために使用する。従って、フィードバックループは、意図されたトルクがモーターによって生成されることを保証する。
トルクコントローラー402は、ジョイント406の性能を示す一つまたは複数のパラメーターを測定するための複数のセンサーをさらに含む。センサーはさらに、これらの電気信号が制御ループ404に送信され得るように、それらの測定値に関連付けられる電気信号を生成するように構成される。一実施例では、センサーはジョイント406内に含まれる。別の実施形態では、センサーはジョイント406に外部的であるが結合される。複数のセンサーは、図1に示すセンサー116に対応し得る。図4では、複数のセンサーは、第一のセンサー412、第二のセンサー414、および第三のセンサー416を含む。
第一のセンサー412および第二のセンサー114は、ジョイント406の周りの構成を測定するように構成される。上述のように、ジョイントの構成は、ジョイントの位置であり得る。この実施例では、センサーはエンコーダーであり得る。エンコーダーは、結合されるジョイントの動きに応じて、線形エンコーダーまたは回転式エンコーダーのいずれかであり得る。第一のセンサー412は、ジョイント406の入力構成を測定するように構成される。入力位置は、そのジョイントを駆動するよう構成される駆動源の出力で測定される。従って、第一のセンサー412は、駆動源408が位置する、ドライブトレインの第一の端部に、またはその近位の位置に位置し得る。第二のセンサー414は、ジョイント406で出力構成を測定するように構成される。出力構成は、ジョイントへの入力で測定される。従って、第二のセンサーは、ジョイント406が位置するドライブトレインの第二の端部にまたは近位の位置に位置する。第三のセンサー416は、ジョイント406の周りの出力トルクを測定するように構成される。従って、第三のセンサーはまた、ドライブトレインの第二の端部に位置する。センサー412、414、416は、ジョイントの性能を示すデータを連続的に感知するように構成され得る。データのこの連続感知は、定期的な間隔で行われてもよい。すなわち、ジョイントからのデータの感知は、所定のサンプリング速度でセンサーによって行われてもよい。このサンプリング速度は、図1に示すコマンドインターフェイス124などで構成可能とし得る。
一つまたは複数のセンサーに加えて、トルクコントローラー402は、それぞれのセンサーから受信した電気信号をフィルターリングするための一つまたは複数のセンサーフィルターを含む。フィルターは、複数のデータ値からの情報を組み合わせて、ジョイントの性能を効率的に監視するために提供される。一実施例では、フィルターは、時間フィルターであり、これは、それぞれの新しいデータ値に対するそれらの情報を段階的に更新するために使用される。第一のフィルター418は、第一のセンサー412から受信した電気信号をフィルターリングするように構成される。第一のセンサー412が入力位置決めセンサーである場合、第一のフィルター418は、入力位置値をフィルターリングするように構成される。従って、第二のフィルター422は、第二のセンサー414に電気的に接続され、そのセンサーから受信した電気信号をフィルターリングするように構成される。従って、第二のセンサー414が出力位置決めセンサーである場合、第二のフィルター422は、出力位置値をフィルターするように構成される。第三のフィルター426は、第三のセンサー416に電気的に接続される。従って、第三のフィルター426は、出力トルク値をフィルターするように構成される。
トルクコントローラー402は、第一のセンサー412と第二のセンサー414からそれぞれフィルターリングされた導関数値を導出するための第四のフィルター420と第五のフィルター424とをさらに含む。上述のように、センサー412、414、416によるデータの感知は、所与のサンプリング速度で行われてもよい。第四および第五のフィルター420、422は、センサーデータが測定されるサンプリング速度の記録を維持するように構成される。速度は、時間に対する位置の一次導関数である。従って、第一および第二のセンサー412、414が入力および出力位置決めセンサーである場合、第四および第五のフィルター420、422は、所定のサンプリング速度および連続的にサンプリングされたデータ値を使用して、ジョイントの入力および出力速度値をそれぞれ計算するように構成される。
一つまたは複数のセンサーに電気的に接続されるだけでなく、一つまたは複数のセンサーフィルターは、着信相互接続回路428に電気的に接続される。着信相互接続回路428はさらに、制御ループ404に接続される。従って、相互接続回路428は、センサーデータをトルクコントローラー402から制御ループ404に送信するように構成される。従って、センサーデータは、制御ループ404へのフィードバックとして提供され得る。一実施例では、相互接続回路は、Ethercatバスなどの通信バスである。
制御ループ404は、駆動源408に提供される基準トルクτrefを計算するように構成される。基準トルクτrefは、基準構成qrefおよび測定されるセンサーデータから導出された複数のフィードバックループを使用して計算することができる。制御ループ404は、第六のフィルター430、構成コントローラー432、動的トルク観測器434、および重力補償器436を含む。
第六のフィルター430は、構成コントローラー432に接続され、(制御ユニット118からなど)一つまたは複数の着信基準構成値qrefを受信するように構成される。第六のフィルター430はさらに、これらの値をフィルターして、構成コントローラー432への入力として提供するように構成される。フィルター430はまた、この基準構成qrefの一次導関数の値を計算するように構成される。基準構成がジョイント406の基準位置である場合、この基準構成の(時間に対する)一次導関数は、基準速度である。第六のフィルター430は、トルクコントローラー402のフィルター418、420、422、424、426に対応し得る。すなわち、位置フィルターは、複数のデータ値からの情報を組み合わせて、入力位置値を効率的に監視し、保存された所与のサンプリング速度および連続的にサンプリングされる基準位置値を使用して、基準速度値を計算するように構成され得る。
制御ループは重力補償器436をさらに含み、これは第六のフィルター430の出力と着信相互接続回路428の両方と電気的に接続される。重力補償器436は、第六のフィルター430から基準構成データを受信し、相互接続回路428によって第三のセンサー416らトルク値を出力するように構成される。重力補償器436は、第六のフィルター430から得られたデータを使用して、予期トルク値を計算するようにさらに構成される。次いで、重力補償された測定されるトルクの値を、出力トルクτから予期トルクを差し引くことによって、重力補償器436によって計算することができる。この重力補償された測定されるトルクは、動的トルク観測器434に提供される。
重力補償された測定されるトルクに加えて、動的トルク観測器434は、相互接続回路428から入力構成、出力構成、および出力構成の一次導関数の値を受信するように構成される。動的トルク観測器434は、その受信された入力から動的トルク値τdynamicを計算するようにさらに構成される。動的トルク値τdynamicは、動的トルク観測器434によって構成コントローラー432に送信される。構成コントローラー432はまた、第六のフィルター430および相互接続回路428に電気的に接続される。従って、構成コントローラー432は、τdynamicに加えて、入力および出力構成、ならびにこれらの構成の一次導関数を、着信相互接続回路428から受信するように構成される。位置コントローラーはさらに、第六のフィルター430からこの値の基準構成および一次導関数を受信するように構成される。これらの受信値から、構成コントローラー432は、トルクコントローラー402に提供される基準トルクτrefの値を計算する。基準トルクτrefは、送信相互接続回路434によってコマンドループ404からトルクコントローラー402に送信される。着信相互接続回路428と同様に、送信相互接続回路434は、Ethercatバスなどの通信バスであり得る。
図5は、ロボットジョイントの構成を制御するための制御アルゴリズム500を示し、トルクセンサーデータをフィードバック項として使用して入力トルクτの値を計算するブロック図である。位置制御アルゴリズムは、例えば、図4に図示する構成コントローラー432内に含まれてもよい。位置制御アルゴリズムは、基準構成qref(例えば、制御ユニット118から受信される)および複数のフィードバック項を使用して、駆動源に提供される入力トルク値τを計算する。基準構成qrefは、最初は第一の伝達関数502によって乗算され、第一の合計点504に提供される。第一の伝達関数502は、qrefの未加工の入力値を操作するために提供される第一のゲインを含む。
制御アルゴリズム500は、駆動源に関連付けられるゲインG(複数可)を含む第二の伝達関数506をさらに含む。駆動源がモーターである実施例では、ゲインG(s)はモーターゲインである。モーターゲインG(s)の値は、ジョイントの物理量に依存する。物理的トルクτおよび入力トルクτの値は、第二の伝達関数506への入力として提供される。第二の伝達関数506に印加される物理的トルクτは、ジョイントシステムに対する現実の外乱を表す。このトルクは電子的には存在しない。第二の伝達関数506の出力は、出力位置q、入力位置q、および出力トルクτであるこれらの出力は、ジョイントおよびそのそれぞれのドライブトレインに位置するセンサーから取得される測定パラメーターである。センサーは、例えば、図4に示すセンサー412、414、416に対応し得る。
伝達関数506からの、ジョイントで測定される三つの出力q、q、τは、入力トルクτを計算するために使用されるフィードバック項として提供される。各測定パラメーターは、関連するフィードバックループとともに提供される。各フィードバックループは、それが関連付けられている出力値に対応する伝達関数を含む。例えば、測定される出力構成qに対するフィードバックループは、第三の伝達関数508を含む。図5に図示した例では、第三の伝達関数は、関連する一つのゲインKを含む。代替的な実施例では、第三の伝達関数508は、複数のゲインを含む。第三の伝達関数508は、出力構成および出力構成
Figure 0007293494000006
の一次導関数の両方の操作された値を計算して、合計点510に提供するように構成される。伝達関数が複数のゲインを含む例では、伝達関数508への入力として提供される出力構成の各導関数に対して、ゲインが提供され得る。従って、第三の伝達関数が、出力構成と出力構成の一次導関数の両方の操作された値を計算するように構成される場合、第三の伝達関数508は、二つのゲインを含み得る。さらなる代替的な実施例では、第三の伝達関数508は、行列を含んでもよく、行列の各要素は、特定の入力変数を出力変数に関連付ける関数である。
測定される入力構成qのために提供されるフィードバックループは、第四の伝達関数512を含む。第三の伝達関数508と同様に、図5に例示される例では、第四の伝達関数は、一つの関連するゲインKを含む。代替的な実施例では、第四の伝達関数512は、複数のゲインを含む。具体的には、第四の伝達関数が、入力構成および入力構成の一次導関数の両方の操作された値を計算するように構成される場合、第四の伝達関数512は、二つのゲインを含んでもよい。さらなる代替的な実施例では、第四の伝達関数512は、行列を含んでもよく、行列の各要素は、特定の入力変数を出力変数に関連付ける伝達関数である。
第四の伝達関数512は、入力構成および入力構成
Figure 0007293494000007
の一次導関数の両方の操作された値を計算して、合計点514に提供するように構成される。出力トルクτに提供されるフィードバックループは、関連するゲインKτを有する第五の伝達関数516を含む。従って、出力トルクτの操作された値は、合計点514に提供される。ゲインK、K、Kτは、所定の理論データまたは実験データから取得され得る、所与の連続値または定数値であり得る。ゲインは、ロボットアーム用の制御システム内に非一時的形態で格納され得る。ゲインは、物理的測定データに適用されてもよく、制御アルゴリズムの性能に影響を与えるために使用される。
フィードバックループは、合計点510、514で一緒に合計され、合計点504で入力トルクτを計算するために使用される。すなわち、合計点504は、操作された基準構成qrefおよび操作されたセンサーデータフィードバックを入力として受信し、入力トルクτを出力する。ドライブトレインの入力および出力におけるジョイントの構成を知ることにより、制御システムは伸長ドライブトレインを決定することができる。従って、ジョイントは、その伸長に依存して制御され得る。
図5に図示した制御アルゴリズムを使用して、コントローラーによって計算された入力トルクτの値は、以下の式によって表される:
Figure 0007293494000008
上の式では、qrefは、アームの各ジョイントについて計算される基準構成である。構成は、各ジョイントの動きに応じて、角または直線であり得る。kpo、kpi、kdoおよびkdiは、第一および第二の入力のゲインである。kdoおよびkpiは、それぞれ入力および出力構成の比例ゲインである。kdoおよびkdiはそれぞれ、入力および出力構成の微分ゲインである。基準および測定される構成の一次導関数
Figure 0007293494000009
は、それぞれの速度ωref、ωi、ωと同義である。
図5に示す制御システムは入力トルクτを計算するために、五つの測定されるフィードバック項
Figure 0007293494000010
を必要とする。しかしながら、測定される出力トルクτは、ジョイントの性能の正確な表現を提供するのに必ずしも使用されない。これは、高調波駆動などのバックラッシュを経験するドライブトレインを有するジョイントに特に関連する。一般に、ドライブトレインの伸長は、そのジョイントに印加されるトルクの変動とともに直線的に変化する。上述のように、非線形ジョイントのバックラッシュ領域では、ジョイント伸長が変化するにつれて、測定されるセンサートルクはほぼゼロである。従って、バックラッシュ領域の間は、トルクセンサーは測定されるトルクの値を提供するために使用できない。この領域中にコントローラーに提供される出力トルクを決定するより正確な方法が必要である。
上述のように、ロボットジョイントの出力トルクは、以下の式によって特徴付けられ得る。:
τ=K(q-q
式中、Kは、ジョイントのばね定数であり、qはジョイントに関する入力構成であり、qはジョイントに関する出力構成である。前述したように、q-qは、ドライブトレインの伸長を表し、qおよびqは、ジョイントおよびその関連するドライブトレインに連結されるセンサーを使用して両方を測定することができる。従って、ジョイントの出力トルクは、入力および出力ジョイント構成に対する測定されるセンサーデータを使用して計算することができる。この出力トルクの計算は、トルクセンサーから得られた出力トルクの測定値を置き換えるために使用することができる。
図6は、トルクセンサーデータをフィードバック項として使用せずに、ジョイントの構成を制御するための制御アルゴリズムを示すブロック図である。代わりに、入力および出力ジョイント構成に出力トルクをリンクする上記方程式を使用して、出力トルクの値を計算して、制御システムにフィードバックを提供する。構成制御アルゴリズムを実施するためのコントローラーは、図4に図示したスキームに広く対応するが、第三のセンサー416から取得されたトルクセンサーデータを除外する制御スキーム内に実装され得る。制御アルゴリズムは、図4に示すコントローラー432と同様のコントローラーによって実装されるように構成される。
制御アルゴリズムは、三つの伝達関数、第一の伝達関数602、第二の伝達関数606、および第三の伝達関数610を含む。アルゴリズムは、第一の合計点604および第二の合計点608をさらに含む。図5に示すアルゴリズムと同様に、制御アルゴリズムは、基準構成qrefを受信し、この基準構成および複数のフィードバック項を使用して、入力トルク値τを計算する。
基準構成qrefは、図1のユニット118などの制御ユニットから受信される。基準構成qrefは、第一の伝達関数602への入力として提供される。第一の伝達関数602は、以下でより詳細に記述される。第二の伝達関数606は、駆動源に関連付けられるゲインG(複数可)を含む。物理的トルクτおよび入力トルクτの値は、第二の伝達関数606への入力として提供される。第二の伝達関数606の出力は、出力構成qおよび入力構成であるq。これらの出力は、ジョイントおよびそのそれぞれのドライブトレインに位置するセンサーから取得される測定パラメーターである。
一実施例では、図6に図示するように、第三の伝達関数610は二つの値KτおよびKφを含む。Kφは、ドライブトレインのばね定数であり、上で言及したKと同義語であり得る。Kφは、以下でより詳細に説明される。Kτは、qおよびqの未加工値を操作するために提供されるゲインである。代替的な実施例では、第三の伝達関数610はマトリクスである。この実施例では、マトリックスの各要素は、特定の入力変数を出力変数に関連付ける関数である。
図6の制御アルゴリズムを実施するコントローラーを使用してロボットジョイントを制御する方法を、図7に示す。ステップ702で、コントローラーは、第一のセンサーから第一の入力を受信する。第一の入力は、ジョイントqの入力構成を示す。第一のセンサーは、図4の第一のセンサー412に対応し得る。図4を参照して上述したように、第一のセンサー412は、駆動源408が位置するドライブトレインの第一の端部に位置し得る。
ステップ704で、コントローラーは第二のセンサーから第二の入力を受信する。第二の入力は、ジョイントqの出力構成を示す。出力構成は、図4の第二のセンサー414に対応し得る第二のセンサーから受信される。一実施例では、第二のセンサー414は、ジョイントが位置するドライブトレインの第二の端部に位置し得る。
ステップ706で、コントローラーは、第一および第二の入力を使用して、ジョイント周りの出力トルクtの値を計算するように構成される。ステップ708で、コントローラーは、出力トルクの計算値を使用して、ジョイントに印加される入力トルクの値を計算する。一実施例では、入力トルクを計算することは、出力トルクtの計算値から重力の作用を補償するトルク項を差し引くことを含む。入力トルクを計算するために重力の作用を補償するトルク項を使用することは、その動作中の重力によるジョイントのドリフトを防止する。
図6では、第一の入力と第二の入力の両方が第三の伝達関数610への入力として受信される。一実施例では、第一の入力および第二の入力はそれぞれ、第三の伝達関数610に提供される前に、ゲインによってスケーリングされる。この実施例では、第一の入力がスケーリングされるゲインは、第二の入力がスケーリングされるゲインとは異なってもよい。第三の伝達関数610は、ジョイントの出力構成qおよび入力構成qの受信した値を使用して、出力トルクτの値を計算するようにさらに構成される。この出力トルクτは、トルクセンサーによって測定されるであろうトルクの値とは異なってもよい、トルクの理想的な値に対応する。すなわち、ジョイントがバックラッシュを経験している場合、ジョイントτの出力トルクの測定値はゼロとなる。しかし、入力および出力構成値を使用して計算される出力トルクτの値は、これらの条件下では非ゼロの値を有する。第三の伝達関数610からの出力として提供される出力トルクτの計算値は、合計点604への入力として提供される。第一の伝達関数602の出力はまた、合計点604に提供される。
合計点604は、第一の伝達関数602の出力とともに、出力トルクの計算値を使用して、入力トルクτの値を計算することである。この計算は、図7のステップ708で実行される。図6に例証される実施例では、第一の伝達関数602は、図5に例証される伝達関数508および512のゲインKおよびKに対応する一つの関連するゲインKPDを含む。代替的な実施例では、第一の伝達関数602は、行列を含み、行列の各要素は、特定の入力変数を出力変数に関連付ける伝達関数である。従って、伝達関数602は、入力としてqおよびqの測定値を受信し、これらの構成の操作されたバージョンおよびそれらの導関数を合計点604に提供するように構成される。別の実施例では、第一の伝達関数602は、複数のゲインを含む。伝達関数602が、入力としてqおよびqの測定値を受信するように構成される場合、これは二つのゲインを含み得る。この実施例では、出力構成qを操作するために第一のゲインが提供され、入力構成qを操作するために第二のゲインが提供される。
図6に記述される制御アルゴリズムは、ジョイントの入力および出力構成を示すことからセンサーデータの連続的なストリームを受信し得る。従って、制御アルゴリズムは、入力トルクτの値を繰り返し計算するように構成され得る。入力トルクτの連続計算により、制御システムは、発生するときとジョイント性能の外乱を即座に補償することができることを確実にする。一実施例では、この補償は、実質的にリアルタイムで発生し得る。
図6に図示した制御アルゴリズムを使用して、コントローラーによって計算された入力トルクτの値は、以下の式によって表される:
Figure 0007293494000011
上の式では、qrefは、アームの各ジョイントについて計算される基準構成である。構成は、各ジョイントの動きに応じて、角または直線であり得る。Kpo、kpi、KdoおよびKdiは、第一および第二の入力のゲインである。Kpoおよびkpiは、それぞれ入力および出力構成の比例ゲインである。KdoおよびKdiはそれぞれ、入力および出力構成の微分ゲインである。基準および測定される構成
Figure 0007293494000012
の一次導関数はそれぞれの速度ωref、ωおよびωと同義である。
上の方程式の第一の項qref-qは、基準構成とジョイントの測定される出力構成との比較を表す。第二の項qref-qは、基準構成とジョイントの測定される入力構成との比較によって計算される。第三の項
Figure 0007293494000013
は、基準構成の一次導関数と、ジョイントの測定される出力構成の一次導関数との比較によって計算される。第四の項
Figure 0007293494000014
は、基準構成の一次導関数と、ジョイントの測定される入力構成の一次導関数との比較によって計算される。従って、上の方程式の最初の四つの項は、ジョイントの所望の構成を、測定されるセンサーデータから得られた入力および出力の構成と比較することによって導出される。すなわち、ジョイントの所望の構成とその測定される構成との間の差に依存して、所望の構成に向かってジョイントを駆動する傾向にある入力トルクを計算することができる。上の方程式の最初の四つの項は、関連するゲインとともに、第一の伝達関数602からの出力として提供される。
一実施例では、制御アルゴリズム600によって制御されるジョイントの構成は、ジョイントの位置である。この実施例では、基準構成は、ジョイントの基準、または所望の物理的位置である。入力および出力構成は、それぞれジョイントの入力および出力位置である。
第三の伝達関数610内に含まれるばね定数Kφは、上で言及したようにKと同義であり得る。ばね定数Kφは、ドライブトレイン伸長q-qの関数である理論的に計算された値である。すなわち、Kφは、歴史的理論データまたは実験データから取得され、ロボットアーム用の制御システム内の非一時的形態で保存された、所与の値または値の範囲である。図3を参照すると、Kφは出力トルクに対するドライブトレイン伸長をプロットするグラフの勾配によって特徴付けすることができる。
一実施例では、ばね定数Kφは、連続関数によるドライブトレイン伸長に関連する。すなわち、Kφはドライブトレインの伸長が変化するにつれて、連続的に変化し得る。別の実施例では、ばね定数Kφは、定数値を有し得る。すなわち、Kφはドライブトレインの伸長が変化するのと同じ値を持つ。あるいは、ばね定数は、値の離散範囲から選択され得る。この実施例では、Kφの各離散値は、伸長値の範囲と関連付けられてもよく、伸長値の各範囲は、一つまたは複数の所定の閾値によって定義され得る。ばね定数が三つの別個の値の範囲から選択される実施例を以下に示す:
e<-0.1度→Kφ=K1
-0.1<e<0度→Kφ=K2
0度<e→Kφ=K3
上の例では、測定される伸長が-0.1度未満であるとき、第一のばね定数K1が使用される。すなわち、第一の剛性値K1は、-0.1度の上限閾値によって特徴付けられる伸張値の範囲と関連付けられる。この伸長値の範囲は、図3に示すグラフの領域302に対応する。第二の剛性値K2は、ドライブトレインの伸長が-0.1度~0度の間である場合に使用される。すなわち、第二の剛性値K2は、-0.1度の下限閾値および0度の上限閾値によって特徴付けられる、伸張値の範囲と関連付けられる。この伸長値の範囲は、図3に図示したグラフの領域306に対応する。すなわち、この伸長範囲は、図3に示すように、バックラッシュ領域に対応する。第三の剛性値K3は、測定される伸長が0度より大きいときに使用される。すなわち、第三の剛性値K3は、0度の下限閾値によって特徴付けられる伸張値の範囲と関連付けられる。この伸長値の範囲は、図3に示すグラフの領域310に対応する。
さらなる実施例では、ばね定数は、五つの異なる値の範囲から選択され得る。これら五つの別個の値には、上記で示される第一、第二、および第三の剛性値K1、K2、およびK3が含まれる。これに加えて、第四の剛性値K4は、測定される伸長が-0.1度と等しいか、または-0.1度に近いときに選択され得る。これは、図3に図示したグラフの領域304によって示される移行ゾーンに対応する。第五の剛性値K5は、測定される伸長が0度と等しいか、または0度に近いとき、使用され得る。これは、図3に示すグラフの領域308によって示される移行ゾーンに対応する。
図3を参照して上述したように、上述の伸長値の範囲は例示的であり、こうした値の代替範囲は剛性値K1-K5と関連付けられ得ることが理解されよう。
ロボット制御システムは、図5に示すコントローラーと図6に示すコントローラーの両方を含んでもよい。すなわち、制御システムは、フィードバック項として測定される出力トルクを使用する一つのコントローラーと、この測定値を出力の計算値で置き換える別のコントローラーとを含んでもよい。これら二つのコントローラーを組み合わせて使用して、異なるトルクフィードバック項が、異なる伸張値でより正確な入力を提供するため、非線形剛性特性を有するジョイントを制御することができる。従って、伸張のいくつかの値については、測定されるトルクを観察することが有用であり得、他のもの(例えば、バックラッシュ領域内)については、計算されたトルクを観察することが有用であり得る。
図5および図6に図示したコントローラーは、図8に図示した動的トルク観測器800で実施され得る。図4を参照して記載したように、動的トルク観測器の目的は、外力を無視しながら、ジョイントの動きおよび/または加速度を考慮するジョイントトルクの値を計算することである。
動的トルク観測器800は、微分ローパスフィルター802、慣性スケーラー804、ジョイント剛性スケーラー806、第一の重み付けユニット808、第二の重み付けユニット810、およびハイパスフィルター812を含む。合計点814、816および818をさらに含む場合。
微分ローパスフィルター802は、出力速度値
Figure 0007293494000015
(またはω)を入力として受信するように構成される。この速度値は、制御アルゴリズム600によって実行される測定される出力構成qの微分から取得される。出力速度ωは、ジョイントを加速するために必要な力を示す慣性項を計算するために使用される。この値は、低周波数では有用であるが、高周波数では過剰なノイズを生成する。従って、ローパスフィルター802は、着信出力速度値を受信し、受信値から高周波値をフィルターリングするように構成される。ローパスフィルター802から出力される値は、慣性スケーラー804への入力として提供される。慣性スケーラー804は、フィルターリングされた出力速度値に固定慣性を適用し、慣性トルクの値を計算するように構成される。
動的トルク観測器は、図5に示すようにコントローラーおよび図6に示すようにコントローラーの両方からの入力を使用して、出力トルクτの更新値を計算するようにさらに構成される。合計点814およびジョイント剛性スケーラー806は、減算された重力によるトルクの構成要素上の図6を参照して記載されるように、出力トルクτの計算値を提供するよう使用される。重力による出力トルクの成分は、理論値とすることができる。このトルクは、それが構成されるジョイントおよびアームの幾何学的形状、質量および構成を使用して計算され得る。τadjの初期値は、第二の重み付けユニット810によって重み付けされ、得られた操作された値は、合計点816に提供される。
重み付けユニット808、810は、合計点816に提供される各フィードバック項の割合を修正するために提供される。第一の重み付けユニット808は、第一の値1-αを含む。第二の重み付けユニットは、第二の値αを含む。αは、所定のパラメーターであり、ここで1≧α≧0である。一実施例では、αは、ドライブトレイン伸長の関数である。すなわち、αは連続関数によるドライブトレイン伸長に関連するものであってもよく、または定数値を有してもよく、またはKφに対して上述したように、離散範囲の値から選択され得る。重み付けユニット808、810から出力される、計算される/測定される出力トルクの操作された値は、合計点816に提供される。
出力トルクは、動的トルク(加速、アクチュエータートルク、および摩擦によって引き起こされる)と外部印加トルクの二つの構成要素を含むと仮定される。動的トルクを観察するには、出力トルクの外部適用トルク成分を除去する必要がある。これは、ハイパスフィルター812の追加によって達成される。ハイパスフィルター812は、合計点816の出力から計算された出力トルクの新しい値を受信し、この信号をフィルターリングして外部トルク成分を除去する。次に、ハイパスフィルター812の操作された出力を、合計点818へ提供することができる。合計点818はさらに、慣性スケーラー804から慣性トルク値を受信し、動的トルクτdynamicの変更された値を出力として提供するように構成される。
上述の実施例では、計算された出力トルクに使用される入力構成qは、ドライブトレインの第一の端部に位置する、または近位の位置にあるセンサーから取得される測定構成である。別の実施例では、入力構成は、出力ジョイント構成が測定される時間の前の時間に要求される基準ジョイント構成の値を使用して計算され得る。理想的には、「剛性」ジョイントの場合、以前の基準構成は、ジョイントの入力構成と同一である。従って、この実施例では、入力ジョイント構成を測定するためのセンサーは必要とされず、ジョイントのコンパクトさが増大する。
図2~6は、上述のように、ジョイントによって生成される力がトルクであることを意味する。従って、図2~6は、回転ジョイントの構成を制御するためのコントローラーを指す。代替的な実施例では、制御されるジョイントは、直線運動を提供するように構成され得る。この実施例では、対応する力は、歪ゲージまたは他の力センサーを使用して測定および計算することができる。
図6に図示した制御アルゴリズムを使用して、トルクセンサーデータをフィードバック項として使用せずに、外部からの力および重力による力に応答する、ロボットアーム内のジョイントの構成を制御することができる。従って、このアルゴリズムを使用する制御システムは、ジョイントに対する出力トルクを測定するためにトルクセンサー(図4の第三のセンサー416など)を必要としない。(図5に図示する追加のコントローラーとは対照的に)図6に図示する構成コントローラーのみを含むロボット制御システムについては、出力トルクを測定するためのセンサーの除去は、よりコンパクトなジョイント設計をもたらし、それによって、ジョイントのアセンブリー工程の数および計算コストを低減する。また、システム内のノイズによって生成される信号の外乱は、センサー入力の減少の結果として低減され得る。
上記に加えて、図6に図示した制御アルゴリズムはまた、ジョイントを駆動するためのドライブトレインが低剛性を提供するときに、ジョイント制御システムの不安定性を最小化するためのソリューションを提示し得る。つまり、フィードバック項の数を最小化することによって、これらの項に関連するゲインの数を最小化することができる。従って、これらの利益の安定性を最大化するために必要な調整は低減される。従って、制御システムを使用して、所与のジョイント応答を得るために駆動源によって送達される必要のある所望のトルクの良好な推定値を提供することができる。
本明細書によって、本出願人は、本明細書に説明される各個々の特徴および二つ以上のかかる特徴の任意の組み合わせを、かかる特徴または組み合わせが、当業者に共通する一般知識に照らして、全体として本明細書に基づいて行うことができるような程度まで、かかる特徴または特徴の組み合わせが、本明細書に開示する任意の問題を解決するかにかかわらず、かつ特許請求の範囲を限定することなく、分離して開示する。本出願人は、本発明の態様が、任意のかかる個々の特徴または特徴の組み合わせからなり得ることを示す。前述の説明を考慮すると、本発明の範囲内でさまざまな修正を行うことができることは当業者には明らかであろう。

Claims (13)

  1. 手術用ロボット内のジョイントの構成を制御するためのコントローラーであって、前記ジョイントは駆動源から前記ジョイントにトルクを伝達するドライブトレインによって駆動され、前記コントローラーが、
    第一のセンサーから前記駆動源の物理的位置を示す第一の入力を受信し、
    第二のセンサーから第二の入力を受信することであって、前記第二の入力が前記手術用ロボット内の前記ジョイントの測定される物理的位置を示すように受信し、
    前記第一の入力および前記第二の入力を使用して、前記ジョイント周りの出力トルクの値を計算し、
    前記出力トルクの値を使用して、前記駆動源によって前記手術用ロボット内の前記ジョイントに印加される入力トルクの値を計算する、
    ように構成される、コントローラー。
  2. 前記コントローラーが、指令されるエンドエフェクター姿勢から計算される第三の入力であって、前記ジョイントの所望の物理的位置を示す第三の入力を受信するようにさらに構成される、請求項1のいずれかに記載のコントローラー。
  3. 前記入力トルクの値が、
    前記第一の入力と前記第三の入力との間の比較と、
    前記第二の入力と前記第三の入力との間の比較と、
    前記第一の入力の時間に関する一次導関数と前記第三の入力の時間に関する一次導関数との間の比較と、
    前記第二の入力の時間に関する一次導関数と前記第三の入力の時間に関する一次導関数との間の比較と、
    を使って計算される、請求項2に記載のコントローラー。
  4. 出力トルクが、前記ドライブトレインは少なくとも部分的に弾性を有し、前記ドライブトレインの伸長値と前記ドライブトレインの剛性値との間の関係によって特徴付けられ、前記出力トルクの値が方程式τ=kφ(q-q)によって表され、式中、qが前記第一の入力であり、qが前記第二の入力であり、q-qが伸長値であり、kφが前記ドライブトレインのばね係数である、請求項1~3のいずれかに記載のコントローラー。
  5. kφが連続関数によって(q-q)に関連し、kφの値は(q-q)の変化に依存して変化する、請求項4に記載のコントローラー。
  6. kφが、離散範囲の値から選択され、kφの各値が、一つまたは複数の所定の閾値によって画定される伸長値の範囲と組み合わされて使用される、請求項4に記載のコントローラー。
  7. 前記ばね係数が、前記ドライブトレインの測定される伸長に依存する三つの別個の値から選択され、
    前記測定される伸長の値が第一の所定の閾値を下回る場合、第一の値が前記ばね係数に対して選択され、
    前記測定される伸長の値が前記第一の所定の閾値を上回り、かつ第二の所定の閾値を下回る場合、第二の値が前記ばね係数に対して選択され、
    前記測定される伸長の値が前記第二の所定の閾値を上回る場合、第三の値が前記ばね係数に対して選択される、請求項6に記載のコントローラー。
  8. 前記第一の所定の閾値を上回り、かつ第二の所定の閾値を下回る前記伸長値の範囲が、前記ジョイントのバックラッシュ領域に対応する、請求項7に記載のコントローラー。
  9. 前記入力トルクの値が、以下の式によって表され、
    Figure 0007293494000016
    式中、qは前記第一の入力であり、qは前記第二の入力であり、qは前記第三の入力であり、kpo、kpi、kdo、kdi、およびkは、前記第一、第二および第三の入力に関連付けられるゲインであり、前記コントローラーは、前記出力トルクの値を繰り返し計算するように構成される、請求項2、又は、請求項2に従属する請求項3~8のいずれかに記載のコントローラー。
  10. 前記コントローラーが、動的トルク観測器内に実装され、前記動的トルク観測器が、前記コントローラーによって計算された前記出力トルクの値に重み付けを適用することによって動的トルクの値を計算するように構成され、前記入力トルクの値を計算することが、前記出力トルクの値から重力の作用を補償するトルク項を差し引くことを含む、請求項1~9のいずれかに記載のコントローラー。
  11. 前記駆動源がモーターであり、前記ドライブトレインが一つまたは複数のギアを含み、前記ドライブトレインが高調波駆動である、請求項1~10のいずれかに記載のコントローラー。
  12. 前記第二のセンサーが、前記ジョイントが位置する前記ドライブトレインの第二の端部に、またはその近位の位置に位置し、前記第一のセンサーが、前記駆動源が位置する前記ドライブトレインの第一の端部に、またはその近位の位置に位置する、請求項1~11のいずれかに記載のコントローラー。
  13. 手術用ロボット内のジョイントの構成を制御するための制御方法であって、前記ジョイントが、駆動源から前記ジョイントにトルクを伝達するドライブトレインによって駆動され、前記制御方法が、
    第一のセンサーから前記駆動源の物理的位置を示す第一の入力を受信することと、
    第二のセンサーから第二の入力を受信することであって、前記第二の入力が前記手術用ロボット内の前記ジョイントの測定される物理的位置を示す、受信することと、
    前記第一の入力および前記第二の入力を使用して、前記ジョイントに対する出力トルクの値を計算することと、
    前記出力トルクの値を使用して、前記駆動源によって前記手術用ロボットの前記ジョイントに印加される入力トルクの値を計算することと、
    を含む、制御方法。
JP2022508953A 2020-07-06 2021-07-05 機械システムにおけるジョイント制御 Active JP7293494B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2010355.2A GB2596812B (en) 2020-07-06 2020-07-06 Joint control in a mechanical system
GB2010355.2 2020-07-06
PCT/GB2021/051699 WO2022008886A1 (en) 2020-07-06 2021-07-05 Joint control in a mechanical system

Publications (2)

Publication Number Publication Date
JP2022545366A JP2022545366A (ja) 2022-10-27
JP7293494B2 true JP7293494B2 (ja) 2023-06-19

Family

ID=72050482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022508953A Active JP7293494B2 (ja) 2020-07-06 2021-07-05 機械システムにおけるジョイント制御

Country Status (6)

Country Link
US (1) US20230320798A1 (ja)
EP (1) EP4175575A1 (ja)
JP (1) JP7293494B2 (ja)
CN (1) CN115734761A (ja)
GB (1) GB2596812B (ja)
WO (1) WO2022008886A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070151389A1 (en) 2005-12-20 2007-07-05 Giuseppe Prisco Medical robotic system with programmably controlled constraints on error dynamics
JP2019500925A (ja) 2015-11-11 2019-01-17 マコ サージカル コーポレーション ロボットシステム及びロボットシステムをバックドライブする方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5086401A (en) * 1990-05-11 1992-02-04 International Business Machines Corporation Image-directed robotic system for precise robotic surgery including redundant consistency checking
US9447849B1 (en) * 2013-04-19 2016-09-20 Redwood Robotics, Inc. Robot manipulator with modular torque controlled links
US10145747B1 (en) * 2017-10-10 2018-12-04 Auris Health, Inc. Detection of undesirable forces on a surgical robotic arm
US20220226993A1 (en) * 2019-04-17 2022-07-21 Universal Robots A/S Method of controlling a robot arm based on adaptive friction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070151389A1 (en) 2005-12-20 2007-07-05 Giuseppe Prisco Medical robotic system with programmably controlled constraints on error dynamics
JP2019500925A (ja) 2015-11-11 2019-01-17 マコ サージカル コーポレーション ロボットシステム及びロボットシステムをバックドライブする方法

Also Published As

Publication number Publication date
JP2022545366A (ja) 2022-10-27
GB2596812B (en) 2024-05-29
GB202010355D0 (en) 2020-08-19
GB2596812A (en) 2022-01-12
CN115734761A (zh) 2023-03-03
US20230320798A1 (en) 2023-10-12
EP4175575A1 (en) 2023-05-10
WO2022008886A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
JP6773165B2 (ja) 医療用支持アーム装置、医療用支持アーム制御方法及びプログラム
US9888974B2 (en) Friction compensation in a minimally invasive surgical apparatus
US11850014B2 (en) Control system, control method, and surgical arm system
JP2022535728A (ja) 外科用ロボットアームの外部トルク観測および補償のためのシステムおよび装置
JP6892967B2 (ja) ロボット手首を制御するためのシステム及び方法
EP2568910A1 (en) Drive force control in medical instrument providing position measurements
WO2018051665A1 (ja) 医療用支持アーム装置、医療用システム、及び外科手術用顕微鏡システム
WO2017169649A1 (ja) 医療用観察装置、駆動制御方法、医療用観察システム及び支持アーム装置
US10272565B2 (en) Motor, actuator, and medical support arm apparatus
CN112203610A (zh) 外科机器人工具多电机致动器和控制器
JP7293494B2 (ja) 機械システムにおけるジョイント制御
KR101302746B1 (ko) 로봇의 외력 측정 방법
Fasel et al. Control evaluation of antagonistic series elastic actuation for a robotic endoscope joint
JP7439236B2 (ja) ロボットジョイントの性能の特徴付け
GB2621581A (en) Controlling a joint in a robotic arm
KR20140132113A (ko) 백래시 보상 방법 및 백래시 보상값 산출식 생성 방법
CN115399884A (zh) 机器人驱动模块的实时监测

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230421

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230607

R150 Certificate of patent or registration of utility model

Ref document number: 7293494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150