JP2023130055A - 連続体ロボット及びその制御方法、並びに、プログラム - Google Patents
連続体ロボット及びその制御方法、並びに、プログラム Download PDFInfo
- Publication number
- JP2023130055A JP2023130055A JP2022034500A JP2022034500A JP2023130055A JP 2023130055 A JP2023130055 A JP 2023130055A JP 2022034500 A JP2022034500 A JP 2022034500A JP 2022034500 A JP2022034500 A JP 2022034500A JP 2023130055 A JP2023130055 A JP 2023130055A
- Authority
- JP
- Japan
- Prior art keywords
- bendable
- posture
- control
- attitude
- unit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 76
- 238000005452 bending Methods 0.000 claims abstract description 50
- 230000033001 locomotion Effects 0.000 claims abstract description 33
- 230000036544 posture Effects 0.000 claims description 227
- 230000008859 change Effects 0.000 claims description 18
- 230000007704 transition Effects 0.000 claims description 5
- 238000002591 computed tomography Methods 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 238000002595 magnetic resonance imaging Methods 0.000 claims description 2
- 230000015654 memory Effects 0.000 abstract description 82
- 230000008569 process Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 32
- 206010034719 Personality change Diseases 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000000644 propagated effect Effects 0.000 description 9
- 238000009499 grossing Methods 0.000 description 6
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101100172874 Caenorhabditis elegans sec-3 gene Proteins 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 210000002435 tendon Anatomy 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J18/00—Arms
- B25J18/06—Arms flexible
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- Molecular Biology (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Robotics (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Biophysics (AREA)
- Optics & Photonics (AREA)
- Pathology (AREA)
- Radiology & Medical Imaging (AREA)
- Endoscopes (AREA)
Abstract
【課題】連続体ロボットの前進時または後退時に、急峻な湾曲動作を回避しつつ、外力が少ない状態で前進または後退することが可能で且つ操作が簡単な連続体ロボットを提供する。【解決手段】それぞれが湾曲可能な複数の湾曲可能部を長尺方向に前進または後退させる前進後退部14と、複数の湾曲可能部におけるそれぞれの湾曲可能部を湾曲させてその姿勢を変更する姿勢変更部27と、複数の湾曲可能部におけるそれぞれの湾曲可能部について姿勢を記憶する姿勢メモリ19と、前進後退部14による前進または後退を検出した際に、複数の湾曲可能部における少なくとも1つの湾曲可能部の姿勢が、姿勢メモリ19に記憶されている少なくとも1つの湾曲可能部の姿勢に対して所定以上乖離している場合、姿勢変更部27に対する姿勢の変更制御として、指定された姿勢に変更する位置制御から外力に倣って姿勢を変更する制御に切り替える制御切替部15を備える。【選択図】図4
Description
本発明は、連続体ロボット及びその制御方法、並びに、プログラムに関するものである。
連続体ロボットは、コンティニュウムロボットとも呼ばれ、柔軟性のある構造を持つ湾曲可能部を有し、その湾曲可能部を変形させることによって形状が制御される。この連続体ロボットは、剛体リンクによって構成されるロボット(以下、「剛体リンクロボット」と記載する)に対して、主に2つの優位性を持つ。1つ目の優位性は、連続体ロボットは、剛体リンクロボットがはまり込んでしまうような狭い空間や散乱物のある環境の中で、その先端の操作のみで対象物の曲線に沿って移動可能である点である。2つ目の優位性は、連続体ロボットは、本質的な柔らかさを有するため、特に開空間においては脆弱な対象物に損傷を与えることなく操作することができる点である。そこでは、剛体リンクロボットで必要とされるエンドエフェクタでの外力検出は、必ずしも必要とされない。
この特徴を生かし、連続体ロボットは、内視鏡のシースやカテーテルなどの医療の分野や、レスキューロボットなどの極限作業ロボットへの応用が期待されている。この連続体ロボットの駆動方法としては、腱駆動によるもの、押し引き可能なワイヤによるもの、空気アクチュエータによるものなどがある。
特許文献1には、連続体ロボットの湾曲可能部の姿勢を制御する制御器を備え、制御器が連続体ロボットの進行方向の先頭に位置する湾曲可能部が通過した経路に沿うように後続の湾曲可能部を制御する内視鏡が開示されている。以下、このような姿勢制御を「先頭追従制御」と称する。先頭追従制御を行う制御器を有する内視鏡によれば、内視鏡の挿入対象である被検者の体腔への挿入時には、使用者は、挿入方向の先頭に位置する湾曲可能部の姿勢を操作するだけで、その後続の湾曲可能部は、被検者の体組織と接触しないように自動的に制御される。また、抜去時においては、各湾曲可能部の姿勢は、挿入時に通過した経路に沿うように自動的に制御されるため、使用者は、湾曲可能部の姿勢を操作しなくてもよい。このように、先頭追従制御を用いることによって、連続体ロボットの挿入時・抜去時における使用者の負担を軽減することができる。
特許文献2には、コンピュータ断層撮影(CT)スキャン、磁気共鳴イメージング(MRI)スキャン、及び同様のもの等を使用して生成されるような患者の解剖学的構造の画像を用いて、手術前又は手術中にナビゲーション経路を決定して、自動ナビゲーションする方法が開示されている。
先頭追従制御の実装形態の1つにおいては、連続体ロボットの前進時に先頭の湾曲可能部の姿勢を後続の湾曲可能部の姿勢に伝搬させるため、先頭の湾曲可能部の姿勢と、連続体ロボットの挿入距離とを、姿勢メモリに記憶する処理が行われている。ここで、連続体ロボットの挿入距離とは、例えば体内(体腔)への挿入開始位置を0として、連続体ロボットが前進するごとに増加する値のことである。
連続体ロボットを体内(体腔)に十分挿入した後に、検査等のために、連続体ロボットの先頭に配置されたカメラで辺りを確認する操作がある。この操作では、連続体ロボットの前進を行わずに先頭から数か所の湾曲可能部を湾曲させて、検査対象の全域を視野に入れて確認する操作(以下、「見回し操作」と記載する)が行われる。ここで、上述した姿勢メモリに先頭の湾曲可能部の姿勢を記憶する処理は、連続体ロボットの前進時のみに行われるため、姿勢メモリに記憶された姿勢と、見回し操作後の姿勢とが乖離する。この状態で、連続体ロボットの前進または後退を行うと、制御が姿勢メモリに記憶された姿勢に戻ってしまうため、連続体ロボットの湾曲可能部が急峻な湾曲動作を伴うことがある。この点、特許文献1には、連続体ロボットの前進時または後退時に、上述した急峻な湾曲動作の回避方法については言及されていない。また、特許文献2では、後退時に、外力に倣う制御を行うか、経路を再生成するかの2つの方法が示されているが、いずれか1つをデフォルト状態として選択する必要があり、常に外力が少ない状態で前進、後退できるわけではなかった。
本発明は、このような問題点に鑑みてなされたものであり、連続体ロボットの前進時または後退時に、急峻な湾曲動作を回避しつつ、外力が少ない状態で前進または後退することが可能で且つ操作が簡単な連続体ロボットを提供することを目的とする。
本発明の連続体ロボットは、長尺方向に直列に設けられ、それぞれが湾曲可能な複数の湾曲可能部と、前記複数の湾曲可能部を前記長尺方向に前進または後退させる前進後退部と、前記複数の湾曲可能部におけるそれぞれの湾曲可能部を湾曲させてその姿勢を変更する姿勢変更部と、前記複数の湾曲可能部におけるそれぞれの湾曲可能部について前記姿勢を記憶する記憶部と、前記前進後退部による前記前進または前記後退を検出した際に、前記複数の湾曲可能部における少なくとも1つの湾曲可能部の姿勢である第1の姿勢が、前記記憶部に記憶されている前記少なくとも1つの湾曲可能部の姿勢である第2の姿勢に対して所定以上乖離している場合、前記姿勢変更部に対する前記第1の姿勢の変更制御として、指定された姿勢に変更する第1の制御から外力に倣って姿勢を変更する第2の制御に、切り替えまたは連続的に遷移させる制御部と、を有する。
また、本発明は、上述した連続体ロボットの制御方法、及び、当該制御方法におけるステップをコンピュータに実行させるためのプログラムを含む。
また、本発明は、上述した連続体ロボットの制御方法、及び、当該制御方法におけるステップをコンピュータに実行させるためのプログラムを含む。
本発明によれば、連続体ロボットの前進時または後退時に、急峻な湾曲動作を回避しつつ、外力が少ない状態で前進または後退することが可能で且つ操作が簡単な連続体ロボットを実現することができる。
以下に、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
まず、本発明の第1の実施形態について説明する。
図1は、本発明の第1の実施形態に係る連続体ロボット100の概略構成の一例を示す図である。連続体ロボット100は、長尺方向に直列に設けられ、それぞれが湾曲可能な複数の湾曲可能部26S1~26S9を備えている。本実施形態においては、複数の湾曲可能部26S1~26S9において、最も遠位端の側から順番に、湾曲可能部26S1、湾曲可能部26S2、…と符号を付けており、最も近位端の側は、湾曲可能部26S9と定義する。なお、近位端の側とは、ワイヤ駆動部25がある側である。また、湾曲可能部26S1の区間をSec1、湾曲可能部26S2の区間をSec2というように、湾曲可能部26S9の区間をSec9と定義する。なお、湾曲可能部26は、9個に限定されるものではなく、任意のN個に拡張することができる。本明細書においては、どの区間の湾曲可能部26かを区別する場合には、S1、S2、…、S9の補助符号をつけて特定する。また、どの区間かを特定する必要が無い場合には、S1等の補助符号をつけず、単に「湾曲可能部26」などと表現する。この表現は、湾曲可能部26以外の構成部についても、同様とする。
ここで、複数の湾曲可能部26S1~26S9のうち、代表して湾曲可能部26S1の説明を行う。
湾曲可能部26S1は、Sec1で示す区間である。湾曲可能部26S1は、ワイヤ204A1、ワイヤ204B1及びワイヤ204C1を備えている。本明細書においては、この3本のワイヤが重要である。ワイヤ204A1、ワイヤ204B1及びワイヤ204C1に対応したワイヤ駆動部25を、ワイヤ駆動部25A1、ワイヤ駆動部25B1及びワイヤ駆動部25C1などと、補助符号A、B、Cをつけて特定する。また、Sec9においては、ワイヤ204は、ワイヤ204A9、ワイヤ204B9及びワイヤ204C9と表現し、それに対応するワイヤ駆動部25は、それぞれ、ワイヤ駆動部25A9、ワイヤ駆動部25B9及びワイヤ駆動部25C9と表現する。この表現は、ワイヤ駆動部25以外の構成部についても、同様とする。また、ワイヤ駆動部25A1、ワイヤ駆動部25B1及びワイヤ駆動部25C1の3つをまとめて取り扱う場合には、「ワイヤ駆動部25S1」などと表現する。
湾曲可能部26S1は、Sec1で示す区間である。湾曲可能部26S1は、ワイヤ204A1、ワイヤ204B1及びワイヤ204C1を備えている。本明細書においては、この3本のワイヤが重要である。ワイヤ204A1、ワイヤ204B1及びワイヤ204C1に対応したワイヤ駆動部25を、ワイヤ駆動部25A1、ワイヤ駆動部25B1及びワイヤ駆動部25C1などと、補助符号A、B、Cをつけて特定する。また、Sec9においては、ワイヤ204は、ワイヤ204A9、ワイヤ204B9及びワイヤ204C9と表現し、それに対応するワイヤ駆動部25は、それぞれ、ワイヤ駆動部25A9、ワイヤ駆動部25B9及びワイヤ駆動部25C9と表現する。この表現は、ワイヤ駆動部25以外の構成部についても、同様とする。また、ワイヤ駆動部25A1、ワイヤ駆動部25B1及びワイヤ駆動部25C1の3つをまとめて取り扱う場合には、「ワイヤ駆動部25S1」などと表現する。
湾曲可能部26S1の説明に戻る。
湾曲可能部26S1は、上述したように、ワイヤ204A1、ワイヤ204B1及びワイヤ204C1を備えている。ワイヤ204A1~ワイヤ204C1を押し引きすることにより、紙面の上下前後方向に湾曲可能部26S1を湾曲させることができる。ワイヤ204A1~ワイヤ204C1は、ワイヤ固定部205S1を介して、円板210S1に固定されている。ワイヤ204A1~ワイヤ204C1は、穴の開いた円板206に案内され、ワイヤ駆動部25A1~ワイヤ駆動部25C1まで導かれる。
湾曲可能部26S1は、上述したように、ワイヤ204A1、ワイヤ204B1及びワイヤ204C1を備えている。ワイヤ204A1~ワイヤ204C1を押し引きすることにより、紙面の上下前後方向に湾曲可能部26S1を湾曲させることができる。ワイヤ204A1~ワイヤ204C1は、ワイヤ固定部205S1を介して、円板210S1に固定されている。ワイヤ204A1~ワイヤ204C1は、穴の開いた円板206に案内され、ワイヤ駆動部25A1~ワイヤ駆動部25C1まで導かれる。
2つ目の湾曲可能部26S2は、Sec2で示す区間である。湾曲可能部26S1と同様に、ワイヤ204A2~ワイヤ204C2を押し引きすることにより、紙面の上下前後方向に湾曲可能部26S2を湾曲させることができる。ワイヤ204A2~ワイヤ204C2は、ワイヤ固定部205S2を介して、円板210S2に固定されている。ワイヤ204A2~ワイヤ204C2は、穴の開いた円板206に案内され、ワイヤ駆動部25A2~ワイヤ駆動部25C2まで導かれる。
同様の機構を長尺方向に9個直列に並べることにより、複数の湾曲可能部26S1~26S9が構成されている。本実施形態では、長尺方向に直列に連続するように設けられている複数の湾曲可能部26のうち、ワイヤ駆動部25から最も遠い湾曲可能部26S1を「遠位端湾曲可能部」と称し、ワイヤ駆動部25に最も近い湾曲可能部26S9を「近位端湾曲可能部」と称する。
ワイヤ駆動部25について説明する。
ワイヤ駆動部25A1は、ステージ209A1を前後に駆動することで、ワイヤ204A1を押し引きすることができる。ワイヤ204A1は、張力センサ207A1を介して、ステージ209A1に固定されている。ステージ209A1は、アクチュエータ201A1を回転せることで駆動することができる。ステージ209A1の位置は、位置検出器202A1で検出することができる。ステージ209A1の位置は、「PosA1」と呼ぶこととする。また、ワイヤ204A1の張力は、張力センサ207A1において測定することができ、測定値は「ForceA1」(図示せず)と呼ぶこととする。ここでは、ワイヤ駆動部25A1について説明したが、他のワイヤ駆動部25についても同様である。
ワイヤ駆動部25A1は、ステージ209A1を前後に駆動することで、ワイヤ204A1を押し引きすることができる。ワイヤ204A1は、張力センサ207A1を介して、ステージ209A1に固定されている。ステージ209A1は、アクチュエータ201A1を回転せることで駆動することができる。ステージ209A1の位置は、位置検出器202A1で検出することができる。ステージ209A1の位置は、「PosA1」と呼ぶこととする。また、ワイヤ204A1の張力は、張力センサ207A1において測定することができ、測定値は「ForceA1」(図示せず)と呼ぶこととする。ここでは、ワイヤ駆動部25A1について説明したが、他のワイヤ駆動部25についても同様である。
連続体ロボット100は、複数の湾曲可能部26S1~26S9を長尺方向に前進または後退させる前進後退部14も備えている。前進後退部14は、複数のワイヤ駆動部25を搭載したZステージ213を前進または後退させることで、全てのワイヤ204を前進または後退させることができる。Zステージ213は、アクチュエータ211を回転させることで駆動することができる。Zステージ213の位置は、位置検出器212で検出することができる。Zステージ213の位置は、「PosZ」と呼ぶこととする。
なお、アクチュエータ201、アクチュエータ211は、回転モータなどが使用できる。また、位置検出器202、位置検出器212は、モータ付属のエンコーダ等が使用できる。
図2は、本発明の第1の実施形態に係る連続体ロボット100の湾曲可能部26における湾曲角度を説明するための図である。この図2において、図1に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。本実施形態では、湾曲可能部26が湾曲した状態での湾曲可能部26の姿勢を、湾曲可能部26の湾曲角度及び旋回角度で定義する。図2に示すように、連続体ロボット100は、前進方向をZ座標の正と定義する。また、図2に示すように、湾曲可能部26ごとに、Z軸の方向は変化する。湾曲角度31は、湾曲可能部26ごとに相対的に定義されている。例えば、湾曲可能部26S1の湾曲角度31S1は、円板210S1の法線ベクトル301と、円板210S2の法線ベクトル302とのなす角度で定義される。同様に、湾曲可能部26S2の湾曲角度31S2は、円板210S2の法線ベクトル302と、円板210S3の法線ベクトル303とのなす角度で定義される。他の湾曲可能部26についても同様である。
図3は、本発明の第1の実施形態に係る連続体ロボット100の湾曲可能部26における旋回角度を説明するための図である。図3は、湾曲可能部26の湾曲角度31が60度の条件で、旋回角度32が、0度、180度、270度であるときを図示している。
図4は、本発明の第1の実施形態に係る連続体ロボット100の制御系における概略構成の一例を示す図である。この図4を用いて、前進時の操作について説明する。
入力装置10は、操縦者からの入力に基づいて、湾曲可能部26の湾曲目標角度101及び旋回目標角度102を生成する。入力選択部22は、湾曲目標角度101及び旋回目標角度102を、区間Sec1~Sec9のうちのどの区間Secに対しての目標角度かを決定する。
入力装置10は、操縦者からの入力に基づいて、湾曲可能部26の湾曲目標角度101及び旋回目標角度102を生成する。入力選択部22は、湾曲目標角度101及び旋回目標角度102を、区間Sec1~Sec9のうちのどの区間Secに対しての目標角度かを決定する。
図5は、図4に示す入力選択部22の概略構成の一例を示す図である。この図5において、図4に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。
入力選択部22は、図5に示すように、湾曲目標角度101と旋回目標角度102を選択するために、湾曲目標角度処理部503及び旋回目標角度処理部504を備えている。ここでは、湾曲目標角度処理部503を例に説明する。入力選択部22は、各湾曲可能部26(図1参照)に対応する選択スイッチ502を備えている。選択スイッチ502によって、自己保持部501、入力装置10、姿勢メモリ19の3入力の中から1つを選択する。選択した信号は、順運動学演算部23に入力する。また、入力選択部22は、各湾曲可能部26に対応する自己保持部501も備えている。自己保持部501は、入力データを記憶し、記憶したデータを1サンプリング遅れで出力する機能を持つ。前進時は、基本的に、以下の表1に示すように、選択スイッチ502を選択する。
姿勢メモリ19について説明する。
姿勢メモリ19は、複数の湾曲可能部26S1~26S9におけるそれぞれの湾曲可能部26について姿勢を記憶する記憶部である。具体的に、姿勢メモリ19は、配列構造をしており、それぞれの湾曲可能部26(図1参照)の姿勢として、それぞれの湾曲可能部26に対応した湾曲角度と旋回角度を格納して記憶する。例えば、姿勢メモリ19のアドレスM1には、湾曲可能部26S1に対応した湾曲角度と旋回角度を格納し、アドレスM2は、湾曲可能部26S2に対応した湾曲角度と旋回角度を格納する。他の姿勢メモリ19の各アドレスMも同様に格納する。また、姿勢メモリ19において、アドレスM10以降は、対応する湾曲可能部26が存在しないが、後述する先頭追従制御のための格納領域である。なお、湾曲可能部26と姿勢メモリ19の各データは、必ずしも1対1ではなくてもよく、1つの湾曲可能部26に対応する姿勢メモリ19は、少なくとも10データぐらいあった方が、滑らかな動作には望ましい。これについては、図6を用いて後述する。
姿勢メモリ19は、複数の湾曲可能部26S1~26S9におけるそれぞれの湾曲可能部26について姿勢を記憶する記憶部である。具体的に、姿勢メモリ19は、配列構造をしており、それぞれの湾曲可能部26(図1参照)の姿勢として、それぞれの湾曲可能部26に対応した湾曲角度と旋回角度を格納して記憶する。例えば、姿勢メモリ19のアドレスM1には、湾曲可能部26S1に対応した湾曲角度と旋回角度を格納し、アドレスM2は、湾曲可能部26S2に対応した湾曲角度と旋回角度を格納する。他の姿勢メモリ19の各アドレスMも同様に格納する。また、姿勢メモリ19において、アドレスM10以降は、対応する湾曲可能部26が存在しないが、後述する先頭追従制御のための格納領域である。なお、湾曲可能部26と姿勢メモリ19の各データは、必ずしも1対1ではなくてもよく、1つの湾曲可能部26に対応する姿勢メモリ19は、少なくとも10データぐらいあった方が、滑らかな動作には望ましい。これについては、図6を用いて後述する。
図4の説明に戻る。
続いて、順運動学演算部23の説明を行う。本実施形態では、各湾曲可能部26(図1参照)への湾曲目標角度28と旋回目標角度29を入力として、全てのワイヤ204(図1参照)がとるべき位置指令(RefPos)を出力することを順運動学と定義する。そして、この順運動学の演算を行うのが順運動学演算部23である。ワイヤ204(図1参照)をとるべき位置に移動させるのは、各ステージ209(図1参照)によって行う。
続いて、順運動学演算部23の説明を行う。本実施形態では、各湾曲可能部26(図1参照)への湾曲目標角度28と旋回目標角度29を入力として、全てのワイヤ204(図1参照)がとるべき位置指令(RefPos)を出力することを順運動学と定義する。そして、この順運動学の演算を行うのが順運動学演算部23である。ワイヤ204(図1参照)をとるべき位置に移動させるのは、各ステージ209(図1参照)によって行う。
続いて、姿勢変更部27の説明を行う。
姿勢変更部27は、この目標位置(RefPos)を制御することで、複数の湾曲可能部26S1~26S9におけるそれぞれの湾曲可能部26を湾曲させて、湾曲可能部26の姿勢を変更する。具体例として、姿勢変更部27A1について説明する。姿勢変更部27A1では、ステージ209A1(図1参照)の現在位置(PosA1)を目標値にするために、位置フィードバック制御を行う。即ち、姿勢変更部27A1は、目標位置(RefPosA1)から現在位置(PosA1)を減算して位置偏差を計算し、位置偏差に対してゲインKsvを乗算して、力目標値(RefForceA1)を算出する。この際、力目標値(RefForceA1)をそのままワイヤ駆動部25A1に加えても位置制御は成立するが、外力に倣う制御を行うために、本実施形態においては、力フィードバックも行っている。即ち、姿勢変更部27A1は、力目標値(RefForceA1)から張力センサ207A1(図1参照)の測定値(ForceA1)を減算して力偏差を求め、力偏差にゲインKfを乗算して、指令電流(RefCurrentA1)を算出し、ワイヤ駆動部25A1に加えている。ここでは、姿勢変更部27A1について説明したが、その他の姿勢変更部27の制御も同様である。なお、姿勢変更部27A1、姿勢変更部27B1、姿勢変更部27C1の3つをまとめたものを、姿勢変更部27S1と表現する。
姿勢変更部27は、この目標位置(RefPos)を制御することで、複数の湾曲可能部26S1~26S9におけるそれぞれの湾曲可能部26を湾曲させて、湾曲可能部26の姿勢を変更する。具体例として、姿勢変更部27A1について説明する。姿勢変更部27A1では、ステージ209A1(図1参照)の現在位置(PosA1)を目標値にするために、位置フィードバック制御を行う。即ち、姿勢変更部27A1は、目標位置(RefPosA1)から現在位置(PosA1)を減算して位置偏差を計算し、位置偏差に対してゲインKsvを乗算して、力目標値(RefForceA1)を算出する。この際、力目標値(RefForceA1)をそのままワイヤ駆動部25A1に加えても位置制御は成立するが、外力に倣う制御を行うために、本実施形態においては、力フィードバックも行っている。即ち、姿勢変更部27A1は、力目標値(RefForceA1)から張力センサ207A1(図1参照)の測定値(ForceA1)を減算して力偏差を求め、力偏差にゲインKfを乗算して、指令電流(RefCurrentA1)を算出し、ワイヤ駆動部25A1に加えている。ここでは、姿勢変更部27A1について説明したが、その他の姿勢変更部27の制御も同様である。なお、姿勢変更部27A1、姿勢変更部27B1、姿勢変更部27C1の3つをまとめたものを、姿勢変更部27S1と表現する。
以上により、入力装置10を用いて、任意の湾曲可能部26について湾曲及び旋回のうちの少なくとも1つを行うことができる。
次に、先頭追従制御について説明する。
先頭追従制御とは、前進するたびに、遠位端湾曲可能部の姿勢を近位側に位置する湾曲可能部へ伝搬させ、後退する場合には、近位端湾曲可能部の姿勢を遠位端側に位置する湾曲可能部へ伝搬させる制御のことである。これにより、操縦者は、遠位端湾曲可能部のみを操作すればよく、操縦による負荷を軽減させることができる。
先頭追従制御とは、前進するたびに、遠位端湾曲可能部の姿勢を近位側に位置する湾曲可能部へ伝搬させ、後退する場合には、近位端湾曲可能部の姿勢を遠位端側に位置する湾曲可能部へ伝搬させる制御のことである。これにより、操縦者は、遠位端湾曲可能部のみを操作すればよく、操縦による負荷を軽減させることができる。
この先頭追従制御について、図4を用いて説明する。
先頭追従制御を行うためには、遠位端湾曲可能部の姿勢情報である湾曲角度17S1と旋回角度18S1を記憶する必要がある。姿勢情報は、記憶部である姿勢メモリ19の配列の各要素に記憶される(記憶された姿勢)。本実施形態においては、各湾曲可能部26(図1参照)の姿勢は、湾曲角度17と旋回角度18という形で記憶される。また、本実施形態では、姿勢変更部27の位置指令(RefPos)または位置(Pos)から湾曲角度17と旋回角度18を求めることを逆運動学と定義する。逆運動学の演算を行うのが逆運動学演算部24である。逆運動学演算部24で求めた湾曲角度17と旋回角度18のうち、遠位端湾曲可能部の湾曲角度17S1と旋回角度18S1は、姿勢メモリ19の配列の要素M1に常時書き込まれる。
先頭追従制御を行うためには、遠位端湾曲可能部の姿勢情報である湾曲角度17S1と旋回角度18S1を記憶する必要がある。姿勢情報は、記憶部である姿勢メモリ19の配列の各要素に記憶される(記憶された姿勢)。本実施形態においては、各湾曲可能部26(図1参照)の姿勢は、湾曲角度17と旋回角度18という形で記憶される。また、本実施形態では、姿勢変更部27の位置指令(RefPos)または位置(Pos)から湾曲角度17と旋回角度18を求めることを逆運動学と定義する。逆運動学の演算を行うのが逆運動学演算部24である。逆運動学演算部24で求めた湾曲角度17と旋回角度18のうち、遠位端湾曲可能部の湾曲角度17S1と旋回角度18S1は、姿勢メモリ19の配列の要素M1に常時書き込まれる。
なお、遠位端湾曲可能部の湾曲角度17S1と旋回角度18S2を求めるために、全ての姿勢変更部27の位置指令(RefPos)または位置(Pos)を用いる必要があるのは、ワイヤ204(図1参照)が円筒の中心を通らない場合があるからである。例えば、中間の湾曲可能部26(図1参照)が湾曲している場合、湾曲の外側を通るワイヤ204は、湾曲の内側を通るワイヤ204よりも多くの長さを必要する。それゆえ、遠位端湾曲可能部の3本のワイヤ204の位置(PosA1)、位置(PosB1)及び位置(PosC1)だけでは、遠位端湾曲可能部の湾曲角度17S1と旋回角度18S1を計算できない。なお、位置指令(RefPos)または位置(Pos)のどちらの信号が、逆運動学演算部24に伝達されるかは、位置選択部30によって決定される。後述する姿勢変更部27の制御モードが、位置制御の場合には、位置指令(RefPos)が選択され、バックドライバブル制御の場合には、位置(Pos)が選択される。ここで、バックドライバブル制御とは、外力に倣って姿勢を変更する制御のことである。
次に、前進するときの処理を説明する。
前進は、操縦者が入力装置13を操作することによって行われる。前進の操作が行なわれると、前進後退部14のZステージ213(図1参照)が前進して、全てのワイヤ204(図1参照)が前進する。これによって、連続体ロボット100(図1参照)が前進する。先頭追従制御を行うためには、湾曲可能部26(図1参照)が1つ分進んだときに、姿勢を1つ分だけ近位側に伝搬させればよい。Zステージ213の位置を監視して、湾曲可能部26が1つ分進んだ時、姿勢メモリ19を伝搬処理20によって、湾曲可能部26の1つ分伝搬させる処理を行う。例えば、姿勢メモリ19のアドレスM11のデータをM12に複写し、M10のデータをM11に複写するなどである。この操作を繰り返し、M1のデータをM2に複写する操作が完了すれば、伝搬処理20が完了する。なお例示のために、M11のデータをM12に複写する説明から開始したが、確保した姿勢メモリ19の配列全領域で行うべきあり、配列数がN個ならば、M(N-1)のデータをMNに複写する処理から開始する必要がある。
前進は、操縦者が入力装置13を操作することによって行われる。前進の操作が行なわれると、前進後退部14のZステージ213(図1参照)が前進して、全てのワイヤ204(図1参照)が前進する。これによって、連続体ロボット100(図1参照)が前進する。先頭追従制御を行うためには、湾曲可能部26(図1参照)が1つ分進んだときに、姿勢を1つ分だけ近位側に伝搬させればよい。Zステージ213の位置を監視して、湾曲可能部26が1つ分進んだ時、姿勢メモリ19を伝搬処理20によって、湾曲可能部26の1つ分伝搬させる処理を行う。例えば、姿勢メモリ19のアドレスM11のデータをM12に複写し、M10のデータをM11に複写するなどである。この操作を繰り返し、M1のデータをM2に複写する操作が完了すれば、伝搬処理20が完了する。なお例示のために、M11のデータをM12に複写する説明から開始したが、確保した姿勢メモリ19の配列全領域で行うべきあり、配列数がN個ならば、M(N-1)のデータをMNに複写する処理から開始する必要がある。
複写が完了すると、遠位端湾曲可能部に後続する後続の湾曲可能部26(図1参照)は、姿勢メモリ19から読み出した湾曲目標角度37と旋回目標角度38によって制御することになり、姿勢が伝搬する。先頭追従制御の場合、基本的に入力装置10の出力は、入力選択部22によって、遠位端湾曲可能部への目標値として選択されているため、後続の湾曲可能部26への湾曲目標角度28と旋回目標角度29は、入力選択部22に阻害されず姿勢メモリ19から読み込まれる。
なお、本実施形態では、姿勢メモリ19の複写によって姿勢を伝搬する例を示したが、複写ではなく、姿勢メモリ19の参照位置の変更によって伝搬を実現することも可能である。例えば、図4では、湾曲可能部26S1、湾曲可能部26S2、…、湾曲可能部26S9が、姿勢メモリ19のアドレスM1、M2、…、M9に対応しているが、これを、M2、M3、…、M10のように対応関係を変更するだけでも伝搬は可能である。
後退する場合も同様であり、後退は、操縦者が入力装置13を操作することによって行われる。後退の操作が行なわれると、前進後退部14のZステージ213(図1参照)が後退して、全てのワイヤ204(図1参照)が後退する。後退時の姿勢の伝搬は、湾曲可能部26(図1参照)が1つ分後退したときに、姿勢を1つ分だけ遠位側に伝搬させればよい。Zステージ213の位置を監視して、湾曲可能部26が1つ分後退したとき、姿勢メモリ19を伝搬処理21によって、湾曲可能部26の1つ分伝搬させる処理を行う。この操作は、姿勢メモリのアドレスM2のデータをM1に複写し、M3のデータをM2に複写し、…、MNのデータをM(N-1)に複写する操作まで行えばよい。以降の処理は、前進時と同様である。なお、後退時においては、入力選択部22は、以下の表2に示すように、全ての湾曲可能部26において、姿勢メモリ19からの目標値を選択することが望ましい。
図6は、本発明の第1の実施形態に係る連続体ロボット100の制御系を示し、先頭追従制御をより滑らかに行うための構成例を示す図である。この図6において、図4及び図5に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。
図4においては、説明の簡略化のために、Zステージ213の位置を監視して、湾曲可能部26が1つ分移動したときに、伝搬処理を行うことを説明したが、伝搬処理をより細かく行うこともできる。例えば、図6に示すように、姿勢メモリ19をより細かく分割して、湾曲可能部26の1つ分より少ない量だけZステージ213(図1参照)が前進したときに、伝搬処理20を実施してもよい。同様に、湾曲可能部26の1つ分より少ない量だけZステージ213が後退したときに伝搬処理21を実施してもよい。この場合、遠位端湾曲可能部の姿勢がより細かく姿勢メモリ19に記憶されることになる。また、湾曲目標角度37と旋回目標角度38の算出に、図6に示す円滑化部600を利用することできる。円滑化部600は、姿勢メモリ19上を伝搬している複数の配列の要素を姿勢情報入力として、平滑化処理を行うことができる。この平滑化処理は、例えば、算術平均を計算する処理などが適用できる。これにより、操縦者が急峻な操作を行ったとしても、円滑化部600で円滑化が行われるため、滑らかな動作となる。以上が、先頭追従制御についての説明である。
図7は、本発明の第1の実施形態に係る連続体ロボット100の後退時を説明するための図である。この図7において、図1及び図2に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。ここでは、検査対象の全域を視野に入れて確認する操作である見回し操作と、その後の後退操作についての説明を行う。なお、遠位端湾曲可能部の姿勢の姿勢メモリ19への記憶は、前進時のみに行われるため、姿勢メモリ19に記憶された姿勢と、見回し操作後の姿勢とが乖離する。この状態で、前進または後退を行うと、姿勢メモリ19に記憶された姿勢に戻ってしまうため、急峻な湾曲動作を伴うことがある。この急峻な湾曲動作を回避する方法について説明する。
図7(a)は、連続体ロボット100の湾曲可能部26の前進が完了したときの図である。ここでは、ある程度柔軟性を持った配管の中を移動することを想定する。操縦者は、カメラ視野701を確認しながら、壁面から外力が少ない軌跡を選択して前進している。
図7(b)は、見回し操作のために、湾曲可能部26S2と湾曲可能部26S3を湾曲させた状態である。このとき、各湾曲可能部26を湾曲させる姿勢変更部27(図4参照)は、位置制御を行っているため、図7(a)に比べて壁面からの外力702が大きくなる。なお、湾曲可能部26S2と湾曲可能部26S3を湾曲させる操作は、入力選択部22(図5参照)の選択スイッチ502を切り替えて行う。湾曲可能部26S2を操作する場合、入力選択部22の選択スイッチ502(図5参照)を、以下の表3に示すように切り替える。
なお、この操作は、操縦者からは、単に、入力選択部22(図5参照)を区間Sec1から区間Sec2に切り替える操作をするだけでよい。入力選択部22(図5参照)で選択されていた過去の湾曲可能部26(図1参照)は、自己保持部501に切り替えるように予めプログラムしておく。
この状態において、湾曲可能部26S2を所望の角度まで湾曲させる。次に、入力選択部22(図5参照)の選択スイッチ502(図5参照)を以下の表4に示すように切り替える。なお、この操作は、操縦者からは、単に、入力選択部22を区間Sec2から区間Sec3に切り替える操作である。
続いて、図7(c)に示すように、湾曲可能部26S3を旋回706させ、見回し操作を行う。ちなみに、2点鎖線で示した姿勢707は、旋回706を行う前の連続体ロボット100の湾曲可能部26の姿勢を示している。図7(c)は、見回し操作を完了した状態を示している。このとき、姿勢メモリ19に記憶された湾曲可能部26の姿勢703と、各湾曲可能部26の姿勢とは、乖離している。この状態で後退操作を行うと急峻な動作が発生しまう。そこで、本実施形態では、図8に示すフローチャートの処理を行う。
図8は、本発明の第1の実施形態に係る連続体ロボット100の制御方法における処理手順の一例を示すフローチャートである。具体的に、図8は、所定の湾曲可能部26の姿勢の変更制御として、指定された姿勢に変更する位置制御(第1の制御)から外力に倣って姿勢を変更するバックドライバブル制御(第2の制御)への切り替え等を行うフローチャートである。この図8に示すフローチャートの処理は、主として、図4に示す制御切替部15(制御部)及び乖離判定部16で行われる。
まず、図8のSTEP(ステップ)100において、制御切替部15は、前進後退部14からの入力に基づいて、連続体ロボット100の湾曲可能部26の前進または後退を検出したか否かを判断する。この判断の結果、連続体ロボット100の湾曲可能部26の前進または後退を検出していない場合には(STEP100/NO)、連続体ロボット100の湾曲可能部26の前進または後退を検出するまで、STEP100で待機する。
一方、STEP100の判断の結果、連続体ロボット100の湾曲可能部26の前進または後退を検出した場合には(STEP100/YES)、STEP101に進む。ここでは、連続体ロボット100の湾曲可能部26の後退を検出した場合について説明する。入力装置13(図4参照)を操縦者が操作することにより、前進後退部14(図4参照)のZステージ213(図1参照)が後退する。Zステージ213が後退すると、Zステージ213の位置(PosZ)(図1参照)が制御切替部15に入力される。制御切替部15は、位置(PosZ)を監視しており、ここでは後退を検出する。
STEP101に進むと、例えば乖離判定部16は、最も近位側の湾曲可能部26(図1に示す例では、湾曲可能部26S9)を選択する。
続いて、STEP102において、乖離判定部16は、選択されている湾曲可能部26の姿勢(第1の姿勢)と、姿勢メモリ19に記憶されている当該湾曲可能部26の姿勢703(図7参照:第2の姿勢)とが、所定以上乖離しているか否かを判断する。ここで、選択されている湾曲可能部26の姿勢(第1の姿勢)とは、アクチュエータ201の変位位置または回転量から逆運動学を用いた演算を行う逆運動学演算部24(図4参照)によって出力された湾曲角度17と旋回角度18に相当するものである。また、姿勢メモリ19に記憶されている当該湾曲可能部26の姿勢703(図7参照:第2の姿勢)とは、姿勢メモリ19(図4参照)から取り出した湾曲目標角度37(図4参照)と旋回目標角度38(図4参照)に相当するものである。
STEP102の判断の結果、選択されている湾曲可能部26の姿勢と姿勢メモリ19に記憶されている当該湾曲可能部26の姿勢703とが所定以上乖離していない場合には(STEP102/NO)、STEP103に進む。例えば図7に示す例において、選択されている湾曲可能部26が最も近位側の湾曲可能部26である場合には、STEP102では否定判断(NO)されて、STEP103に進むことになる。
STEP103に進むと、乖離判定部16は、全ての湾曲可能部26の確認が完了したか否かを判断する。
STEP103に進むと、乖離判定部16は、全ての湾曲可能部26の確認が完了したか否かを判断する。
STEP103の判断の結果、全ての湾曲可能部26については確認が完了していない場合には(STEP103/NO)、STEP104に進む。ここで、選択された湾曲可能部26が最も遠位側の湾曲可能部26S1であれば、STEP103/YESとなる。また、例えば選択された湾曲可能部26が、最も近位側の湾曲可能部26S9等の、湾曲可能部26S1以外の湾曲可能部26であれば、STEP103/NOとなり、STEP104に進むことになる。
STEP104に進むと、乖離判定部16は、選択中の湾曲可能部26に対して1つ遠位側の湾曲可能部26を選択する。その後、STEP102に戻り、STEP104で選択した湾曲可能部26について、STEP102以降の処理を行う。
STEP104に進むと、乖離判定部16は、選択中の湾曲可能部26に対して1つ遠位側の湾曲可能部26を選択する。その後、STEP102に戻り、STEP104で選択した湾曲可能部26について、STEP102以降の処理を行う。
また、STEP102の判断の結果、選択されている湾曲可能部26の姿勢と姿勢メモリ19に記憶されている当該湾曲可能部26の姿勢703とが所定以上乖離している場合には(STEP102/YES)、STEP105に進む。図7に示す例では、遠位側から3番目の湾曲可能部26S3までを操作したので、湾曲可能部26S3が選択された時点で、STEP102/YESとなり、STEP105に進むことになる。
STEP105に進むと、制御切替部15は、姿勢変更部27(図4参照)の制御系における変更制御として、指定された姿勢に変更するための位置制御(第1の制御)から外力に倣って姿勢を変更するバックドライバブル制御(第2の制御)に切り替える。具体的に、制御切替部15(図4参照)は、切り替え信号35(図4参照)によって、姿勢変更部27をKsv=0とすることで当該切り替えを行う。より詳細に、姿勢変更部27がKsv=0になると、位置指令(RefPos)が無視され、外力に倣う制御となる。ここで、STEP105の処理では、制御切替部15は、選択中の湾曲可能部26S3から遠位側の全ての湾曲可能部26をバックドライバブル制御に切り替えることが望ましい。したがって、本例では、制御切替部15は、姿勢変更部27S3、姿勢変更部27S2及び姿勢変更部27S1のKsvをKsv=0に設定する。
STEP105に進むと、制御切替部15は、姿勢変更部27(図4参照)の制御系における変更制御として、指定された姿勢に変更するための位置制御(第1の制御)から外力に倣って姿勢を変更するバックドライバブル制御(第2の制御)に切り替える。具体的に、制御切替部15(図4参照)は、切り替え信号35(図4参照)によって、姿勢変更部27をKsv=0とすることで当該切り替えを行う。より詳細に、姿勢変更部27がKsv=0になると、位置指令(RefPos)が無視され、外力に倣う制御となる。ここで、STEP105の処理では、制御切替部15は、選択中の湾曲可能部26S3から遠位側の全ての湾曲可能部26をバックドライバブル制御に切り替えることが望ましい。したがって、本例では、制御切替部15は、姿勢変更部27S3、姿勢変更部27S2及び姿勢変更部27S1のKsvをKsv=0に設定する。
続いて、STEP106において、例えば制御切替部15は、姿勢変更部27の制御系を制御系を位置制御からバックドライバブル制御に切り替えた時点でのZステージ213(図1参照)の位置(PosZ)を記憶する。さらに、例えば制御切替部15は、後述する必要前進距離1201(図12参照)と必要後退距離704(図7参照)を記憶する。ここで、必要前進距離1201と必要後退距離704は、一定距離となる。また、STEP106で記憶した情報は、後ほど、バックドライバブル制御から位置制御に戻すために使用される。
STEP106の処理が終了した場合、或いは、STEP103で全ての湾曲可能部26について確認が完了したと判断された場合には(STEP103/YES)、図8に示すフローチャートの処理を終了する。
また、見回し操作などを行わない場合には、STEP102において選択されている湾曲可能部26の姿勢と姿勢メモリ19に記憶されている当該湾曲可能部26の姿勢703とが所定以上乖離していないと判断され(STEP102/NO)、STEP103で全ての湾曲可能部26について確認が完了したと判断されて(STEP103/YES)、図8に示すフローチャートの処理が終了するため、バックドライバブル制御に切り替わることはない。
また、遠位端湾曲可能部は、前進中、入力装置10(図4参照)の入力が有効になっているが、図4で示す通り、遠位端湾曲可能部の湾曲角度17S1と旋回角度18S1は、姿勢メモリ19に常時書き込まれるため、乖離することはない。したがって、判定する必要もないため、区間Sec1を乖離判定部16(図4参照)の入力として含めていない。
再び、図7の説明に戻る。
図7(d)は、図8に示すフローチャートの処理が実行され、遠位端側から3番目までの湾曲可能部26をバックドライバブル制御に切り替えた状態を示している。図7(d)では、バックドライバブル制御が有効な湾曲可能部26を太線の破線で示し、位置制御が有効な湾曲可能部26を太線の実線で示している。
図7(d)は、図8に示すフローチャートの処理が実行され、遠位端側から3番目までの湾曲可能部26をバックドライバブル制御に切り替えた状態を示している。図7(d)では、バックドライバブル制御が有効な湾曲可能部26を太線の破線で示し、位置制御が有効な湾曲可能部26を太線の実線で示している。
次に、バックドライバブル制御から位置制御に戻す方法について説明する。
図8のSTEP106では、必要後退距離704を記憶している。必要後退距離704とは、その距離をZステージ213が後退したとき、湾曲可能部26を位置制御に戻すために使用する距離である。この必要後退距離704は、バックドライバブル制御になっている湾曲可能部26のそれぞれについて設定する。本例の場合、必要後退距離704は、湾曲可能部26S1から湾曲可能部26S3までについて設定し、図7(d)に示すように、必要後退距離704S1、必要後退距離704S2及び必要後退距離704S3となる。また、必要後退距離704は、バックドライバブル制御になっている湾曲可能部26のうち、最も近位側に近いものから順番に遠位側になるほど増加する。即ち、本例の場合、湾曲可能部26S3の必要後退距離704S3は、湾曲可能部26の1つ分の距離、湾曲可能部26S2の必要後退距離704S2は、湾曲可能部26の2つ分の距離、湾曲可能部26S1の必要後退距離704S1は、湾曲可能部26の3つ分の距離となる。
図8のSTEP106では、必要後退距離704を記憶している。必要後退距離704とは、その距離をZステージ213が後退したとき、湾曲可能部26を位置制御に戻すために使用する距離である。この必要後退距離704は、バックドライバブル制御になっている湾曲可能部26のそれぞれについて設定する。本例の場合、必要後退距離704は、湾曲可能部26S1から湾曲可能部26S3までについて設定し、図7(d)に示すように、必要後退距離704S1、必要後退距離704S2及び必要後退距離704S3となる。また、必要後退距離704は、バックドライバブル制御になっている湾曲可能部26のうち、最も近位側に近いものから順番に遠位側になるほど増加する。即ち、本例の場合、湾曲可能部26S3の必要後退距離704S3は、湾曲可能部26の1つ分の距離、湾曲可能部26S2の必要後退距離704S2は、湾曲可能部26の2つ分の距離、湾曲可能部26S1の必要後退距離704S1は、湾曲可能部26の3つ分の距離となる。
図9は、本発明の第1の実施形態に係る連続体ロボット100の制御方法における処理手順の一例を示すフローチャートである。具体的に、図9は、所定の条件が満たされた場合に、バックドライバブル制御(第2の制御)から位置制御(第1の制御)に復帰させるフローチャートである。
まず、図9のSTEP(ステップ)900において、例えば制御切替部15は、位置制御に戻すコマンドを受信したか否かを判断する。ここで、本実施形態では、操縦者による操作スイッチ(図示せず)の押下などによって、直ちに、全ての湾曲可能部26を位置制御に戻すことができるものとする。
STEP900の判断の結果、位置制御に戻すコマンドを受信していない場合には(STEP900/NO)、STEP901に進む。
STEP901に進むと、例えば制御切替部15は、バックドライバブル制御に変更した状態からZステージが前進したか否かを判断する。このSTEP901の判断は、図8のSTEP106で記憶したZステージ213(図1参照)の位置と、現在のZステージ213の位置(PosZ)(図1参照)とを比較することで判断することができる。
STEP901に進むと、例えば制御切替部15は、バックドライバブル制御に変更した状態からZステージが前進したか否かを判断する。このSTEP901の判断は、図8のSTEP106で記憶したZステージ213(図1参照)の位置と、現在のZステージ213の位置(PosZ)(図1参照)とを比較することで判断することができる。
STEP901の判断の結果、バックドライバブル制御に変更した状態からZステージが前進していない場合には(STEP901/NO)、STEP902に進む。図7に示す例では、後退しているため、STEP901/NOとなり、STEP902に進むことになる。
STEP902に進むと、例えば制御切替部15は、最も近位側のバックドライバブル制御を実行中の湾曲可能部26(図1参照)を選択する。図7に示す例では、湾曲可能部26S3が選択されることになる。
STEP902に進むと、例えば制御切替部15は、最も近位側のバックドライバブル制御を実行中の湾曲可能部26(図1参照)を選択する。図7に示す例では、湾曲可能部26S3が選択されることになる。
続いて、STEP903において、例えば制御切替部15は、STEP902で選択した湾曲可能部26が必要後退距離後退したか否かを判断する。本例では、必要後退距離704S3(図7参照)と後退距離705(図7参照)との比較を行う。
STEP903の判断の結果、STEP902で選択した湾曲可能部26が必要後退距離後退していない場合には(STEP903/NO)、STEP904に進む。図7(e)に示す例の場合、後退距離705よりも必要後退距離704S3の方が大きいので、STEP903/NOとなり、STEP904に進むことになる。ここで、後退距離705とは、図8のSTEP105の処理を実行して、バックドライバブル制御に切り替えた位置からZステージ213(図1参照)がどれだけ後退したかで定義される。
STEP904に進むと、例えば制御切替部15は、STEP902で選択した湾曲可能部26の姿勢と、姿勢メモリ19に記憶された当該湾曲可能部26の姿勢703との乖離が、閾値以下であるか否かを判断する。
STEP904に進むと、例えば制御切替部15は、STEP902で選択した湾曲可能部26の姿勢と、姿勢メモリ19に記憶された当該湾曲可能部26の姿勢703との乖離が、閾値以下であるか否かを判断する。
STEP904で姿勢に係る乖離が閾値以下であると判断された場合(STEP904/YES)、或いは、STEP903で必要後退距離後退したと判断された場合には(STEP903/YES)、STEP905に進む。ここで、図7(f)まで後退が行われると、後退距離705(図7参照)の方が必要後退距離704S3(図7参照)に比べて大きくなるため、STEP903/YESとなり、STEP905に進むことになる。
STEP905に進むと、制御切替部15は、STEP902で選択された湾曲可能部の制御系をバックドライバブル制御から位置制御に切り替える。図7に示す例では、STEP902で湾曲可能部26S3が選択されているため、姿勢変更部27S3(図4参照)をバックドライバブル制御から位置制御に切り替えることになる。具体的に、STEP905の切り替えは、姿勢変更部27S3のKsvに一定値を代入して位置制御に切り替える。
STEP905に進むと、制御切替部15は、STEP902で選択された湾曲可能部の制御系をバックドライバブル制御から位置制御に切り替える。図7に示す例では、STEP902で湾曲可能部26S3が選択されているため、姿勢変更部27S3(図4参照)をバックドライバブル制御から位置制御に切り替えることになる。具体的に、STEP905の切り替えは、姿勢変更部27S3のKsvに一定値を代入して位置制御に切り替える。
STEP905の処理が終了した場合、或いは、STEP904で姿勢に係る乖離が閾値以下でないと判断された場合(STEP904/NO)には、STEP906に進む。
STEP906に進むと、制御切替部15は、全ての湾曲可能部26が位置制御であるか否かを判断する。
STEP906に進むと、制御切替部15は、全ての湾曲可能部26が位置制御であるか否かを判断する。
STEP906の判断の結果、全ての湾曲可能部26については位置制御でない場合には(STEP906/NO)、STEP900に戻る。本例では、姿勢変更部27S1、姿勢変更部27S2及び姿勢変更部27S3に係る湾曲可能部26S1~26S3がバックドライバブル制御のため、STEP906/NOとなり、STEP900に戻ることになる。
一方、STEP906の判断の結果、全ての湾曲可能部26について位置制御である場合には(STEP906/YES)、図9のフローチャートの処理を終了する。図7に示す例では、図7(g)まで後退すると、全ての必要後退距離704よりも後退距離705の方が大きくなるため、STEP905で全ての姿勢変更部27(図4参照)が位置制御に戻り、その結果、STEP906/YESとなって図9のフローチャートの処理が終了する。
ここで、図9のSTEP904において、STEP902で選択した湾曲可能部26の姿勢と、姿勢メモリ19に記憶された当該湾曲可能部26の姿勢703との乖離が、閾値以下と判断される例について説明する。
図10は、本発明の第1の実施形態に係る連続体ロボット100の後退時を説明するための図であって、外力702によって姿勢変更部27の制御が位置制御に戻る一例を示す図である。この図10において、図7に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。また、図10(e)は、図7(e)と同じ状態を示している。
図10(e)に示す外力702によって、湾曲可能部26S3の姿勢が、姿勢メモリ19に記憶された湾曲可能部26S3の姿勢703に近づくとする。この場合、図9のSTEP904では、湾曲可能部26S3の姿勢と姿勢メモリ19に記憶した湾曲可能部26S3の姿勢703との乖離が閾値以下と判断されて、STEP905に進むことになる。これにより、姿勢変更部27S3が位置制御に変更される。この状態は、図10(e2)に示したものである。
次いで、本実施形態では、湾曲可能部26S2の姿勢と姿勢メモリ19に記憶した湾曲可能部26S2の姿勢703との乖離が閾値以下であるか否かが判断される。外力702によって、閾値以下になると、姿勢変更部27S2が位置制御に変更されることになる。この状態は、図10(e3)に示したものである。同様に、遠位端湾曲可能部の姿勢変更部27S1が位置制御になると、図9のSTEP906/YESとなり、図9のフローチャートの処理が終了することになる。
なお、図9のSTEP904の判断は、湾曲角度17(図4参照)及び旋回角度18(図4参照)と、湾曲目標角度37(図4参照)及び旋回目標角度38(図4参照)とを直接比較してもよいが、3次元空間上で距離を計算して判断してもよい。
図11は、図9のSTEP904における姿勢の乖離判定方法の一例を示す図である。湾曲可能部26の姿勢1100と姿勢メモリ19に記憶された姿勢1101の片側を同一点上に固定し、例えば制御切替部15は、湾曲角度17及び旋回角度18と湾曲目標角度37及び旋回目標角度38とを用いて、3次元空間上でもう片側の位置を算出する。その後、例えば制御切替部15は、同一点側でない方の点の距離1102を算出する。最後に、例えば制御切替部15は、距離1102と閾値を比較することで、湾曲可能部26の姿勢1100と姿勢メモリ19に記憶された湾曲可能部26の姿勢1101との乖離を確認する。
なお、外力702による場合は、必ずしも、図9のSTEP904の湾曲可能部26の姿勢と姿勢メモリ19に記憶された湾曲可能部26の姿勢との乖離が閾値以下となる条件を満たすとは限らない。その場合は、後退させる方法で位置制御に戻すか、位置制御に戻すコマンドを送信する必要がある。以上が、本発明を適用した際の連続体ロボット100の後退時の説明である。
次に、連続体ロボット100の前進時の説明を行う。
図12は、本発明の第1の実施形態に係る連続体ロボット100の前進時を説明するための図である。この図12において、図7に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。また、図12(d)は、図7(d)と同じ状態を示している。以下、図9のフローチャートと図12を用いて、前進時のバックドライバブル制御から位置制御に戻す方法について説明する。
図12は、本発明の第1の実施形態に係る連続体ロボット100の前進時を説明するための図である。この図12において、図7に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。また、図12(d)は、図7(d)と同じ状態を示している。以下、図9のフローチャートと図12を用いて、前進時のバックドライバブル制御から位置制御に戻す方法について説明する。
図8のSTEP106では、図12(d)に示す必要前進距離1201を記憶している。この必要前進距離1201とは、その距離をZステージ213(図1参照)が前進したとき、湾曲可能部26を位置制御に戻す処理を行うための距離である。具体的に、必要前進距離1201は、バックドライバブル制御になっている湾曲可能部26の長さとなる。本例では、湾曲可能部26S1、湾曲可能部26S2及び湾曲可能部26S3がバックドライバブル制御になっているため、必要前進距離1201は、湾曲可能部26の3つ分の距離となる。
ここで、図9のフローチャートを見ながら説明する。
本例では、図9のSTEP900/NOの場合の例であるため、STEP901に進み、前進しているので、STEP901/YESとなり、STEP907に進む。STEP907において、例えば制御切替部15は、Zステージ213が必要前進距離1201を超えて前進したか否かを判断する。この判断の結果、必要前進距離1201を超えていない場合には(STEP907/NO)、STEP900に戻る。
本例では、図9のSTEP900/NOの場合の例であるため、STEP901に進み、前進しているので、STEP901/YESとなり、STEP907に進む。STEP907において、例えば制御切替部15は、Zステージ213が必要前進距離1201を超えて前進したか否かを判断する。この判断の結果、必要前進距離1201を超えていない場合には(STEP907/NO)、STEP900に戻る。
図12の説明に戻る。
図12(e)は、湾曲可能部26の1つ分の距離をZステージ213(図1参照)が前進した例を示す図である。このとき、必要前進距離1201までは進んでいないため、湾曲可能部26S1から湾曲可能部26S3は、位置制御には戻らない。他方、湾曲可能部26S4は、位置制御であり、姿勢メモリ19に記憶された姿勢703を目標値とする。先頭追従制御は有効なため、入力選択部22(図5参照)は、以下の表5の通りになっている。
図12(e)は、湾曲可能部26の1つ分の距離をZステージ213(図1参照)が前進した例を示す図である。このとき、必要前進距離1201までは進んでいないため、湾曲可能部26S1から湾曲可能部26S3は、位置制御には戻らない。他方、湾曲可能部26S4は、位置制御であり、姿勢メモリ19に記憶された姿勢703を目標値とする。先頭追従制御は有効なため、入力選択部22(図5参照)は、以下の表5の通りになっている。
このとき、区間Sec1は、入力装置10からの目標指令が有効となるが、該当する湾曲可能部26S1が、バックドライバブル制御であるので無視される。区間Sec2及びSec3は、姿勢メモリ19からの目標指令であるが、同様に、該当する湾曲可能部26S2及び湾曲可能部26S3が、バックドライバブル制御であるので無視される。
その替わり、遠位端湾曲可能部から3つ分までは、バックドライバブル制御となっているため、外力702によって、負荷が小さくなる姿勢に変化する。これを仮に、姿勢メモリ19に記憶された姿勢に近づくものとして図12に示す。具体的に、図12(e)からZステージ213(図1参照)を前進させない場合でも、姿勢は変化するため、図12(f)のようになる。なお、図12(d)から図12(e)の間で、遠位端湾曲可能部は、湾曲可能部1つ分進んでおり、姿勢メモリ19に遠位端湾曲可能部の姿勢が記憶される。湾曲可能部1つ分進んだことにより、姿勢メモリ19に記憶された姿勢は、姿勢1203である。図12において、姿勢メモリ19に記憶された姿勢703と姿勢1203は、不連続となっている。したがって、位置制御となっている湾曲可能部26S4が、姿勢メモリ19に記憶された姿勢1203に入る前に姿勢メモリ19の値を更新する必要がある。
図12(g)は、湾曲可能部26S4が姿勢メモリ19に記憶された姿勢1203に入る直前であり、必要前進距離1201に比べ、前進距離1202が小さい状態である。これよりも前進すると、必要前進距離1201に比べて前進距離1202が大きくなり、姿勢メモリ19(図4参照)を更新して、全てのバックドライバブル制御となっている姿勢変更部27(図4参照)が位置制御に戻される。
再び、図9の説明に戻る。
STEP907では、上述したように、Zステージ213が必要前進距離1201を超えて前進したか否かを判断する。この判断の結果、Zステージ213が必要前進距離1201を超えて前進した場合には(STEP907/YES)、STEP908に進む。
STEP908に進むと、連続体ロボット100の制御系は、軌道を再計算して姿勢メモリ19を更新する処理を行う。
STEP907では、上述したように、Zステージ213が必要前進距離1201を超えて前進したか否かを判断する。この判断の結果、Zステージ213が必要前進距離1201を超えて前進した場合には(STEP907/YES)、STEP908に進む。
STEP908に進むと、連続体ロボット100の制御系は、軌道を再計算して姿勢メモリ19を更新する処理を行う。
図13は、本発明の第1の実施形態に係る連続体ロボット100の制御系を示し、軌道を再計算して姿勢メモリ19を更新する処理を行うための構成例を示す図である。この図13において、図4~図6に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。
姿勢メモリ19の更新は、まず、逆運動学演算部24において、位置選択部30から渡される位置指令(RefPos)又は位置(Pos)を、それぞれの湾曲可能部26(図1参照)の湾曲角度17、旋回角度18に変換する。次に、補間部1301において、湾曲角度17、旋回角度18を補間して、姿勢メモリ19に書き込む手順となる。ここで、位置選択部30は、姿勢変更部27の制御モードが、位置制御の場合には位置指令(RefPos)を選択し、バックドライバブル制御の場合には位置(Pos)を選択する。この際、姿勢変更部27が位置制御の場合に位置指令(RefPos)を選択するのは、位置指令(RefPos)と位置(Pos)は、Forceのフィードバック制御によって乖離することがあるためである。外力が大きいとき、インナーループのバックドライバブル制御系の作用により、アウターループの位置制御の位置偏差1302が残った状態で、平衡状態になることがある。位置(Pos)を維持するためには、姿勢変更部27の目標位置は、位置指令(RefPos)である必要がある。したがって、位置選択部30は、姿勢変更部27が位置制御の場合、位置指令(RefPos)を選択する。
なお、外力が大きいときに、位置(Pos)が位置指令(RefPos)と一致せず、ある程度外力に倣う状態になることは、連続体ロボット100、及び、連続体ロボット100が接触している物体の保護に役立つ。
他方、姿勢変更部27がバックドライバブル制御の場合、Ksv=0となっており、位置指令(RefPos)は無視されている。したがって、位置選択部30は、位置指令(RefPos)を選択することはできず、位置(Pos)を選択する。
また、補間部1301は、姿勢メモリ19と湾曲可能部26が1対1でないときに、リサンプル処理を行う。図13では、湾曲可能部26が1に対して、複数の姿勢メモリ19が割り当てられており、Zステージ213(図1参照)の前進時に滑らかに動作するようになっている。リサンプル処理は、例えば、零次ホールド、線形補間、又は、スプライン補間などが使用できる。
再び、図9の説明に戻る。
STEP908において、軌道を再計算して姿勢メモリ19を更新すると、STEP909に進む。STEP909に進むと、制御切替部15は、全ての湾曲可能部26を位置制御に切り替える処理を行う。具体的に、制御切替部15は、姿勢変更部27(図4参照)のKsvに一定値を代入することで、バックドライバブル制御から位置制御に切り替える。この切り替えが完了すると、図8のフローチャートの処理が終了する。以上が、本発明を適用した際の連続体ロボット100の後退時の説明である。
STEP908において、軌道を再計算して姿勢メモリ19を更新すると、STEP909に進む。STEP909に進むと、制御切替部15は、全ての湾曲可能部26を位置制御に切り替える処理を行う。具体的に、制御切替部15は、姿勢変更部27(図4参照)のKsvに一定値を代入することで、バックドライバブル制御から位置制御に切り替える。この切り替えが完了すると、図8のフローチャートの処理が終了する。以上が、本発明を適用した際の連続体ロボット100の後退時の説明である。
また、一部の姿勢変更部27(図4参照)がバックドライバブル制御の場合において、操縦者が任意のタイミングで位置制御に戻すこともできる。操縦者は、押しボタンスイッチ(図示せず)などにより、任意のタイミングで位置制御に戻るコマンドを発行できる。すると、図9において、STEP900がYESとなり。すでに説明した、STEP908及びSTEP909の処理が行われ、全ての姿勢変更部27が位置制御に戻る。
以上説明した第1の実施形態に係る連続体ロボット100では、見回し操作後にZステージ213(図1参照)の前進又は後退を検出した際に、湾曲可能部26の姿勢(第1の姿勢)が、姿勢メモリ19に記載されている湾曲可能部26の姿勢703(図7参照:第2の姿勢)に対して所定以上乖離している場合、制御切替部15は、少なくとも1つの姿勢変更部27(図4参照)に対する湾曲可能部26の姿勢の変更制御として、指定された姿勢にする位置制御(第1の制御)から外力に倣って姿勢を変更するバックドライバブル制御(第2の制御)に切り替えるようにしている。
かかる構成によれば、連続体ロボットの見回し操作後の前進時または後退時に、姿勢メモリ19(図4参照)に記憶されている姿勢を用いることによる急峻な湾曲動作を回避することができる。さらに、連続体ロボットの前進時または後退時に急峻な湾曲動作を回避しつつ、外力が少ない状態で前進または後退することが可能で且つ操作が簡単な連続体ロボット100を実現することができる。
かかる構成によれば、連続体ロボットの見回し操作後の前進時または後退時に、姿勢メモリ19(図4参照)に記憶されている姿勢を用いることによる急峻な湾曲動作を回避することができる。さらに、連続体ロボットの前進時または後退時に急峻な湾曲動作を回避しつつ、外力が少ない状態で前進または後退することが可能で且つ操作が簡単な連続体ロボット100を実現することができる。
また、姿勢が所定以上乖離している湾曲可能部26から遠位側に位置している全ての湾曲可能部26について、姿勢変更部27(図4参照)の制御系を外力に倣って姿勢を変更するバックドライバブル制御(第2の制御)に切り替えることにより、位置制御の部分を残し、円滑に前進または後退を行うことが可能となる。
なお、本実施形態の前進後退部14(図4参照)は、アクチュエータ211(図1参照)で駆動する例を示しているが、アクチュエータを使用せず、ハンドル等を用いて手動で送ることもできる。その場合においても、位置検出器212(図1参照)があれば、前進及び後退を検出することができ、本発明を適用できる。
また、本実施形態では、1つの湾曲可能部26を3本のワイヤ204(図1参照)で駆動しているが、3本に限定されるものではない、例えば、1本のワイヤで押し引きする場合、湾曲自由度が2自由度から1自由度に減少するものの湾曲は可能である。
また、姿勢変更部27(図4参照)において、位置制御部にはゲインKsvを用い、バックドライバブル制御部にはゲインKfを用いているが、ゲインに限定されるものではない。例えば、KsvからCpos(s)などの構成要素に変更することが可能である。このCpos(s)には、PID制御とIIRフィルタの組み合わせなどが利用できる。同様に、KfもCforce(s)などの構成要素に変更することが可能である。位置制御からバックドライバブル制御に変更する場合、Cpos(s)の出力を0とする方法などが有効である。また、バックドライバブル制御から位置制御に戻す場合、Cpos(s)内の状態変数を0にクリアするなど工夫が必要である。
また,本実施形態では、制御切替部15は、姿勢変更部27(図4参照)のKsvに一定値から0を代入することで、位置制御からバックドライバブル制御に切り替える例を示したが、偏差、時間経過などに応じてKsvを連続的変化させることで、位置制御からバックドライバブル制御に連続的に遷移させることもできる。
同様に、本実施形態では、制御切替部15は、姿勢変更部27(図4参照)のKsvに0から一定値を代入することで、バックドライバブル制御から位置制御に切り替える例を示したが、偏差、時間経過などに応じてKsvを連続的変化させることもできる。この場合、バックドライバブル制御から位置制御に連続的に遷移させることができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。なお、以下に記載する第2の実施形態の説明では、上述した第1の実施形態と共通する事項については説明を省略し、上述した第1の実施形態と異なる事項について説明を行う。
次に、本発明の第2の実施形態について説明する。なお、以下に記載する第2の実施形態の説明では、上述した第1の実施形態と共通する事項については説明を省略し、上述した第1の実施形態と異なる事項について説明を行う。
図14は、本発明の第2の実施形態に係る連続体ロボット100の姿勢変更部27の概略構成の一例を示す図である。この図14において、図4~図6及び図13に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。
第2の実施形態は、第1の実施形態とは異なり、図14に示すように、位置制御部とバックドライバブル制御部が並列配置されており、スイッチ1401で切り替える構成となっている。スイッチ1401は、制御切替部15(図4参照)からの切り替え信号35によって、切り替えることができる。この図14に示す構成の場合、位置指令(RefPos)と位置(Pos)が乖離することが無いため、位置選択部30を省略することができる。その場合、位置(Pos)を逆運動学演算部24の入力とする。
第2の実施形態によれば、上述した第1の実施形態における効果に加えて、位置制御時に位置指令(RefPos)への正確な追従が期待できる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。なお、以下に記載する第3の実施形態の説明では、上述した第1及び第2の実施形態と共通する事項については説明を省略し、上述した第1及び第2の実施形態と異なる事項について説明を行う。
次に、本発明の第3の実施形態について説明する。なお、以下に記載する第3の実施形態の説明では、上述した第1及び第2の実施形態と共通する事項については説明を省略し、上述した第1及び第2の実施形態と異なる事項について説明を行う。
第3の実施形態は、第1の実施形態と異なり、先頭追従制御を行わず、予め軌道を計画し、計画した軌道を姿勢メモリ19に記憶させ、Zステージ213の位置(PosZ)に対応した姿勢に連続体ロボット100を制御する形態である。
図15は、本発明の第3の実施形態に係る連続体ロボット100の姿勢変更部27の概略構成の一例を示す図である。具体的に、図15は、姿勢変更部27への目標値の与え方の一例を説明するための図である。この図15において、図4~図6及び図13に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。
姿勢メモリ19には、図面情報、磁気共鳴イメージング(MRI)スキャン、コンピュータ断層撮影(CT)スキャン、及び同様なもの等から軌道計画を立案し、これを湾曲目標角度及び旋回目標角度に係る姿勢として書き込んでおく。本実施形態の姿勢メモリ19は、Zステージ213(図1)の位置に対応づけられものである。入力選択部22(図5参照)は、前進、後退にかかわらず、以下の表6に示すとおり、全て姿勢メモリ19を選択するように設定する。
図15(a)は、現在の姿勢メモリ19の参照状態を参照状態1501と仮定する。参照状態1501では、湾曲可能部26S1から湾曲可能部26S9に対応する姿勢メモリ19としてアドレスM54~M63が割り当てられている。これより、Zステージ213(図1参照)の前進が行われると、姿勢メモリ19の参照アドレスを変更する必要がある。
図15(b)は、ある程度、Zステージ213が前進した状態での姿勢メモリ19の参照状態を示したものである。Zステージ213の前進に合わせて姿勢メモリ19の参照アドレスを変更した結果、例えば、参照状態1502のようになる。このように、姿勢メモリ19の参照するアドレスを変更させることで、予め計画した軌道に沿って進むことができる。また、先頭追従制御を行わないため、第1の実施形態と異なり、湾曲角度17S1(図4参照)、旋回角度18S1(図4参照)の姿勢メモリ19(図4参照)への書き込みは行わない。見回し操作以降の制御は、第1の実施形態と同じである。
なお、第1の実施形態において、図6で示した姿勢メモリ19の高分解能化は、本実施形態においても適用可能である。また、第2の実施形態も、本実施形態に適用可能である。
第3の実施形態によれば、上述した第1の実施形態における効果に加えて、先頭追従制御で行っていた遠位端湾曲可能部の操作も不要となることから操作が簡単になる。必要であれば、入力選択部22(図5参照)を切り替えて、入力装置10(図5参照)からの入力を受け付けるようにすることが可能である。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。なお、以下に記載する第4の実施形態の説明では、上述した第1~第3の実施形態と共通する事項については説明を省略し、上述した第1~第3の実施形態と異なる事項について説明を行う。
次に、本発明の第4の実施形態について説明する。なお、以下に記載する第4の実施形態の説明では、上述した第1~第3の実施形態と共通する事項については説明を省略し、上述した第1~第3の実施形態と異なる事項について説明を行う。
第4の実施形態は、第1の実施形態と異なり、ボールねじを用いず、リニアモータを用いて連続体ロボット100の制御を行う形態である。
図16は、本発明の第4の実施形態に係る連続体ロボット100のワイヤ駆動部25における概略構成の一例を示す図である。この図16において、図1に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。
第4実施形態におけるワイヤ駆動部25は、図16に示すように、リニアガイド1601及びリニアモータ1602を備えている。また、第4実施形態におけるワイヤ駆動部25は、図16に示すように、位置検出のために、スケール1603及びスケールヘッド1604を備えている。この際、スケール1603は、光学式、磁気式など任意のものを用いることができる。また、第4実施形態におけるワイヤ駆動部25は、第1の実施形態とは異なり、張力センサ207を省略して、ステージ209に、ワイヤクランプ部1605を介して、ワイヤ204を直接固定することができる。第4実施形態におけるワイヤ駆動部25において、張力センサ207(図1参照)を省略できる理由は、ボールねじ駆動に比べて、リニアモータ駆動は、摩擦が小さくバックドライバビリティが高いためである。
図17は、本発明の第4の実施形態に係る連続体ロボット100の姿勢変更部27の概略構成の一例を示す図である。この図17において、図4、図13及び図14に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。
第4実施形態における姿勢変更部27は、第2の実施形態とは異なり、図17に示すように、バックドライバブル制御のための補償器Cforce(s)(図14参照)を省略している。第4実施形態における姿勢変更部27において、位置制御からバックドライバブル制御への切り替えは、スイッチ1401で行われる。第4実施形態における姿勢変更部27では、バックドライバブル制御へ切り替わると、信号1701が選択され、電流指令(RefCurrentA1)が0になる。これにより、ステージ209は、外力に倣って自由に動くことができるようになる。また、第4実施形態における姿勢変更部27では、スイッチ1401によって直接リニアモータの通電を切断して、リニアモータの動力を切断してもよい。なお、スイッチ1401の切り替えは、制御切替部15(図4参照)からの切り替え信号35によって、切り替えることができる。
第4の実施形態によれば、上述した第1の実施形態における効果に加えて、張力センサ207を省略することができ、簡易な構成とすることができる。なお、リニアモータ駆動にした場合、必ずしも張力センサ207を省略する必要はなく、他の実施形態と組み合わせることも自由である。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明に含まれる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明に含まれる。
なお、上述した本発明の実施形態は、いずれも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
10,13:入力装置、14:前進後退部、15:制御切替部、16:乖離判定部、19:姿勢メモリ、22:入力選択部、23:順運動学演算部、24:逆運動学演算部、25:駆動部、26:湾曲可能部、27:姿勢変更部、30:位置選択部、100:連続体ロボット、201,211:アクチュエータ、202,212:位置検出器、204:ワイヤ、207:張力センサ、209:ステージ、213:Zステージ
Claims (12)
- 長尺方向に直列に設けられ、それぞれが湾曲可能な複数の湾曲可能部と、
前記複数の湾曲可能部を前記長尺方向に前進または後退させる前進後退部と、
前記複数の湾曲可能部におけるそれぞれの湾曲可能部を湾曲させてその姿勢を変更する姿勢変更部と、
前記複数の湾曲可能部におけるそれぞれの湾曲可能部について前記姿勢を記憶する記憶部と、
前記前進後退部による前記前進または前記後退を検出した際に、前記複数の湾曲可能部における少なくとも1つの湾曲可能部の姿勢である第1の姿勢が、前記記憶部に記憶されている前記少なくとも1つの湾曲可能部の姿勢である第2の姿勢に対して所定以上乖離している場合、前記姿勢変更部に対する前記第1の姿勢の変更制御として、指定された姿勢に変更する第1の制御から外力に倣って姿勢を変更する第2の制御に、切り替えまたは連続的に遷移させる制御部と、
を有することを特徴とする連続体ロボット。 - 前記記憶部は、前記第2の姿勢として、前記前進後退部によって前記前進させたときの、前記複数の湾曲可能部における遠位端の湾曲可能部の姿勢を記憶しており、
前記記憶部に記憶されている前記遠位端の湾曲可能部の姿勢は、前記前進するたびに、前記遠位端の湾曲可能部に後続する後続の湾曲可能部を先頭追従制御するために使用される姿勢であることを特徴とする請求項1に記載の連続体ロボット。 - 前記記憶部は、前記第2の姿勢として、図面情報、磁気共鳴イメージング(MRI)スキャン、およびコンピュータ断層撮影(CT)スキャンのうちの少なくとも1つから予め計画した軌道を実現するための前記少なくとも1つの湾曲可能部の姿勢を記憶していることを特徴とする請求項1に記載の連続体ロボット。
- 前記第1の姿勢は、アクチュエータの変位位置または回転量から逆運動学を用いて求めた前記少なくとも1つの湾曲可能部の湾曲角度および旋回角度を含むことを特徴とする請求項1乃至3のいずれか1項に記載の連続体ロボット。
- 前記制御部は、前記前進後退部による前記前進または前記後退を検出した際に、前記第1の姿勢が前記第2の姿勢に対して所定以上乖離している湾曲可能部から遠位側に位置している全ての湾曲可能部について、前記第1の制御から前記第2の制御に切り替えまたは連続的に遷移させる制御を行うことを特徴とする請求項1乃至4のいずれか1項に記載の連続体ロボット。
- 前記制御部は、前記第2の制御から前記第1の制御に戻す条件として、前記第1の制御に戻すコマンドの受信を適用することを特徴とする請求項1乃至5のいずれか1項に記載の連続体ロボット。
- 前記制御部は、前記第2の制御から前記第1の制御に戻す条件として、前記第1の制御から前記第2の制御に切り替えまたは連続的に遷移させたときから前記複数の湾曲可能部の位置が前記後退していること、および、前記第2の制御を行っている前記少なくとも1つの湾曲可能部のうちの最も近位側に位置している湾曲可能部において、前記第1の姿勢と前記第2の姿勢との乖離が閾値以下であることを適用することを特徴とする請求項1乃至5のいずれか1項に記載の連続体ロボット。
- 前記制御部は、前記第2の制御から前記第1の制御に戻す条件として、前記第1の制御から前記第2の制御に切り替えまたは連続的に遷移させたときから前記複数の湾曲可能部の位置が、一定距離だけ前記前進していることまたは一定距離だけ前記後退していることを適用することを特徴とする請求項1乃至5のいずれか1項に記載の連続体ロボット。
- 前記姿勢変更部は、ワイヤの駆動によって前記湾曲可能部の姿勢を変更するものであり、前記ワイヤを駆動するリニアモータを備えることを特徴とする請求項1乃至8のいずれか1項に記載の連続体ロボット。
- 前記第2の制御では、前記リニアモータの電流指令を0にする、または、前記リニアモータの動力を切断することが行われることを特徴とする請求項9に記載の連続体ロボット。
- 長尺方向に直列に設けられ、それぞれが湾曲可能な複数の湾曲可能部と、前記複数の湾曲可能部を前記長尺方向に前進または後退させる前進後退部と、前記複数の湾曲可能部におけるそれぞれの湾曲可能部を湾曲させてその姿勢を変更する姿勢変更部と、前記複数の湾曲可能部におけるそれぞれの湾曲可能部について前記姿勢を記憶する記憶部と、を備える連続体ロボットの制御方法であって、
前記前進後退部による前記前進または前記後退を検出した際に、前記複数の湾曲可能部における少なくとも1つの湾曲可能部の姿勢である第1の姿勢が、前記記憶部に記憶されている前記少なくとも1つの湾曲可能部の姿勢である第2の姿勢に対して所定以上乖離している場合、前記姿勢変更部に対する前記第1の姿勢の変更制御として、指定された姿勢に変更する第1の制御から外力に倣って姿勢を変更する第2の制御に、切り替えまたは連続的に遷移させる制御ステップを有することを特徴とする連続体ロボットの制御方法。 - コンピュータに、請求項11に記載の連続体ロボットの制御方法におけるステップを実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022034500A JP2023130055A (ja) | 2022-03-07 | 2022-03-07 | 連続体ロボット及びその制御方法、並びに、プログラム |
PCT/JP2023/004494 WO2023171232A1 (ja) | 2022-03-07 | 2023-02-10 | 連続体ロボット及びその制御方法、並びに、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022034500A JP2023130055A (ja) | 2022-03-07 | 2022-03-07 | 連続体ロボット及びその制御方法、並びに、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023130055A true JP2023130055A (ja) | 2023-09-20 |
Family
ID=87936701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022034500A Pending JP2023130055A (ja) | 2022-03-07 | 2022-03-07 | 連続体ロボット及びその制御方法、並びに、プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2023130055A (ja) |
WO (1) | WO2023171232A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020243285A1 (en) * | 2019-05-31 | 2020-12-03 | Canon U.S.A., Inc. | Actively controlled steerable medical device with passive bending mode |
JP2022008179A (ja) * | 2020-06-25 | 2022-01-13 | キヤノン株式会社 | 連続体ロボットの制御システム及びその制御方法、並びに、プログラム |
-
2022
- 2022-03-07 JP JP2022034500A patent/JP2023130055A/ja active Pending
-
2023
- 2023-02-10 WO PCT/JP2023/004494 patent/WO2023171232A1/ja unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023171232A1 (ja) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7141500B2 (ja) | 手術用ロボット | |
JP6164964B2 (ja) | 医療用システムおよびその制御方法 | |
JP6596126B2 (ja) | 連続体ロボット制御方法および装置 | |
US8219246B2 (en) | System and method for controlling a robotic arm | |
US8282543B2 (en) | Surgical instrument and endoscope surgical system having surgical instrument | |
US8821388B2 (en) | Multijointed bending mechanism and multijointed medical equipment having multijointed bending mechanism | |
US8818560B2 (en) | Master-slave manipulator | |
JP6904767B2 (ja) | 連続体ロボットシステムの制御装置、連続体ロボットシステムの作動方法、プログラム | |
JP5743495B2 (ja) | ロボット制御装置 | |
US9101339B2 (en) | Endoscope apparatus | |
JP6109001B2 (ja) | 医療用システムおよびその作動方法 | |
US11517384B2 (en) | Surgical system and method for controlling the same | |
JP6358811B2 (ja) | マニピュレータ及びマニピュレータシステム | |
JP2022008179A (ja) | 連続体ロボットの制御システム及びその制御方法、並びに、プログラム | |
WO2023171232A1 (ja) | 連続体ロボット及びその制御方法、並びに、プログラム | |
JP2007000954A (ja) | ロボット教示装置及び方法 | |
EP2304509A2 (en) | Method of controlling a robotic arm | |
US20230131269A1 (en) | Continuum robot control system and control method, and program | |
WO2021261419A1 (ja) | 連続体ロボット及びその制御方法、並びに、プログラム | |
US11926062B2 (en) | Methods and apparatus for controlling a continuum robot | |
EP3954319A1 (en) | Surgical operation system and method for controlling surgical operation system | |
WO2023164047A1 (en) | Method and apparatus for controlling continuum robot | |
WO2023162628A1 (ja) | 操作システムおよび操作システムの制御方法 | |
WO2022210800A1 (ja) | 制御システム、制御装置、制御方法及びプログラム | |
WO2023112620A1 (ja) | 連続体ロボット制御システム、連続体ロボット制御方法及びプログラム |