以下、本開示の実施形態について、図面を用いて説明する。
(本開示の一形態を得るに至った経緯)
術前計画に従ってポートを設けるように、例えば助手がポートを穿孔する。しかし、計画されたポート位置に正確にポートを穿孔することは困難である。例えば、図20に示すように、臍からの距離L1の位置にポートを設ける等、穿孔対象のポート位置が2次元平面において術前計画された場合、2次元平面では同じ距離でも、被検体の側部に向かうに従って被検体の前後方向において位置が大きく変化する(範囲α参照)。そのため、ポート穿孔時に正確に計測し穿孔対象のポート位置を一意に定めることが困難である。
また、ロボット手術では、多くの場合に気腹が行われる。気腹では、腹腔内に炭酸ガス(例えば二酸化炭素)が注入されて腹腔内に作業スペースが確保される。気腹の状態により、腹腔内の膨らみ具合が異なるので、患者の体表において計画された3次元位置も異なり得る。
また、ロボット手術では、手術支援ロボットが備えるエンドエフェクタ(鉗子類)が装着されるアーム同士が接触して、アームの可動範囲が制限されたりすることが考えられる。また、手術支援ロボットにおける低侵襲手術においては、ポートに応力を加えることが制限されている。これらの理由により、人による低侵襲手術と比較してポートの穿孔時に、高い穿孔精度が必要されると一般的には理解されており、ひいては高精度な計測のためにポートの穿孔に時間がかかっていた。
また、被検体内には、ポートを介して様々なエンドエフェクタ(鉗子類)が挿入され、術式に応じた作業(処置)が行われる。エンドエフェクタには、作業に応じて様々な用途のエンドエフェクタが存在する。作業の内容やエンドエフェクタの用途に応じて、ポートに求められる穿孔精度が異なる。よって、ポートには、高い穿孔精度が必要されるポートと、高い穿孔精度が不要であるポートと、が混在し得る。したがって、穿孔を行う穿孔者(例えば助手)が、ポートの穿孔時に、高い穿孔精度が必要されるポートであるか否かを認識できると、穿孔者がポートの穿孔のための準備を整えやすい。
以下の実施形態では、ポートを穿孔するために必要とされる穿孔精度を認識できるロボット手術支援装置、ロボット手術支援方法、及びプログラムについて説明する。
(第1の実施形態)
図1は、第1の実施形態におけるロボット手術支援装置100の構成例を示すブロック図である。ロボット手術支援装置100は、手術支援ロボット300によるロボット手術を支援し、例えば術前シミュレーションや術中シミュレーション、及び術中ナビゲーションを実施してよい。
手術支援ロボット300は、ロボット操作端末、ロボット本体、及び画像表示端末を備える。
ロボット操作端末は、術者による操作されるハンドコントローラやフットスイッチを備える。ロボット操作端末は、術者によるハンドコントローラやフットスイッチの操作に応じて、ロボット本体に設けられた複数のロボットアームARを動作させる。また、ロボット操作端末は、ビューワを備える。ビューワは、ステレオビューワでよく、内視鏡により取込まれた画像を融合させて3次元画像を表示してよい。なお、ロボット操作端末が複数存在し、複数のロボット操作端末を複数の術者が操作するによりロボット手術が行われてもよい。
ロボット本体は、ロボット手術を行うための複数のロボットアームAR及びロボットアームARに装着される手術器具としてのエンドエフェクタEF(鉗子類、インストゥルメント)を備える。
手術支援ロボット300のロボット本体は4つのロボットアームARを備えており、内視鏡カメラが装着されるカメラアームと、ロボット操作端末の右手用ハンドコントローラで操作されるエンドエフェクタEFが装着される第1エンドエフェクタアームと、ロボット操作端末の左手用ハンドコントローラで操作されるエンドエフェクタEFが装着される第2エンドエフェクタアームと、交換用のエンドエフェクタEFが装着される第3エンドエフェクタアームと、を含む。各ロボットアームARは、複数の関節を有しており、各関節に対応してモータとエンコーダを備えている。各ロボットアームARは、少なくとも6自由度、好ましくは7又は8自由度を有しており、3次元空間内において動作し、3次元空間内の各方向に可動自在でよい。エンドエフェクタEFには、ロボット手術において被検体PS内の処置対象に実際に接する器具であり、様々な処置(例えば、把持、切除、剥離、縫合)を可能とする。
エンドエフェクタEFは、例えば、把持鉗子、剥離鉗子、電気メス、等を含んでよい。エンドエフェクタEFは、役割毎に異なる別個のエンドエフェクタEFが複数用意されてよい。例えば、ロボット手術では、2つのエンドエフェクタEFによって組織を抑えたり引っ張ったりして、1つのエンドエフェクタEFで組織を切る処置が行われてよい。ロボットアームAR及びエンドエフェクタEFは、ロボット操作端末からの指示を基に、動作してよい。
画像表示端末は、モニタ、内視鏡のカメラによって撮像された画像を処理し、ビューワやモニタに表示させるためのコントローラ、等を有する。モニタは、例えばロボット手術の助手や看護師により確認される。
手術支援ロボット300は、術者によるロボット操作端末のハンドコントローラやフットスイッチの操作を受け、ロボット本体のロボットアームARやエンドエフェクタEFの動作を制御し、被検体PSに対して各種処置を行うロボット手術を行う。ロボット手術では、被検体PS内で腹腔鏡手術が行われてよい。
ロボット手術では、被検体PSの体表にポートPTが穿孔され、ポートPTを介して気腹されてよい。気腹(preumoperitoneum)では、二酸化炭素が送り込まれて被検体PSの腹腔を膨らませられてよい。ポートPTには、トロッカー(trocar)TCが設置されてよい。トロッカーTCは弁を有し、被検体PS内を気密に維持する。また、気密状態を維持するために、被検体PS内に空気(例えば二酸化炭素)が継続的に導入される。
トロッカーTCにはエンドエフェクタEF(エンドエフェクタEFのシャフト)が挿通される。エンドエフェクタEFの挿通時にトロッカーTCの弁が開き、エンドエフェクタEFの脱離時にはトロッカーTCの弁が閉じる。トロッカーTCを経由してポートPTからエンドエフェクタEFが挿入され、術式に応じて様々な処置が行われる。ロボット手術は、腹部を手術対象とした腹腔鏡手術以外に、手術対象に腹部以外を含めた鏡視下手術に適用されてもよい。
図1に示すように、ロボット手術支援装置100は、通信部110、ユーザインタフェース(UI:User Interface)120、ディスプレイ130、プロセッサ140、及びメモリ150を備える。なお、UI120、ディスプレイ130、及びメモリ150は、ロボット手術支援装置100に含まれても、ロボット手術支援装置100とは別体として設けられてもよい。
ロボット手術支援装置100には、通信部110を介して、CT(Computed Tomography)装置200が接続される。ロボット手術支援装置100は、CT装置200からボリュームデータを取得し、取得されたボリュームデータに対して処理を行う。ロボット手術支援装置100は、PC(Personal Computer)とPCに搭載されたソフトウェアにより構成されてもよい。ロボット手術支援装置100は、手術支援ロボット300の一部として構成されてもよい。
ロボット手術支援装置100には、通信部110を介して、手術支援ロボット300が接続される。ロボット手術支援装置100は、例えば、手術支援ロボット300から各種データや情報や画像を提供し、ロボット手術を支援してよい。ロボット手術支援装置100は、例えば、手術支援ロボット300から手術支援ロボット300の機構や動作に関する情報、ロボット手術前、手術中、又は手術後に得られたデータを取得し、取得された情報やデータを基に各種分析や解析を行ってよい。分析結果や解析結果は、可視化されてよい。
ロボット手術支援装置100には、通信部110を介して、計測器400が接続されてよい。計測器400は、手術支援ロボット300により手術される被検体PS(例えば患者)に関する情報(例えば被検体PSの体表位置)を計測してよい。計測器400は、被検体PSの体表に設けられるポートPTの位置を計測してよい。計測器400は、例えば深度センサ410でよい。深度センサ410は、手術支援ロボット300(例えばロボット本体)に含まれていてもよいし、ロボット手術が行われる手術室の天井等に設置されてもよい。また、計測器400は、計測器400の操作部が手動計測の結果の入力を受け付けてよい。手動計測では、例えば、患者に関する情報や体表におけるポート位置が定規や巻尺により計測されてよい。
また、ロボット手術支援装置100には、CT装置200が接続されるとともに、又はCT装置200が接続される代わりに、各種画像を撮像可能な装置が接続されてよい。この装置は、血管造影装置(Angiography装置)や超音波装置等でよい。この装置は、ロボット手術前、及びロボット手術中に被検体PSの内部の様子を確認するときに使用されてよい。
CT装置200は、生体へX線を照射し、体内の組織によるX線の吸収の違いを利用して、画像(CT画像)を撮像する。被検体PSは、例えば人体でよく、生体でよい。なお、被検体PSは、人体でなくてもよく、生体でなくてもよい。例えば動物でよく、手術訓練用ファントムでもよい。
CT画像は、時系列に複数撮像されてもよい。CT装置200は、生体内部の任意の箇所の情報を含むボリュームデータを生成する。生体内部の任意の箇所は、各種臓器(例えば脳、心臓、腎臓、大腸、小腸、肺、胸部、乳腺、前立腺、肺)を含んでもよい。CT画像が撮像されることにより、CT画像における各画素(ボクセル)の画素値(CT値、ボクセル値)が得られる。CT装置200は、CT画像としてのボリュームデータをロボット手術支援装置100へ、有線回線又は無線回線を介して送信する。
具体的に、CT装置200は、ガントリ(図示せず)及びコンソール(図示せず)を備える。ガントリは、X線発生器(図示せず)やX線検出器(図示せず)を含み、コンソールにより指示された所定のタイミングで撮像することで、被検体PSを透過したX線を検出し、X線検出データを得る。X線発生器は、X線管(図示せず)を含む。コンソールは、ロボット手術支援装置100に接続される。コンソールは、ガントリからX線検出データを複数取得し、X線検出データに基づいてボリュームデータを生成する。コンソールは、生成されたボリュームデータを、ロボット手術支援装置100へ送信する。コンソールは、患者情報、CT撮像に関する撮像条件、造影剤の投与に関する造影条件、その他の情報を入力するための操作部(図示せず)を備えてよい。この操作部は、キーボードやマウスなどの入力デバイスを含んでよい。
CT装置200は、連続的に撮像することで3次元のボリュームデータを複数取得し、動画を生成することも可能である。複数の3次元のボリュームデータによる動画のデータは、4D(4次元)データとも称される。
CT装置200は、複数のタイミングの各々でCT画像を撮像してよい。CT装置200は、被検体PSが造影された状態で、CT画像を撮像してよい。CT装置200は、被検体PSが造影されていない状態で、CT画像を撮像してよい。
ロボット手術支援装置100では、通信部110は、他の装置との間で各種データや情報を通信する。通信部110は、CT装置200、手術支援ロボット300、計測器400、との間で各種データを通信してよい。通信部110は、有線通信や無線通信を行う。通信部110と、CT装置200、手術支援ロボット300、及び計測器400との間は、有線又は無線により接続されてよい。
通信部110は、手術支援ロボット300からロボット手術のための各種情報を取得してよい。この各種情報は、例えば、手術支援ロボット300のキネマティクスの情報を含んでよい。通信部110は、手術支援ロボット300へロボット手術のための各種情報を送信してよい。この各種情報は、例えば、処理部160により生成された情報(例えば画像やデータ)を含んでよい。
通信部110は、計測器400からロボット手術のための各種情報を取得してよい。例えば、計測器400で計測された被検体PSの体表の位置情報や被検体PSの体表に穿孔されたポート位置の情報を含んでよい。
通信部110は、CT装置200からボリュームデータを取得してよい。取得されたボリュームデータは、直ぐにプロセッサ140に送られて各種処理されてもよいし、メモリ150において保管された後、必要時にプロセッサ140へ送られて各種処理されてもよい。また、ボリュームデータは、記録媒体や記録メディアを介して取得されてもよい。
CT装置200により撮像されたボリュームデータは、CT装置200から画像データサーバ(PACS:Picture Archiving and Communication Systems)(不図示)に送られ、保存されてよい。通信部110は、CT装置200から取得する代わりに、この画像データサーバからボリュームデータを取得してよい。このように、通信部110は、ボリュームデータ等の各種データを取得する取得部として機能する。
UI120は、タッチパネル、ポインティングデバイス、キーボード、又はマイクロホンを含んでよい。UI120は、ロボット手術支援装置100のユーザから、任意の入力操作を受け付ける。ユーザは、医師、放射線技師、又はその他医療従事者(Paramedic Staff)を含んでよい。医師は、サージョンコンソールを操作してロボット手術を手動して行う術者や、被検体PSの近傍でロボット手術を補助する助手を含んでよい。
UI120は、ボリュームデータにおける関心領域(ROI:Region of Interest)の指定や輝度条件の設定等の操作を受け付ける。関心領域は、各種組織(例えば、血管、気管支、臓器、骨、脳、心臓、足、首、血流)の領域を含んでよい。組織は、病変組織、正常組織、臓器、器官、など被検体PSの組織を広く含んでよい。また、UI120は、ボリュームデータやボリュームデータに基づく画像(例えば後述する3次元画像、2次元画像)における関心領域の指定や輝度条件の設定等の操作を受け付けてもよい。
ディスプレイ130は、LCD(Liquid Crystal Display)を含んでもよく、各種情報を表示する。各種情報は、ボリュームデータから得られる3次元画像や2次元画像を含んでよい。3次元画像は、ボリュームレンダリング画像、サーフェスレンダリング画像、仮想内視鏡画像(VE画像)、仮想超音波画像、CPR(Curved Planar Reconstruction)画像、等を含んでもよい。ボリュームレンダリング画像は、レイサム(RaySum)画像(単に「SUM画像」とも称する)、MIP(Maximum Intensity Projection)画像、MinIP(Minimum Intensity Projection)画像、平均値(Average)画像、又はレイキャスト(Raycast)画像を含んでもよい。2次元画像は、アキシャル(Axial)画像、サジタル(Sagittal)画像、コロナル(Coronal)画像、MPR(Multi Planer Reconstruction)画像、等を含んでよい。3次元画像及び2次元画像は、カラーフュージョン画像を含んでよい。
メモリ150は、各種ROM(Read Only Memory)やRAM(Random Access Memory)の一次記憶装置を含む。メモリ150は、HDD(Hard Disk Drive)やSSD(Solid State Drive)の二次記憶装置を含んでもよい。メモリ150は、USBメモリやSDカードの三次記憶装置を含んでもよい。メモリ150は、各種情報を記憶する。各種情報は、通信部110を介して取得された情報、プロセッサ140により生成された情報や画像、プロセッサ140により設定された設定情報、各種プログラムを含んでよい。通信部110を介して取得された情報は、例えば、CT装置200からの情報(例えばボリュームデータ)、手術支援ロボット300からの情報、計測器400からの情報、外部サーバからの情報、を含んでよい。メモリ150は、プログラムが記録される非一過性の記録媒体の一例である。
投射部170は、被検体に向けて可視光(例えばレーザー光)を投射する。投射部170は、可視光の投射により、被検体PSの体表(例えば腹部の体表部)に、各種情報(例えばポート位置の情報)を表示させる。可視光、つまり被検体PSの体表に表示された情報は、ユーザ(例えば助手)に確認される。
プロセッサ140は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、又はGPU(Graphics Processing Unit)を含んでよい。プロセッサ140は、メモリ150に記憶されたプログラムを実行することにより、各種処理や制御を行う処理部160として機能する。
図2は、処理部160の機能構成例を示すブロック図である。
処理部160は、領域抽出部161、画像生成部162、変形シミュレーション部163、ポート位置処理部164、表示制御部166、及び投射制御部167を備える。
処理部160は、ロボット手術支援装置100の各部を統括する。なお、処理部160に含まれる各部は、1つのハードウェアにより異なる機能として実現されてもよいし、複数のハードウェアにより異なる機能として実現されてもよい。また、処理部160に含まれる各部は、専用のハードウェア部品により実現されてもよい。
領域抽出部161は、ボリュームデータにおいて、セグメンテーション処理を行ってよい。この場合、UI120がユーザからの指示を受け付け、指示の情報が領域抽出部161に送られる。領域抽出部161は、指示の情報に基づいて、公知の方法により、ボリュームデータから、セグメンテーション処理を行い、関心領域を抽出(segment)してよい。また、ユーザからの詳細な指示により、手動で関心領域を設定(set)してよい。また、観察対象が予め定められている場合、領域抽出部161は、ユーザ指示なしでボリュームデータから、セグメンテーション処理を行い、観察対象を含む関心領域を抽出してもよい。抽出される領域には、各種組織(例えば、血管、気管支、臓器、骨、脳、心臓、足、首、血流、乳腺、胸部、腫瘍)の領域を含んでよい。観察対象は、ロボット手術による処置が行われる対象でよい。
画像生成部162は、通信部110により取得されたボリュームデータに基づいて、3次元画像や2次元画像を生成してよい。画像生成部162は、通信部110により取得されたボリュームデータから、指定された領域や領域抽出部161により抽出された領域に基づいて、3次元画像や2次元画像を生成してよい。
変形シミュレーション部163は、手術対象の被検体PSにおける変形に関する処理を行う。例えば、変形シミュレーション部163は、仮想的に被検体PSに対して気腹する気腹シミュレーションを行ってよい。気腹シミュレーションの具体的な方法は、公知の方法であってよく、例えば参考非特許文献1に記載された方法でよい。つまり、変形シミュレーション部163は、通信部110又は領域抽出部161から取得されたボリュームデータ(気腹前(非気腹状態)のボリュームデータ)を基に、気腹シミュレーションを行い、気腹後のボリュームデータ(気腹状態のボリュームデータ)を生成してよい。気腹シミュレーションにより、ユーザは、被検体PSに対して実際に気腹しなくても、被検体PSが気腹された状態を仮定し、仮想的に気腹された状態を観察できる。なお、気腹状態のうち、気腹シミュレーションにより推定される気腹の状態を仮想気腹状態と称し、実際の気腹された状態を実気腹状態と称してよい。
(参考非特許文献1)Takayuki Kitasaka, Kensaku Mori, Yuichiro Hayashi, Yasuhito Suenaga, Makoto Hashizume, and Jun-ichiro Toriwaki, “Virtual Pneumoperitoneum for Generating Virtual Laparoscopic Views Based on Volumetric Deformation”, MICCAI (Medical Image Computing and Computer-Assisted Intervention),2004, P559-P567
図3は、気腹シミュレーションの実施前後における腹部のMPR断面の画像例を示す図である。画像G11は、気腹シミュレーションの実施前の様子を示しており、被検体PSの腹部が膨らんでいない状態(非気腹状態)である。画像G12は、気腹シミュレーションの実施後の様子を示しており、被検体PSの腹部が膨らんでいる状態(仮想気腹状態)であり、気腹空間KSを有する。ロボット手術では、被検体PSが気腹状態で手術されるので、非気腹状態で撮像されて得られるボリュームデータに対しては、変形シミュレーション部163により気腹シミュレーションが実施され、仮想気腹状態のボリュームデータが導出される。
変形シミュレーション部163は、被検体PS内の臓器や病変等の観察対象を仮想的に変形させてよい。観察対象は、術者によって手術される手術対象であってよい。変形シミュレーション部163は、例えば、臓器がエンドエフェクタEFの鉗子により引っ張られたり押されたり、切断される様子をシミュレートしてよい。また、変形シミュレーション部163は、例えば、体位変換による臓器の移動をシミュレートしてよい。
ポート位置処理部164は、被検体PSの体表上に設けられる複数のポートPTの情報を取得する。ポートPTの情報は、ポートPTの識別情報、ポートPTが穿孔される被検体PSの体表上の位置(ポート位置)の情報、ポートPTのサイズの情報、等を含んでよい。複数のポートの情報は、テンプレートとしてメモリ150や外部サーバに保持されていてよい。複数のポートの情報は、術式によって定められていてよい。複数のポートの情報は術前計画に用いることを目的としてよい。
ポート位置処理部164は、メモリ150から複数のポート位置の情報を取得してよい。ポート位置処理部164は、通信部110を介して、外部サーバから複数のポート位置の情報を取得してよい。ポート位置処理部164は、UI120を介して、複数のポートPTのポート位置の指定を受け付けて、複数のポート位置の情報を取得してよい。複数のポート位置の情報は、複数のポート位置の組み合わせの情報でよい。
ポート位置処理部164は、手術支援ロボット300のキネマティクスの情報を取得する。キネマティクスの情報は、メモリ150に保持されていてよい。ポート位置処理部164は、メモリ150からキネマティクスの情報を取得してよい。ポート位置処理部164は、通信部110を介して、手術支援ロボット300や外部サーバからキネマティクスの情報を取得してよい。キネマティクスの情報は、手術支援ロボット300毎に異なってよい。
キネマティクスの情報は、例えば、手術支援ロボット300が備えるロボット手術を行うための器具(例えばロボットアームAR、エンドエフェクタEF)の形状に関する形状情報や動作に関する動作情報を含んでよい。この形状情報は、ロボットアームARやエンドエフェクタEFの各部位の長さ、重さ、基準方向(例えば水平面)に対するロボットアームARの角度、ロボットアームARに対するエンドエフェクタEFの取付角度、等の少なくとも一部の情報を含んでよい。この動作情報は、例えばロボットアームARやエンドエフェクタEFの3次元空間における可動範囲、ロボットアームARを動作する際のアームの位置、速度、加速度、エンドエフェクタEFを動作する際のロボットアームARに対する位置、速度、加速度、等の少なくとも一部の情報を含んでよい。
なお、キネマティクスでは、自アームによる可動範囲とともに他アームの可動範囲が加味されており、各ロボットアームARが干渉しない可動範囲が規定される。したがって、手術支援ロボット300は、手術支援ロボット300の各ロボットアームARがキネマティクスに基づいて動作することで、手術中に複数のロボットアームARが干渉することを回避できる。
ポート位置処理部164は、術式の情報を取得する。術式は、被検体PSに対する外科手術の方式を示す。術式は、UI120を介して指定されてよい。術式により、ロボット手術における各処置が定まってよい。処置に応じて、処置に必要なエンドエフェクタEFが定まってよい。よって、術式に応じて、ロボットアームARに装着されるエンドエフェクタEFが定まってよく、どのロボットアームARにどの種類のエンドエフェクタEFが装着されるかが定まってよい。また、処置に応じて、処置に最低限必要な最小領域や処置のために確保されることが推奨される推奨領域が定まってよい。
ポート位置処理部164は、ターゲット領域の情報を取得する。ターゲット領域は、ロボット手術による処置が行われる対象(例えば組織(例えば血管、気管支、臓器、骨、脳、心臓、足、首))を含む領域でよい。組織は、病変組織、正常組織、臓器、器官、など被検体PSの組織を広く含んでよい。
ポート位置処理部164は、メモリ150からターゲット領域の位置の情報を取得してよい。ポート位置処理部164は、通信部110を介して、外部サーバからターゲット領域の位置の情報を取得してよい。ポート位置処理部164は、UI120を介して、ターゲット領域の位置の指定を受け付けて、ターゲット領域の位置の情報を取得してよい。
ポート位置処理部164は、ポート位置シミュレーションを実行してよい。ポート位置シミュレーションは、ユーザがUI120を操作することで、被検体PSにおける所望のロボット手術が可能か否かを判定するためのシミュレーションでよい。ポート位置シミュレーションでは、ユーザが手術を想定しながら、仮想空間において、各ポート位置から挿入されたエンドエフェクタEFを動作させ、手術対象となるターゲット領域へアクセス可能か否かを判定してよい。つまり、ポート位置シミュレーションでは、ユーザによる手術支援ロボット300に対する手動の操作を受けながら、手術支援ロボット300のロボット手術に係る可動部(例えばロボットアームARやエンドエフェクタEF)が、手術対象となるターゲット領域へ問題なくアクセス可能か否かが判定されてよい。ポート位置処理部164は、ポート位置シミュレーションによりポート位置の計画情報を得てよい。
ポート位置シミュレーションでは、被検体PSのボリュームデータ、取得された複数のポート位置の組み合わせ、手術支援ロボット300のキネマティクス、術式、仮想気腹状態のボリュームデータ、等に基づいて上記のアクセスが可能か否かが判定されてよい。ポート位置処理部164は、被検体PSの体表における複数のポート位置を変えながら、各ポート位置においてターゲット領域にアクセス可能か否かを判定してよく、順次ポート位置シミュレーションを行ってよい。ポート位置処理部164は、最終的に好ましい(例えば最適な)ポート位置の組み合わせの情報を、UI120を介してユーザ入力に応じて指定してよい。これにより、ポート位置処理部164が、穿孔対象の複数のポート位置を計画してよい。ポート位置シミュレーションの詳細については後述する。
ポート位置処理部164は、被検体PSの体表上に設けられる複数のポート位置を用いてロボット手術する場合の適切度を示すポート位置スコアを導出(例えば算出)してよい。つまり、複数のポート位置の組み合わせに基づくポート位置スコアは、ロボット手術を行うための複数のポート位置の組み合わせの価値を示している。ポート位置スコアは、複数のポート位置の組み合わせ、手術支援ロボット300のキネマティクス、術式、仮想気腹状態のボリュームデータ、等に基づいて算出されてよい。ポート位置スコアは、ポート位置毎に導出される。ポート位置スコアの詳細については後述する。
ポート位置処理部164は、ポート位置スコアに基づいて、ポート位置を調整してよい。この場合、ポート位置処理部164は、ポート位置の移動に伴うポート位置スコアの変動量に基づいて、ポート位置を調整してよい。ポート位置調整の詳細については後述する。
このように、ポート位置処理部164は、ポート位置シミュレーションに従って、穿孔対象の複数のポート位置を導出してよい。また、ポート位置処理部164は、ポート位置スコアに基づいて、穿孔対象の複数のポート位置を導出してよい。
表示制御部166は、各種データ、情報、画像をディスプレイ130に表示させる。表示制御部166は、画像生成部162により生成された3次元画像又は2次元画像を表示させてよい。表示制御部166は、画像生成部162により生成された複数のポートPTの情報(例えばポート位置の情報)を示す画像を表示させてよい。
表示制御部166は、画像生成部162により生成された、各ポートPTを穿孔する際に各ポートに許容される誤差を示す情報(許容誤差情報)を示す画像を表示させてよい。この場合、表示制御部166は、3次元画像又は2次元画像に重畳させて、許容誤差情報を示す画像を表示させてよい。
投射制御部167は、投射部170による可視光の投射を制御する。投射制御部167は、例えば、可視光の周波数、光量、可視光を投射する位置、可視光を投射する時刻(タイミング)を制御してよい。
投射制御部167は、被検体PSに向かって可視光を投射部170に投射させ、被検体PSの体表(例えば腹部の体表部)に、各種情報を表示させる。投射制御部167は、被検体PSの体表に向かってレーザ光を投射し、体表上の特定位置にマーキングを行ってよい。この特定位置は、例えば、穿孔対象のポート位置、体表面のこの特定位置から法線方向に向かうとボリュームデータ上で観察対象(例えば患部)が存在する位置、でよい。つまり、投射制御部167は、ポート位置を示すレーザポインタであってよい。この場合、ポート位置は、許容誤差を示す範囲に拡張されて示されてよい。
また、投射制御部167は、被検体PSの体表面に可視光を投射部170に投射させ、被検体PSの体表に、ロボット手術を支援する情報(例えばポート位置に関する情報、許容誤差情報)を重畳させて表示させてよい。重畳される情報は、文字情報、図形情報、等であってよい。つまり、投射制御部167は、ロボット手術において拡張現実(AR:Augmented Reality)技術を用いてユーザを支援してよい。
図4は、既孔ポートPT1のポート位置の計測例を説明するための図である。ポート位置の計測は、3次元計測でよい。図4では、ベッドBDに被検体PS(例えば患者)が横になって載置されている。
深度センサ410は、赤外線を発光する発光部と、赤外線を受光する受光部と、画像を撮像するカメラと、を含んでよい。深度センサ410は、発光部により被検体PSへ発光された赤外線と、被検体PSで反射され受光された反射光と、に基づいて、深度センサ410から被検体PSまでの距離を検出してよい。深度センサ410は、カメラにより撮像された撮像画像により、被写体の上下左右を検出してよい。これにより、深度センサ410は、被検体PSの体表における各位置(例えば既孔ポートPT1のポート位置)の3次元位置(3次元座標)の情報を取得してよい。
深度センサ410は、プロセッサ及び内部メモリを有してよい。内部メモリは、トロッカーTCの形状の情報を保持しておいてよい。深度センサ410は、内部メモリに保持されたトロッカーTCの形状情報を参照し、被検体PSの体表面に穿孔されたポートPTに設置されたトロッカーTCを検出(認識)し、トロッカーTCの3次元位置を検出(計測)してよい。
また、トロッカーTCの表面に所定のマークが付されていてよい。深度センサ410は、トロッカーTCにおける所定のマークを特徴点として撮像することで、画像認識によりトロッカーTCを検出(認識)してよい。これにより、深度センサ410は、トロッカーTCの認識精度を向上でき、トロッカーTCの3次元位置の計測精度を向上できる。
また、深度センサ410は、赤外線センサ(発光部及び受光部)を備えず、ステレオカメラを備え、画像処理によりトロッカーTCの3次元位置を計測してよい。この場合、深度センサ410は、ステレオカメラにより撮像された撮像画像において物体認識によりトロッカーTCを認識し、被検体における体表上のトロッカーTCの位置を検出(認識)し、トロッカーTCまでの距離を算出することで、トロッカーTCの3次元位置を計測してよい。
深度センサ410は、赤外線センサから発光された赤外線が到達可能な範囲やカメラにより撮像可能な範囲(図4の範囲A1参照)で、被検体PSの体表上の各位置やトロッカーTCの位置を計測してよい。
なお、ロボット手術支援装置100の変形シミュレーション部163は、深度センサ410から、被検体PSの実気腹状態での体表上の各位置の情報、つまり被検体PSの実気腹状態での体表の形状の情報を取得してよい。また、変形シミュレーション部163は、被検体PSの非気腹状態でのボリュームデータを基に、被検体PSの輪郭(体表に相当)を抽出して、被検体PSの非気腹状態での体表上の各位置の情報、つまり被検体PSの非気腹状態での体表の形状の情報を取得してよい。
変形シミュレーション部163は、被検体PSの実気腹状態での体表上の各位置と被検体PSの非気腹状態での体表上の各位置との差分、つまり被検体PSの実気腹状態での体表の形状と被検体PSの非気腹状態での体表の形状との差分を算出してよい。これにより、変形シミュレーション部163は、被検体PSの実気腹状態とするための気腹量を認識できる。
また、変形シミュレーション部163は、実気腹状態と気腹シミュレーションによる仮想気腹状態との差分を基に、気腹シミュレーションのシミュレーション方法やシミュレーション結果を補正してよい。つまり、変形シミュレーション部163は、実際の気腹量を基に、気腹シミュレーションのシミュレーション方法やシミュレーション結果を補正してよい。変形シミュレーション部163は、この補正情報を、メモリ150に保持しておいてよい。また、変形シミュレーション部163は、通信部110を介して気腹装置より掃気量を受け取って、気腹シミュレーションのシミュレーション方法やシミュレーション結果を補正してよい。これにより、ロボット手術支援装置100は、気腹シミュレーションの精度を向上できる。
次に、ポート位置の表示例について説明する。
変形シミュレーション部163は、非気腹状態(例えば術前CT撮像)で得られたボリュームデータに気腹シミュレーションを行い、仮想気腹状態のボリュームデータを生成する。画像生成部162は、仮想気腹状態のボリュームデータをボリュームレンダリングして、ボリュームレンダリング画像を生成してよい。画像生成部162は、気腹状態のボリュームデータをサーフィスレンダリングして、サーフィスレンダリング画像を生成してよい。
変形シミュレーション部163は、非気腹状態(例えば術前CT撮像)で得られたボリュームデータに気腹シミュレーションを行い、非気腹状態から仮想気腹状態への変形情報を生成してよい。画像生成部162は、非気腹状態(例えば術前CT撮像)で得られたボリュームデータからサーフィスを生成してサーフィスレンダリング画像を生成してよい。画像生成部162は、非気腹状態(例えば術前CT撮像)で得られたボリュームデータからサーフィスを生成したものに変形情報を適用して仮想気腹状態のサーフィスレンダリング画像を生成してよい。
表示制御部166は、仮想気腹状態のボリュームレンダリング画像又はサーフィスレンダリング画像に、ポート位置処理部164により導出されたポート位置を重畳して、ディスプレイ130に表示させてよい。また、表示制御部166は、許容誤差情報をディスプレイ130に表示させてよい。
投射制御部167は、被検体PS(例えば患者)の体表におけるポート位置処理部164により導出されたポート位置に可視光を投射させ、可視光によりポート位置を指し示し、ポート位置を可視化してよい。これにより、ユーザは、被検体PSの体表におけるポート位置を確認しながら、ポート位置に対する穿孔等の処置を実施できる。また、投射制御部167は、可視光を投射させ、許容誤差情報を被検体PSの体表に表示させてよい。
また、投射制御部167は、被検体PSに可視光を投射させ、被検体PS(例えば患者)の体表におけるポート位置処理部164により導出されたポート位置を示す情報を表示させてよい。この場合、投射制御部167は、AR技術を用いて、被検体PSに、ポート位置を示す情報(例えばポートの識別情報、ポート位置を示す矢印)を重畳して表示させてよい。また、投射制御部167は、AR技術を用いて、被検体PSに、許容誤差情報を重畳して表示させてよい。これにより、ユーザは、可視光によるガイド情報を参照することで、被検体PSの体表におけるポート位置に関する情報を確認しながら、ポート位置に対する穿孔等の処置を実施できる。
ここで変形情報について詳述する。
変形シミュレーション部163は、気腹前後に得られる複数のボリュームデータ(CT画像)を基に、ボリュームデータに含まれる各部の動き(変形)を検出し、変形情報を生成する。この場合、変形シミュレーション部163は、複数の気腹量のボリュームデータを基に、複数のボリュームデータの変形に対して動き解析(変形解析)を行い、ボリュームデータにおける変形情報を取得する。変形解析の具体的手法は、例えば参考特許文献1、参考特許文献2に記載されている。これらは、非剛体レジストレーションの例になるが、剛体レジストレーションであってもよい。
(参考特許文献1:米国特許第8311300号明細書)
(参考特許文献2:日本国特許第5408493号公報)
変形シミュレーション部163は、変形情報として、ボリュームデータの任意の点の移動量に係る情報や速度に係る情報を取得してよい。変形シミュレーション部163は、参考特許文献1の手法を適用すると、ボリュームデータを2次元格子node(k,l)に区切り、2次元格子のフェーズtの格子node(k,l,t)における2次元座標を(x,y)とした場合、フェーズtの値を変更して得られる複数のnode(k,l,t)の差分を基に、node(k,l)の格子点に係る移動量の情報を算出してよい。また、変形シミュレーション部163は、移動量の情報を時間微分することで、速度の情報を算出してよい。移動量や速度の情報は、ベクトルで示されてよい。
変形シミュレーション部163がこの2次元格子の変形情報をボリュームデータ全体の各点に対して補間すると、ボリュームデータの各点の変形情報が得られる。この所定の点の変形情報を、観察部位を含む領域の各点に対して適用すると、観察部位を含む領域の各点の変形情報が得られる。
また、変形シミュレーション部163は、参考特許文献2の手法を適用すると、時系列に並ぶ(気腹前後の)ボリュームデータのうち、ボリュームデータtk-1及びその時刻情報tk-1、並びにボリュームデータtk及びその時刻情報tkを基に、変形情報を生成してよい。変形情報は、複数のボリュームデータ上の対応する位置もしくは対応する物体の対応関係の情報、位置及び物体が移動変化する過程の情報を指してよい。各ボリュームデータの画素が、時刻k-1と時刻kとの間の任意の時刻での位置を示す指標となる。
なお、変形シミュレーション部163は、参考特許文献1の手法に限られず、その他の公知のレジストレーション手法を用いて変形解析を行ってもよい。ロボット手術支援装置100は、変形情報を用いた各点や観察部位の変形解析により、被検体内の任意の位置が気腹前後でどの位置に移動したかを把握可能である。
次に、標準的なポート位置の具体例について説明する。
図5Aは、被検体PSの体表に設置されるポート位置の第1配置例を示す図である。図5Bは、被検体PSの体表に設置されるポート位置の第2配置例を示す図である。図5Cは、被検体PSの体表に設置されるポート位置の第3配置例を示す図である。複数のポート位置の配置は、例えば術式に応じて決定されてよい。図5A~図5Cでは、被検体PSの体格や観察対象の病変等の位置は考慮されていない。
なお、図5A~図5Cにおいて示された複数のポート位置は、穿孔予定のポート位置である。穿孔予定のポート位置と実際に穿孔されたポート位置とでは多少の誤差が生じることがあり、例えば25mm程度の誤差が生じることがある。
被検体PSの体表に設けられるポートPTには、カメラCAが挿入されるカメラポートPTC、エンドエフェクタEFが挿入されるエンドエフェクタポートPTE、助手が把持する鉗子類が挿入される補助ポートPTA、が含まれてよい。各ポートPTは種類毎(例えばカメラポートPTC、エンドエフェクタポートPTE、補助ポートPTA毎)に複数存在してよく、各ポートPTの大きさは種類毎に同じでも異なってもよい。例えば、臓器を抑えるためのエンドエフェクタEFや被検体PS内での動きが複雑なエンドエフェクタEFが挿入されるエンドエフェクタポートPTEは、電気メスとしてのエンドエフェクタEFが挿入されるエンドエフェクタポートPTEよりも大きくてよい。補助ポートPTAは、比較的自由に配置位置が計画されてよい。
図5Aでは、カメラポートPTCのポート位置を基準(頂点)として、被検体PSの右方向及び被検体PSの左方向において、多くのエンドエフェクタポートPTE及び補助ポートPTAが直線状に配列されている。
図5Bでは、臍hsの位置を挟んで、多くのエンドエフェクタポートPTE及び補助ポートPTAが直線状に配列されている。また、カメラポートPTCも臍hsの近傍に配置されている。
図5Cでは、多くのエンドエフェクタポートPTE及び補助ポートPTAが直線状に配列されている。臍hsの位置は、この直線上の位置から、ややずれている。また、カメラポートPTCも臍hsの近傍に配置されている。
直線的に多くのポートPTが並んで配置されることが多いのは、ユーザが見やすいことと安心感があるためと考えられる。なお、複数のポートPTのうち、カメラポートPTCが被検体PSの体表面の中央部に配置されなくてもよい。
図6は、ロボット手術時の被検体PS、ポートPT、トロッカーTC、及びロボットアームARの位置関係の一例を示す図である。
被検体PSには、1つ以上のポートPTが設けられる。ポートPTのそれぞれには、トロッカーTCが配置される。トロッカーTCにはエンドエフェクタEFが接続(例えば挿通)され、被検体内でのエンドエフェクタEFによる作業(処置)が可能となる。ポート位置は、固定して配置され、術中に移動しない。したがって、ポート位置に配置されるトロッカーTCの位置も移動しない。一方、術中の処置に応じて、サージョンコンソールの操作を基にロボットアームAR及びエンドエフェクタが制御され、ロボットアームARは移動する。よって、ロボットアームARとトロッカーTCの位置関係が変化し、被検体PSの体表面に対するトロッカーTCの角度やトロッカーTCに取り付けられたエンドエフェクタEFの角度が変化する。なお、図6では、助手が把持する監視類もエンドエフェクタとして示されている。
次に、ロボット手術支援装置100の動作について説明する。
まず、ポート位置シミュレーションの手順について説明する。図7は、ポート位置シミュレーションの手順の一例を示すフローチャートである。
まず、ポート位置処理部164は、例えば通信部110を介して、被検体PSを含むボリュームデータを取得する(S11)。ポート位置処理部164は、例えば通信部110を介して、手術支援ロボット300のキネマティクスの情報を取得する(S12)。変形シミュレーション部163は、気腹シミュレーションを実行し(S13)、被検体PSの仮想気腹状態のボリュームデータを生成する。
ポート位置処理部164は、術式の情報を取得する(S14)。ポート位置処理部164は、取得された術式に応じた複数のポートPTの位置(初期位置)を取得し、設定する(S14)。この場合、ポート位置処理部164は、3次元座標で複数のポートPTの位置を設定してよい。
ポート位置処理部164は、ターゲット領域の位置の情報を取得する(S15)。
ポート位置処理部164は、S14で取得された複数のポートの位置とターゲット領域の位置とに基づいて、各ポートPTから挿入された各エンドエフェクタEFがターゲット領域にアクセス可能か否かを判定する(S16)各エンドエフェクタEFがターゲット領域にアクセス可能か否かは、ターゲット領域における全ての位置に、各エンドエフェクタEFが到達可能であるか否かに相当してよい。つまり、エンドエフェクタEF(必要に応じて複数のエンドエフェクタEF)によって、取得された術式に従ったロボット手術が可能であるか否かを示しており、アクセス可能な場合には、ロボット手術が可能であることを示している。
各エンドエフェクタEFの少なくも1つがターゲット領域の少なくとも一部にアクセス不可能である場合、ポート位置処理部164は、穿孔対象の複数のポートPTに含まれる少なくとも1つのポートPTのポート位置を、被検体PSの体表に沿って、移動する(S17)。この場合、ポート位置処理部164は、UI120を介したユーザ入力を基に、ポート位置を移動してよい。移動させるポートPTは、少なくとも、ターゲット領域の少なくとも一部にアクセス不能であったエンドエフェクタEFが挿入されたポートPTを含む。
各エンドエフェクタEFがターゲット領域にアクセス可能である場合、処理部160は、図7のポート位置シミュレーションの処理を終了する。
このように、ロボット手術支援装置100は、ポート位置シミュレーションを実施することで、取得された複数のポート位置を用いてターゲット領域にアクセス可能であるか否か、よって取得された複数のポート位置を用いた手術支援ロボット300によるロボット手術が可能であるか否かを判定できる。複数のポート位置を用いてターゲット領域にアクセス不能である場合、ロボット手術支援装置100は、UI120介してポート位置の少なくとも一部を変更して、変更された複数のポート位置を用いてターゲット領域にアクセス可能であるか否かを再度判定してよい。ロボット手術支援装置100は、ターゲット領域にアクセス可能である複数のポート位置の組み合わせを、穿孔対象の複数のポート位置に計画できる。このように、ロボット手術支援装置100は、ユーザ手動でポート位置を調整し、ポート位置を計画できる。
次に、ポート位置スコアの算出例について説明する。
複数のポート位置は、例えば術式に従って定められ、被検体PSの体表上の任意の位置にそれぞれ配置されることが仮定されてよい。よって、複数のポート位置の組み合わせも、様々なポート位置の組み合わせが仮定されてよい。1つのポートPTから、ロボットアームARに装着された1つのエンドエフェクタEFが被検体PS内に挿入可能である。よって、複数のポートPTから、複数のロボットアームARに装着された複数のエンドエフェクタEFが被検体PS内に挿入可能である。
1つのエンドエフェクタEFがポートPTを介して被検体PS内において到達可能な範囲が、1つのエンドエフェクタEFによって作業(ロボット手術における処置)が可能なワーキングエリア(個別ワーキングエリアWA1)となる。よって、複数のエンドエフェクタEFによる個別ワーキングエリアWA1が重複するエリアが、複数のエンドエフェクタEFが複数のポートPTを介して被検体PS内において同時に到達可能なワーキングエリア(全体ワーキングエリアWA2)となる。術式に従った処置では、所定数(例えば3つ)のエンドエフェクタEFが同時動作することが必要であるので、所定数のエンドエフェクタEFが同時に到達可能な全体ワーキングエリアWA2が考慮される。
また、手術支援ロボット300のキネマティクスによってエンドエフェクタEFが到達可能な被検体PSにおける位置が異なるので、エンドエフェクタEFが被検体PS内に挿入される位置であるポート位置の導出に加味される。また、術式によって確保すべき全体ワーキングエリアWA2の被検体PS内における位置が異なるので、全体ワーキングエリアWA2の位置に対応するポート位置の導出に加味される。
ポート位置処理部164は、取得された(仮定された)複数のポート位置の組み合わせ毎に、ポート位置スコアを算出してよい。ポート位置処理部164は、仮定された複数のポート位置の組み合わせのうち、所定条件を満たすポート位置スコア(例えば最大となるポートスコア)となるポート位置の組み合わせを計画してよい。つまり、計画されたポート位置の組み合わせに含まれる複数のポート位置を、穿孔対象の複数のポート位置に計画してよい。
なお、ポート位置と手術支援ロボット300の可動部の動作との関係性は、例えば参考非特許文献2,3に記載された関係性を満たしてよい。
(参考非特許文献2):Mitsuhiro Hayashibe, Naoki Suzuki, Makoto Hashizume, Kozo Konishi, Asaki Hattori, “Robotic surgery setup simulation with the integration of inverse-kinematics computation and medical imaging”, computer methods and programs in biomedicine, 2006, P63-P72
(参考非特許文献3)Pal Johan From, “On the Kinematics of Robotic-assisted Minimally Invasive Surgery”, Modeling Identication and Control, Vol.34, No.2, 2013, P69-P82
図8は、ロボット手術支援装置100によるポート位置スコアを算出する場合の動作例を示すフローチャートである。
図8の処理前には、図8に示したポート位置シミュレーションのS11~S14と同様に、被検体PSのボリュームデータの取得、手術支援ロボット300のキネマティクスの情報の取得、気腹シミュレーションの実行、及び術式の情報の取得が行われる。また、キネマティクスの情報は、術式に応じて各ロボットアームARに装着された各エンドエフェクタEFの情報が含まれてよい。なお、ポート位置スコアの初期値は値0である。ポート位置スコアは、ポート位置の組み合わせの価値を示す評価関数(評価値)である。なお、変数は、作業の識別情報の一例であり、変数jは、ポートの識別情報の一例である。
ポート位置処理部164は、術式に応じて、各エンドエフェクタEFを用いた作業work_iのリストである作業リストworksを生成する(S21)。作業work_iには、術式に従った手術手順で各エンドエフェクタEFが作業するための情報が含まれる。作業work_iには、例えば把持、切除、縫合等が含まれてよい。なお、作業には、単一のエンドエフェクタEFによる単独作業、複数のエンドエフェクタEFによる協調作業、が含まれてよい。
ポート位置処理部164は、術式及び仮想気腹状態のボリュームデータに基づいて、作業リストworksに含まれる作業work_iを行うために最低限必要な領域である最小領域least_region_iを決定する(S22)。最小領域は、被検体PSにおける3次元領域で定められてよい。ポート位置処理部164は、最小領域least_region_iのリストである最小領域リストleast_regionsを生成する(S22)。
ポート位置処理部164は、術式、手術支援ロボット300のキネマティクス、及び仮想気腹状態のボリュームデータに基づいて、作業リストworksに含まれる作業work_iを行うために推奨される領域である推奨領域effective_region_iを決定する(S23)。ポート位置処理部164は、推奨領域effective_region_iのリストである推奨領域リストeffective_regionsを生成する(S23)。推奨領域には、作業を行うための最低限の空間(最小領域)とともに、例えばエンドエフェクタEFが動作するために推奨される空間が含まれてよい。
ポート位置処理部164は、複数のポート位置port_jのリストであるポート位置リストportsの情報を取得する(S24)。ポート位置は、3次元座標(x,y,z)で定められてよい。ポート位置処理部164は、例えば、UI120を介してユーザ入力を受け付け、ユーザにより指定された1つ以上のポート位置を含むポート位置リストportsを取得してよい。ポート位置処理部164は、メモリ150にテンプレートとして保持されたポート位置リストportsを取得してもよい。
ポート位置処理部164は、術式、手術支援ロボット300のキネマティクス、仮想気腹状態のボリュームデータ、及び取得された複数のポート位置に基づいて、各作業work_iについて、各ポート位置port_jを介して各エンドエフェクタEFが作業可能な領域であるポート作業領域region_iを決定する(S25)。ポート作業領域は、3次元領域で定められてよい。ポート位置処理部164は、ポート作業領域region_iのリストであるポート作業領域リストregionsを生成する(S25)。
ポート位置処理部164は、作業work_i毎に、最小領域least_region_iからポート作業領域region_iから引いて、減算領域(減算値)を算出する(S26)。ポート位置処理部164は、減算領域が空領域(減算値が負の値)でないか否かを判定する(S26)減算領域が空領域でないか否かは、最小領域least_region_i内の少なくとも一部に、ポート作業領域region_iに覆われていない領域(ポートPTを介してエンドエフェクタEFが到達しない領域)が存在する否かを示している。
減算領域が空領域である場合、ポート位置処理部164は、推奨領域effective_region_iとポート作業領域region_iとの積である体積値volume_iを算出する(S27)。そして、ポート位置処理部164は、作業work_i毎に算出された体積値volume_iを合計し、合計値volume_sumを算出する。ポート位置処理部164は、合計値volume_sumをポート位置スコアに設定する(S27)。
つまり、減算領域が空領域である場合、最小領域内にポート作業領域に覆われていない領域が存在せず、このポート位置リストports(ポート位置port_jの組み合わせ)が選択されることが好ましいので、このポート位置リストが選択され易くように、ポート位置スコアに作業work_i毎の値が加算される。また、体積volume_iを基準にポート位置スコアが決定されることで、最小領域やポート作業領域が大きい程、ポート位置スコアが大きくなり、このポート位置リストportsが選択され易くなる。よって、ポート位置処理部164は、最小領域やポート作業領域が大きく、手術における各処置が容易になるポート位置の組み合わせを選択し易くできる。
一方、減算領域が空領域でない場合、ポート位置処理部164は、ポート位置リストportsについてのポート位置スコアを、値0に設定する(S28)。つまり、最小領域内の少なくとも一部にポート作業領域に覆われていない領域が存在し、対象の作業work_iの作業を完結できない可能性があるので、このポート位置リストPostsが選択されることが好ましくない。そのため、ポート位置処理部164は、このポート位置リストPostsが選択されにくくなるように、ポート位置スコアを値0とし、選択候補から除外する。この場合、ポート位置処理部164は、同じポート位置リストportsを用いて他の作業work_iを行う場合に空領域となっても、全体でのポート位置スコアを値0に設定する。
なお、ポート位置処理部164は、全ての作業work_iについて図8の各ステップを繰り返し、全作業work_iを加味したポート位置スコアを算出してよい。
このように、ロボット手術支援装置100は、ポート位置スコアを導出することで、被検体PSの体表上に設けられる複数のポート位置を用いてロボット手術する場合に、穿孔候補のポート位置の組み合わせが、どの程度適切であるかを把握できる。個別ワーキングエリアWA1や全体ワーキングエリアWA2は、穿孔対象となる複数のポートの配置位置によって左右される。この場合でも、手術支援ロボット300は、複数のポート位置の組み合わせ毎のスコア(ポート位置スコア)を加味することで、例えばポート位置スコアが閾値th1以上(例えば最大)となる複数のポート位置の組み合わせを導出でき、ロボット手術を実施し易いポート位置を設定できる。
また、ポート位置スコアに基づいてワーキングエリアが適切に確保されることで、ユーザは、ロボット手術において直接目視できない被検体PS内での視野を広く確保でき、ポート作業領域を広く確保でき、不測の事態に対処し易くなる。
また、ロボット手術では、穿孔されたポート位置は不変であるが、ポート位置に挿入されるエンドエフェクタが装着されるロボットアームARは所定範囲で移動可能である。そのため、ロボット手術では、計画されるポート位置によっては、ロボットアームARが相互に干渉し得るので、ポート位置の計画は重要である。また、手術支援ロボット300と被検体PSとの位置関係を術中に変更することは原則的に行われないので、ポート位置の計画は重要である。
図9は、ポート位置を基に定められるワーキングエリアの一例を示す図である。個別ワーキングエリアWA1は、各ポート位置port_jに対応する個別のワーキングエリアである。個別ワーキングエリアWA1は、個別のエンドエフェクタEFが到達可能な被検体PS内の領域でよい。各個別ワーキングエリアWA1が重複するエリアが、全体ワーキングエリアWA2である。全体ワーキングエリアWA2は、ポート作業領域region_iに相当してよい。ロボット手術支援装置100は、ポート位置スコアを用いることで、各ポート位置を最適化でき、好適な個別ワーキングエリアWA1及び全体ワーキングエリアWA2を導出できる。
次に、ポート位置調整の詳細について説明する。
ポート位置処理部164は、例えばメモリ150に保持されたテンプレートやUI120を介したユーザ指示を基に、複数のポート位置(候補位置)の情報を取得する。ポート位置処理部164は、取得された複数のポート位置の組み合わせに基づいて、この複数のポート位置を用いた場合のポート位置スコアを算出する。
ポート位置処理部164は、ポート位置スコアに基づいて、ポートPTの位置を調整してよい。この場合、ポート位置処理部164は、取得された複数のポート位置の場合のポート位置スコアと、この複数のポート位置のうちの少なくとも1つのポート位置を変更した場合のポート位置スコアと、に基づいて、ポートPTの位置を調整してよい。この場合、ポート位置処理部164は、3次元空間での各方向(x方向、y方向、z方向)に沿ったポート位置の微小移動や微分を加味してよい。
なお、x方向は、被検体PSを基準とした左右方向に沿ってよい。y方向は、被検体PSを基準とした前後方向(被検体PSの厚み方向)でよい。z方向は、被検体PSを基準とした上下方向(被検体PSの体軸方向)でよい。x方向、y方向、z方向は、DICOM(Digital Imaging and COmmunications in Medicine)で規定された3方向でよい。x方向、y方向、z方向は、これ以外の方向でもよく、被検体PSを基準にしない方向でもよい。
例えば、ポート位置処理部164は、(式1)に従って、複数のポート位置に対して、ポート位置スコアF(ports)を算出し、Fの微分値F’を算出してよい。
F(port_j(x+Δx, y, z)) - F(port_j(x, y, z))
F(port_j(x, y+Δy, z)) - F(port_j(x, y, z)) ・・・(式1)
F(port_j(x, y, z+Δz)) - F(port_j(x, y, z))
つまり、ポート位置処理部164は、ポート位置F(port_j(x+Δx, y, z))の場合のポート位置スコアFを算出し、ポート位置F(port_j(x, y, z))の場合のポート位置スコアFを算出し、その差分を算出する。この差分値は、ポート位置F(port_j(x, y, z))におけるx方向の微小変化に対するポート位置スコアFの変化を示し、つまり、x方向のFの微分値F’を示す。
また、ポート位置処理部164は、ポート位置F(port_j(x, y+Δy, z))の場合のポート位置スコアFを算出し、ポート位置F(port_j(x, y, z))の場合のポート位置スコアFを算出し、その差分を算出する。この差分値は、ポート位置F(port_j(x, y, z))におけるy方向の微小変化に対するポート位置スコアFの変化を示し、つまり、y方向のFの微分値F’を示す。
また、ポート位置処理部164は、ポート位置F(port_j(x, y, z+Δz))の場合のポート位置スコアFを算出し、ポート位置F(port_j(x, y, z))の場合のポート位置スコアFを算出し、その差分を算出する。この差分値は、ポート位置F(port_j(x, y, z))におけるz方向の微小変化に対するポート位置スコアFの変化を示し、つまり、z方向のFの微分値F’を示す。
ポート位置処理部164は、各方向の微分値F’に基づいて、ポート位置スコアの最大値を算出する。この場合、ポート位置処理部164は、微分値F’に基づいて、再急降下法に従ってポート位置スコアが最大となるポート位置を算出してよい。ポート位置処理部164は、算出されたポート位置を穿孔対象の位置とするように、ポート位置を調整し、ポート位置を最適化してよい。なお、ポート位置スコアが最大となるポート位置でなくても、例えばポート位置スコアが閾値th1以上となる位置でもよく、ポート位置スコアが改善されれば(高くなれば)よい。
ポート位置処理部164は、このようなポート位置の調整を、複数のポート位置の組み合わせに含まれる他のポート位置の調整に適用したり、複数のポート位置の他の組み合わせにおけるポート位置の調整に適用したりしてよい。これにより、ポート位置処理部164は、各ポート位置が調整された(例えば最適化された)複数のポートPTを、穿孔対象のポート位置に計画できる。
なお、複数のポート位置(ポート位置の座標)は、穿孔予定位置と実際の穿孔位置とで所定長(例えば25mm)程度の誤差が生じ得、またポート位置の計画精度は精々3mmあれば十分であると考えられる。そのため、ポート位置処理部164は、被検体PSの体表において所定長毎に、ポート位置の組み合わせに含まれる複数のポート位置を総当たりで穿孔予定位置とし、この複数のポート位置についてのポート位置スコアをそれぞれ算出してよい。つまり、被検体PSの体表における所定長(例えば3mm)の格子状(グリッド)に、穿孔予定位置が配置されてよい。また、体表上に仮定されるポート数(例えば格子状の交点の数)がn個であり、ポート位置の組み合わせに含まれるポート数がm個である場合、ポート位置処理部164は、n個のポート位置からm個のポート位置を順番に選択して組み合わせ、それぞれの組み合わせでのポート位置スコアを算出してよい。このように、3mm間隔の格子状のようにグリッドが過度に細かくない場合には、ポート位置処理部164の計算負荷が過大となることを抑制でき、全組み合わせのポート位置スコアを算出可能である。
なお、ポート位置処理部164は、公知の方法に従って、複数のポート位置の調整を行ってよい。ポート位置処理部164は、穿孔対象のポート位置を、調整後のポート位置の組み合わせに含まれる複数のポート位置に計画してよい。ポート位置調整の公知の方法は、以下の参考非特許文献4,5及び参考特許文献3に記載された技術を含んでよい。
(参考非特許文献4)Shaun Selha、Pierre Dupont, Robert Howe, David Torchiana, “Dexterity optimization by port placement in robot-assisted minimally invasive surgery”, SPIE International Symposium on Intelligent Systems and Advanced Manufacturing, Newton, MA, 28-31, 2001
(参考非特許文献5)Zhi Li, Dejan Milutinovic, Jacob Rosen, “Design of a Multi-Arm Surgical Robotic System for Dexterous Manipulation”, Journal of Mechanisms and Robotics, 2016
(参考特許文献3)米国特許出願公開第2007/0249911明細書
次に、ポート位置の許容誤差について説明する。
ポート位置処理部164は、各ポートに許容される誤差を示す情報(許容誤差情報)を導出(例えば算出)する。ポート位置処理部164は、ポート位置スコアに基づいて、許容誤差情報を算出してよい。ポート位置処理部164は、ポート位置の移動に伴うポート位置スコアの変動量に基づいて、許容誤差情報を算出してよい。許容誤差は、例えば、ポート位置の穿孔精度の最高水準を示す閾値th2(例えば誤差3mm)よりも大きい値でよい。
許容誤差情報は、被検体PSの体表上に表示されてよい。この場合、投射制御部167が、許容誤差情報を示す可視光を、被検体PSの体表に向けて投射させてよい。また、表示制御部166が、被検体PSのボリュームデータをレンダリングしたレンダリング画像に、許容誤差情報を重畳して表示させてよい。
許容誤差情報は、図形情報や文字情報として表示されてよい。図形情報は、穿孔対象のポート位置を含む許容誤差を含む範囲が示されてよい。この範囲は、被検体PSの体表における二次元範囲でよい。二次元範囲は、円(楕円、真円、その他の円)、多角形(例えば長方形、正方形、三角形、その他の多角形)、その他の形状で示される範囲でよい。円や多角形は、プリミティブ形状とも称する。許容誤差情報は、その他の情報(例えば表示態様(表示色、表示サイズ、表示パターン、点滅パターン)の情報)として表示されてよい。例えばポートPTの許容誤差が大きい場合には第1の色でポートPTが表示され、許容誤差が小さい場合には第2の色でポートPTが表示されてよい。
ロボット手術支援装置100が許容誤差情報を表示させることで、ユーザは、許容誤差情報を視認でき、穿孔対象のポート位置がどのくらいの範囲で穿孔されることが許容されるかを迅速に把握できる。よって、例えば許容誤差情報が示す空間的(又は平面的)な範囲が大きい場合、ユーザは、穿孔対象のポート位置にポートを大雑把に穿孔可能であることを認識できる。また、例えば許容誤差情報が示す空間的(又は平面的)な範囲が小さい場合、ユーザは、穿孔対象のポート位置にポートPTを正確に穿孔する必要があることを認識できる。よって、ロボット手術支援装置100は、例えば許容誤差が大きい許容誤差情報を表示させる場合、ポートPTを穿孔するユーザの心理的負担を軽減できる。また、ロボット手術支援装置100は、例えば許容誤差が大きい許容誤差情報を表示させる場合、ポートPTを穿孔するユーザがポートの位置決めを行うのに要する工数を削減でき、手術時間を短縮できる。また、ロボット手術支援装置100は、例えば許容誤差が小さい許容誤差情報を表示させる場合、ポートPTの穿孔に際し高い精度が求められている旨を、ユーザへ注意喚起できる。
図10は、ロボット手術支援装置100による許容誤差情報の導出手順の一例を示すフローチャートである。なお、図10においても、図8と同様に、被検体PSのボリュームデータの取得、手術支援ロボット300のキネマティクスの情報の取得、気腹シミュレーションの実行、及び術式の情報の取得が事前に行われる。
ポート位置処理部164は、複数のポート位置(穿孔候補の位置)の情報を取得する(S31)。ポート位置処理部164は、取得された複数のポート位置に基づいて、ポート位置シミュレーションを行い、ポート位置スコアを算出する(S32)。この場合、ポート位置処理部164は、術式、手術支援ロボット300のキネマティクス、仮想気腹状態のボリュームデータ、及び取得された複数のポート位置に基づいて、ポート位置スコアを算出してよい。つまり、ここでは、ポート位置処理部164は、取得されたポート位置でのポート位置スコアを算出してよい。
ポート位置処理部164は、取得された複数のポート位置に許容されるポート位置スコアの低下度合を示す許容低下情報(全体許容低下情報)を取得する(S33)。許容低下情報は、ポート位置に許容されるポート位置スコアの低下量や低下率の情報を含んでよい。ポート位置処理部164は、UI120を介してユーザ入力を受け、全体許容低下情報を取得してよい。ポート位置処理部164は、メモリ150から全体許容低下情報を取得してよい。ポート位置処理部164は、通信部110を介して外部サーバから全体許容低下情報を取得してよい。
ポート位置処理部164は、各ポート位置に許容されるポート位置スコアの低下度合を示す許容低下情報(個別許容低下情報)を取得する(S34)。個別許容低下情報は、ポートPT毎に同じでもよいし異なってもよい。ポート位置処理部164は、全体許容低下情報を基に、個別低下情報を導出(例えば算出)してよい。この場合、ポート位置処理部164は、全体許容低下情報が示す許容低下量をポートPTの数で除することで、個別許容低下情報が示すポート毎の許容低下量を算出してよい。
また、ポート位置処理部164は、S33における全体許容低下情報の取得をせずに、個別許容低下情報を取得してもよい。この場合、ポート位置処理部164は、UI120を介してユーザ入力を受け、個別許容低下情報を取得してよい。ポート位置処理部164は、メモリ150から個別許容低下情報を取得してよい。ポート位置処理部164は、通信部110を介して外部サーバから個別許容低下情報を取得してよい。
ポート位置処理部164は、少なくとも1つのポート位置を移動する場合に、移動前のポート位置(ポート位置の組み合わせ)でのポート位置スコアと移動後のポート位置(ポート位置の組み合わせ)でのポート位置スコアとに基づいて、ポート位置の移動に伴う低下度合を示す低下情報を導出(例えば算出)する(S35)。低下情報は、ポート位置の移動に伴う低下量や低下率を含んでよい。この場合、ポート位置処理部164は、移動前のポート位置でのポート位置スコアから移動後のポート位置でのポート位置スコアを減算して、ポート位置スコアの低下量を算出してよい。
ポート位置処理部164は、ポート位置を移動させた場合のポート位置スコアの変化量(低下量)を、先述した(式1)に従って算出してもよい。この場合、ポート位置の所定距離(例えば微小距離)の移動前後におけるポート位置スコアの低下量は、ポート位置スコアFの微分値F’に相当してよい。
また、ポート位置の移動は、被検体PSの体表面に沿った任意の方向への移動でよい。この場合、体表面が平面である場合には、移動前後のポート位置は、体表面に沿う二次元平面内に位置する。また、体表面が曲面を含む場合には、移動前後のポート位置は、3次元空間内に位置する。
ポート位置処理部164は、被検体PSにおいて、各ポート位置について、低下情報が許容低下情報を満たす領域(許容領域PR)を導出する(S36)。この場合、ポート位置処理部164は、低下情報が示す低下量が、許容低下情報が示す許容低下量以下となる許容領域PRを算出してよい。許容領域PRは、3次元空間における領域でよい。したがって、許容領域PRの輪郭は、ポート位置を基準とした、許容低下情報が示す許容低下量と一致する3次元空間における位置となる。許容領域PRは、許容誤差情報の一例である。
ポート位置処理部164は、表示制御部166又は投射制御部167を介して、ポートPT毎に、ポート位置と、このポート位置についての許容領域PRと、を表示させる(S37)。この場合、表示制御部166は、被検体PSのレンダリング画像に重畳して、ポートPT毎に、ポート位置と、このポート位置についての許容領域PRと、をディスプレイ130に表示させてよい。また、投射制御部167は、被検体PSの体表に向かって、ポートPT毎にポート位置とこのポート位置についての許容領域PRとを示す可視光を、投射部170に投射させることで、ポート位置と許容領域PRとを表示させてよい。
なお、ポート位置処理部164は、気腹された被検体PSの体表の情報を、仮想気腹状態のボリュームデータの輪郭を抽出することで取得してよい。ポート位置処理部164は、気腹された被検体PSの体表と許容領域PRとが重複する重複範囲を導出(例えば算出)してよい。画像生成部162は、仮想気腹状態のボリュームデータをサーフィスレンダリングして、導出された重複範囲のサーフィスレンダリング画像を生成してよい。表示制御部166は、重複範囲のサーフィスレンダリング画像をディスプレイ130に表示させてよい。
また、レンダリング画像における許容領域PRは、領域で直接指し示されるのではなく、他の情報により示されてよい。例えば、表示制御部166は、レンダリング画像の表面に許容領域PRを投影させて得られる範囲の半径を表示させることで、許容領域PRを表示させてよい。また、投射制御部167は、被検体PSの体表に許容領域PRを投影させて得られる範囲の半径を示す情報を可視光で投射させることで、許容領域PRを表示させてよい。
また、表示制御部166又は投射制御部167は、許容領域PRを直接表示させるのではなく、許容領域PRのサイズに応じて異なる表示態様(例えば表示色、表示パターン、点滅パターン)で各ポート位置を変更してよい。これにより、ユーザは、表示態様を確認することで、許容領域PRのサイズを認識でき、許容誤差が大きいか小さいかを確認できる。
このように、ロボット手術支援装置100は、許容誤差情報の導出することで、ポートPTの穿孔に要求される穿孔精度を導出できる。また、ロボット手術支援装置100は、許容誤差情報を表示させる(可視化する)ことで、ユーザは許容誤差情報を視認できる。よって、ユーザは、例えば、穿孔対象のポートを大雑把に穿孔可能であるか、慎重に穿孔する必要があるのか、等を確認でき、穿孔の準備をし易くなる。
次に、被検体PSの厚み方向(y方向)におけるポート位置の誤差について説明する。
図11は、被検体PSの厚み方向(y方向)におけるポート位置の誤差の第1例を示す図である。図12は、被検体PSの厚み方向(y方向)におけるポート位置の誤差の第2例を示す図である。図11及び図12では、直線的な距離に基づく誤差を例示している。
ポート位置は、ベッドBDに横たわった被検体PSを上(y方向負側、いわゆる正面図)から見た平面図で示されることが多い。平面図で示されるポート位置の誤差は、ベッドBDに沿う方向の誤差であり、xz方向における誤差である。実際には、平面図では示されない、xz方向に垂直なy方向における位置が、体表上の位置によって異なる。
図11では、被検体PSが気腹されており、気腹空間ksが存在する。図11では、ポートA1、ポートB1のいずれにおいても、平面図ではx方向に誤差10mmの範囲を示している。しかし、平面図で示されるxz方向以外のy方向を加味すると、被検体におけるx方向中央部よりもx方向端部の方が、つまりポートB1の位置の方が、体表上の誤差の範囲が大きい。したがって、ポートB1の方がy方向の誤差のワーキングエリアに対する影響が大きい。誤差の範囲で位置変動し得るポートの位置に応じて、ワーキングエリアを加味したポート位置スコアが変化するためである。
また、図12においても、被検体PSが気腹されており、気腹空間ksが存在する。図12では、ポート位置の情報として、平面図においてxz方向に沿う誤差の範囲の情報を示すとともに、y方向に沿う誤差の範囲の情報が記されている。具体例として、ポートA2の誤差の範囲が、x方向において体表上の臍hsに対応する位置からの距離が15~20mmの範囲であることを示している。また、ポートB2の誤差の範囲が、ベッドBDからの距離が150mm~160mmの範囲であることを示している。表示制御部166は、少なくとも一方の情報(x方向に沿う誤差範囲、y方向に沿う誤差範囲、の情報)を表示対象として決定し、表示させてよい。図11、図12に示した誤差の範囲は、許容誤差の範囲内でも許容誤差の範囲内でなくてもよい。
次に、ポート位置を定めるための距離の計測方法について説明する。
例えば穿孔対象のポートの穿孔のために、ポートの位置が基準位置(例えば臍hs、隣のポート位置)から計測される場合に、直線距離で計測されてもよいし、曲線的に距離が計測されてもよい。つまり、ポートの位置と基準位置との距離が、直線距離で示されてもよいし、曲線距離(例えば被検体PSの体表に沿った距離)で示されてもよい。これらの距離の計測方法は、ポートPTが実際に穿孔されていない場合の仮想的な距離計測で用いられてもよいし、ポートPTが実際に穿孔された場合の距離の実測で用いられてもよい。
図13は、直線距離の計測例を示す図である。直線距離は、xz平面(x方向)に沿った距離L11やy方向に沿った距離L12(ベッドBDからの距離)でよい。また、例えば、定規を用いてポート位置を計測する場合には、被検体PSの体表に定規を当てて計測を行うので、直線的な距離の計測であってもxyz方向に平行でない距離でもよいし、また、体表の一部に平行な直線上の距離でもよい。
図14は、曲線的な距離の計測例を示す図である。曲線的な距離は、基準位置(例えば臍hs、隣のポート位置、ベッドBD)からの被検体PSの体表に沿った表面距離L13,L14でよい。曲線的な距離は、基準位置を基に凸包を生成し、凸包における表面距離でよい。例えば、巻尺を用いてポート位置を計測する場合には、被検体PSの体表に沿った計測を行うので、曲線的な距離の計測が便利である。計測された距離は、計測器400の操作部を介して計測器400に距離情報として入力され、距離情報がロボット手術支援装置100に送られてよい。また、計測された距離は、ロボット手術支援装置100のUI120を介してユーザ入力されてよい。
次に、気腹量に応じた許容誤差の調整について説明する。
図15は、気腹量に応じた許容誤差の調整例を示す図である。
変形シミュレーション部163は、気腹量kr1を用いて気腹シミュレーションkn1を行い、ボリュームデータv1を生成してよい。ボリュームデータv1の輪郭が、気腹シミュレーションkn1が予測する仮想気腹状態の被検体PSの体表面bs1となる。変形シミュレーション部163は、気腹量kr1よりも多い気腹量kr2(つまりkr2>kr1)を用いて気腹シミュレーションkn2を行い、ボリュームデータv2を生成してよい。ボリュームデータv2の輪郭が、気腹シミュレーションkn2が予測する仮想気腹状態の被検体PSの体表面bs2となる。変形シミュレーション部163は、気腹量kr2よりも多い気腹量kr3(つまりkr3>kr2)を用いて気腹シミュレーションkn3を行い、ボリュームデータv3を生成してよい。ボリュームデータv3の輪郭が、気腹シミュレーションkn3が予測する仮想気腹状態の被検体PSの体表面bs3となる。
ポート位置処理部164は、気腹量kr2に基づく仮想気腹状態のボリュームデータv2に基づいて、3次元的な許容領域PRを導出したとする。この場合、ポート位置処理部164は、許容領域PRと体表面bs2の交わりから、許容範囲PA2を導出(例えば算出)してよい。また、ポート位置処理部164は、許容領域PRを導出するためのボリュームデータv2とは別のボリュームデータv1,v3の輪郭が示す体表面bs1,bs3と、許容領域PRの交わりから、許容範囲PA1,PA3を導出(例えば算出)してよい。なお、気腹量が大きい程、許容範囲が大きくてよい。気腹量が小さい程、許容範囲が小さくてよい。
ポート位置処理部164は、それぞれの体表面bs1、bs3に対応する許容範囲PA1、PA3を体表面bs2投影し、許容範囲PA1’、PA3’とし、許容範囲PA1’、PA2、PA3’の重複範囲を、最小許容範囲MPAとしてよい。最小許容範囲MPAは、いずれの気腹量kr1~kr3で気腹されても、許容領域PRに含まれることを意味する。したがって、最小許容範囲MPA内においてポートPTが穿孔されることで、気腹量によらずに許容誤差の範囲内に収まることになる。最小許容範囲MPAを示す情報は、ディスプレイ130又は被検体PSの体表面に表示されてよい。最小許容範囲MPAは、許容範囲PA1’、PA2、PA3’の径の最小値を用いて定めてもよい。
このように、ロボット手術支援装置100は、複数の気腹状態を加味することで、例えば、標準的な気腹シミュレーションの結果と、腹部が大きく膨らんだ場合の気腹シミュレーションの結果と、あまり腹部が膨らまなかった場合の気腹シミュレーションの結果と、を取得してよい。ロボット手術支援装置100は、それぞれの気腹シミュレーションの結果の体表面bs1~bs3と許容領域PRとの重なる範囲(許容範囲PA1~PA3)を取得し、この許容範囲PA1~PA3を表示させてよい。また、ロボット手術支援装置100は、許容範囲PA1~PA3について同一の被検体PSの領域を含んで構成される最小許容範囲MPAを導出し、最小許容範囲MPAを表示させてよい。
つまり、ポート位置処理部164は、気腹の度合いの揺らぎ(つまり気腹量)に基づいて、許容誤差を調整してよく、したがってポート位置を基準とした許容領域PRを調整してよい。許容誤差の調整には、許容領域PRの各体表面bs1~bs3への投影が含まれてよい。また、ポート位置処理部164は、気腹の度合いの揺らぎ(つまり気腹量)に依存しない許容領域PRである最小許容範囲MPAを導出(例えば算出)してよい。ポート位置処理部164は、表示制御部166又は投射制御部167を介して、導出された最小許容範囲MPAを示す情報を表示(例えば最小許容範囲MPAの外縁を示す図形の表示、最小許容範囲MPAを識別可能な表示態様で表示)させてよい。また、ロボット手術支援装置100は、最小許容範囲MPAを1つの指標とすることで、気腹の加減によって穿孔対象の位置が許容される誤差の範囲から外れるという不都合を吸収できる。
また、ポート位置処理部164は、被検体PSの動きを基に、空間座標で得られるポートPTの3次元の許容領域PRを、被検体PSの体表面bs1~bs3に投影してよい。被検体PSの動きは、例えば、呼吸や心拍による動きがある。
また、同じように被検体PS内にガスを送り込んでも、気腹のされ方は、被検体PSによって異なり得る。例えば、体表部分が延び易い人と伸び難い人が存在する。また、臓器との位置関係に応じて、被検体PSの一部の体表が延び易いが、他部の体表が伸び難いということもあり得る。このような場合でも、ロボット手術支援装置100は、複数の気腹状態を加味して許容誤差や許容領域PRを導出できるので、実際の気腹量によって想定外の許容誤差や許容領域PRとなることを抑制できる。
次に、ポート位置の許容誤差に関する処理のバリエーションについて説明する。
ポート位置処理部164は、許容誤差を加味して、ポート位置シミュレーションやポート位置調整を行ってよい。例えば、ポート位置処理部164は、当初取得された又は当初計画されたポート位置を基準とした許容領域PR内のいずれかの位置を、穿孔対象のポート位置として新たに計画してよい。したがって、ユーザは、当初取得された又は当初計画されたポート位置という狭い範囲(位置)に限られずに、許容領域PR内のいずれかの位置という広い範囲において、ポートPTを穿孔できる。よって、ロボット手術支援装置100は、ユーザの穿孔時の心理的負担を軽減できる。
ポート位置処理部164は、ポートTの許容誤差を3次元空間における方向に応じて別々に取り扱ってよい。例えば、ポート位置処理部164は、xz方向の許容誤差とy方向の許容誤差とを別々に取り扱ってよい。例えば、ポート位置処理部164は、被検体PSの厚み方向(y方向)を意識しなくて良いポートPTと被検体PSの厚み方向(y方向)を意識する必要のあるポートPTとを区別してよい。
また、ポート位置処理部164は、3次元空間における方向に応じてポートTの許容誤差を考慮するか否かを設定してよい。例えば、3次元空間における任意の位置に配置されたポート位置について、xy方向には許容誤差を考慮し、y方向では許容誤差を考慮しなくておい。この場合、ユーザは、例えば被検体PSの厚み方向の位置を穿孔時に気にしなくてよく、穿孔時の心理的負担が軽くなる。
また、3次元空間における各方向に対して許容誤差が同じであっても異なってもよい。例えば3次元空間における各方向に対して許容誤差が同じである場合、許容誤差の外縁は、球表面となる。例えば3次元空間における各方向に対して許容誤差が異なる場合、許容誤差の外縁は、例えば楕円体の表面やその他の形状となる。また、上述したx方向、y方向、z方向を扱う座標系とは異なる任意の座標系を用いて、許容誤差が表現されてもよい。
ポート位置処理部164は、表示制御部166又は投射制御部167を介して、許容誤差が閾値th3以上であるポートPT(許容誤差が大きくてよいポートPT)を、気腹前にマーキングすることが可能であることを表示させてよい。この場合、ポート位置処理部164は、表示制御部166又は投射制御部167を介して、気腹前に想定されるポート位置を表示させてよい。例えば、ポート位置処理部164は、仮想気腹状態のボリュームデータの代わりに、非気腹状態のボリュームデータに基づいて、ポート位置シミュレーションやポート位置調整を行ってポート位置を計画してよい。そして、ポート位置処理部164は、表示制御部166又は投射制御部167を介して、計画されたポート位置を表示させてよい。
また、ポート位置処理部164は、表示制御部166又は投射制御部167を介して、許容誤差が閾値th3未満であるポートPT(許容誤差が小さいポートPT)を、気腹前にマーキングすることが不可能であることを表示させてよい。
ポート位置処理部164は、許容領域PRの表示において、肋骨や臍hsなどの被検体PSにおけるランドマークを用いてよい。例えば、許容領域PRは、所定のポート位置を含む所定の領域のうち、肋骨を避けた領域とされてよいし、臍hsから所定距離の領域とされてよい。
このように、ポートPTには、穿孔精度が個別ワーキングエリアWA1に与える影響が大きいポートPTと、穿孔精度が個別ワーキングエリアWA1に与える影響が小さいポートPTがある。また、術式に応じて、穿孔精度がワーキングエリア(個別ワーキングエリアWA1、全体ワーキングエリアWA2)に与える影響が異なる。
これに対し、ロボット手術支援装置100は、穿孔精度がワーキングエリアに与える影響度の大きさを基に許容誤差を定めることで、許容誤差の小さいポートPTのポート位置を中心に、ポート位置を調整できる。そのため、ロボット手術支援装置100は、ポート位置シミュレーションやポート位置調整の使い勝手を改良できる。
また、ロボット手術支援装置100は、ロボット手術中に穿孔に注意深さが必要なポートPTの情報と、大雑把に穿孔可能なポートPTの情報と、を区別可能に表示させることができる。よって、ユーザは、この表示を確認してポートPTを穿孔することで、手技の時間を短縮できる。また、大雑把に穿孔可能なポートPTについては、複数のユーザでの協働作業もし易くなり、手術時間の短縮につながる。
また、被検体PSの体表には、既往歴があり癒着などによりポートPTを設けることが困難な領域(使用困難領域)が存在し得る。また、許容領域PR内には、使用困難領域と使用困難領域ではない領域(使用可能領域)とが混在し得る。ポート位置処理部164は、UI120を介したユーザ入力を受け、使用困難領域を指定してよい。使用困難領域の設定情報は、メモリ150に保持され、適宜参照されてよい。この場合、穿孔対象のポート位置が使用困難領域に含まれていても、ポート位置処理部164は、穿孔対象のポート位置の許容領域PRの使用可能領域におけるいずれかの位置を、新たなポート位置に計画してよい。ポート位置処理部164は、表示制御部166又は投射制御部167を介して、新たに計画されたポート位置又は許容領域PRの使用可能領域を識別可能に表示させてよい。これにより、ロボット手術支援装置100は、被検体PSの体内に癒着等があっても、穿孔対象のポート位置の許容誤差範囲内における他の位置を、新たなポート位置として穿孔することを補助できる。
図16は、穿孔対象のポートPTの許容領域PRを示す情報を含むガイド情報の第1表示例を示す図である。図17は、穿孔対象のポートPTの許容領域PRを示す情報を含むガイド情報の第2表示例を示す図である。図16は、被検体PSのコロナル断面を示す。図17は、被検体PSのサジタル断面を示す。
図16及び図17の画像は、ディスプレイ130に表示される例であるが、投射部170により被検体PSの体表に向けて可視光が投射され、可視光により体表上にガイド情報が表示されてよい。なお、ガイド情報に含まれる長さの情報は、一例であり、他の長さでもよい。
図16では、ボリュームレンダリング画像が表示されるとともに、ボリュームレンダリング画像に重畳してガイド情報が表示されている。ガイド情報には、穿孔対象のポート位置に示されたポートPTの識別情報(例えばポートA,B,C)が含まれてよい。なお、ポートPTの識別情報が示されてなくてもよい。
また、図16では、ポートAの穿孔において誤差が許容される許容領域PRAが、ポートAの位置から半径15mm(r15)以内であることが示されている。つまり、ポートAの許容領域PRAが、中心がポートAの位置で半径が15mmの真円内であることが示されている。また、ポートBの穿孔において誤差が許容される許容領域PRBが、臍hsから体軸方向に沿う方向(z方向)に20mm移動させた位置で、臍hsから体軸方向に垂直な方向(x方向)に120mm±10mmの範囲内であることが示されている。なお、このポートBの許容領域PRBは、臍hsからz方向に0mm±20mmの範囲内であり、臍hsからx方向に120mm±10mmの範囲内であることが示されてもよい。また、ポートCの穿孔において誤差が許容される許容領域PRCが、被検体PSの側端部(x方向端部)から、臍hsから体軸方向に垂直な方向(x方向)に100mm移動させた位置で、ポートCの位置を中心として体表面に沿う10mm×20mmの長方形の領域内であることが示されている。
図17では、ボリュームレンダリング画像が表示されるとともに、ボリュームレンダリング画像に重畳してガイド情報が表示されている。ガイド情報には、穿孔対象のポート位置に示されたポートPTの識別情報(例えばポートD,E)が含まれてよい。なお、ポートPTの識別情報が示されてなくてもよい。
また、図17では、ポートDの穿孔において誤差が許容される許容領域PRDが、臍hsから体表に沿って、体軸に垂直な方向(y方向)に沿う方向に移動した位置を中心として、長径20mm且つ短径10mmの楕円の範囲内であることが示されている。また、ポートEの穿孔において誤差が許容される許容領域PREが、臍hsから体表に沿ってy方向に沿う方向に移動した位置であってベッドBDからの距離が100mmである位置を中心として、長径30mm且つ短径10mmの楕円の半分の範囲内であることが示されている。
なお、ガイド情報における矢印は、両方向矢印の両先端位置の間の距離を示している。図16及び図17では、距離をmm単位で示している。また、臍hsの位置も矢印で示されている。この距離は、ある程度の幅を持った距離(例えば120mm±10mm)であることもあり得る。
なお、図16及び図17で示された二次元の許容領域PD(PDA~PDE)は、図16及び図17の画像が示された面に射影された上述の許容範囲とも言える。
次に、比較例及び本実施形態のポート位置の表示例について説明する。
図18は、比較例のポート位置の表示例を示す図である。図18では、A,B,C,D,Eはポートの識別情報の一例であり、図示された長さの単位はmmである。なお、図18で示す各値は一例であり、他の値でもよい。
図18では、臍hsから頭部側に体軸方向に沿って移動させた位置に、臍hsとポートCとの距離が20mmとなるように、ポートCのポート位置が指示され表示されている。また、ポートA~Eが体軸方向と垂直な方向に直線状に配置されるように、各ポートA,B,C,D,Eが指示され表示されている。つまり、ポートA及びポートBの間の距離が50mm、ポートB及びポートCの間の距離が50mm、ポートC及びポートDの間の距離が60mm、ポートD及びポートEの間の距離が40mm、となるように指示され表示されている。このように、比較例では、各ポートA~Eの許容誤差が加味されていない。そのため、ユーザは、指定された位置に正確に各ポートA~Eを穿孔する必要がある。
図19は、本実施形態のポート位置及び許容誤差情報の表示例を示す図である。
図19では、隣り合うポート間の距離がある程度の幅(許容誤差)を有して指示され表示されている。つまり、臍hs及びポートCの間の距離が20mm~25mm、ポートA及びポートBの間の距離が50mm~60mm、ポートB及びポートCの間の距離が50mm~60mm、ポートC及びポートDの間の距離が60m~70mm、ポートC及びポートEの間の距離が100~105mm、となるように指示され表示されている。このように、本実施形態では、各ポートA~Eの許容誤差が加味されている。そのため、ユーザは、指定された位置を基準に、ある程度の余裕を持って各ポートA~Eを穿孔でき、ポートPTを穿孔するための心理負担を軽減できる。
以上、図面を参照しながら各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。
第1の実施形態では、撮像されたCT画像としてのボリュームデータは、CT装置200からロボット手術支援装置100へ送信されることを例示した。この代わりに、ボリュームデータが一旦蓄積されるように、ネットワーク上のサーバ等へ送信され、サーバ等に保管されてもよい。この場合、必要時にロボット手術支援装置100の通信部110が、ボリュームデータを、有線回線又は無線回線を介してサーバ等から取得してもよいし、任意の記憶媒体(不図示)を介して取得してもよい。
第1の実施形態では、撮像されたCT画像としてのボリュームデータは、CT装置200からロボット手術支援装置100へ通信部110を経由して送信されることを例示した。これは、実質的にCT装置200とロボット手術支援装置100とを併せて一製品として成立している場合も含まれるものとする。また、ロボット手術支援装置100がCT装置200のコンソールとして扱われている場合も含む。
第1の実施形態では、CT装置200により画像を撮像し、生体内部の情報を含むボリュームデータを生成することを例示したが、他の装置により画像を撮像し、ボリュームデータを生成してもよい。他の装置は、MRI(Magnetic Resonance Imaging)装置、PET(Positron Emission Tomography)装置、血管造影装置(Angiography装置)、又はその他のモダリティ装置を含む。また、PET装置は、他のモダリティ装置と組み合わせて用いられてもよい。
第1の実施形態では、ロボット手術支援装置100に、手術支援ロボット300が接続されているが、接続されていなくてもよい。手術支援ロボット300のキネマティクスの情報があらかじめ取得されていれば十分だからである。また、ポートの穿孔を終了してから手術支援ロボット300を接続してもよい。また、手術支援ロボット300を構成する装置のうち一部の装置にのみ接続してもよい。また、ロボット手術支援装置100自体が、手術支援ロボット300の一部であってもよい。
第1の実施形態では、手術支援ロボット300は、低侵襲手術を目的とする手術支援ロボットであったが、低侵襲手術を目的とする手術支援ロボット300は、腹腔鏡手術を支援する手術支援ロボットであってよい。また、手術支援ロボット300は、内視鏡手術を支援する手術支援ロボットであってよい。
第1の実施形態では、ロボット手術支援装置100が被検体の仮想気腹状態のボリュームデータを基にポート位置を計画することを例示したが、これに限られない。例えば観察対象が呼吸器や頸部では気腹されずにロボット手術されることがあるためである。つまり、ロボット手術支援装置100は、非気腹状態のボリュームデータを基にポート位置を計画してもよい。
第1の実施形態では、被検体PSとして人体を例示したが、動物の体でもよい。
本開示は、第1の実施形態のロボット手術支援装置の機能を実現するプログラムを、ネットワーク又は各種記憶媒体を介してロボット手術支援装置に供給し、ロボット手術支援装置内のコンピュータが読み出して実行するプログラムも適用範囲である。
以上のように、上記実施形態のロボット手術支援装置100は、手術支援ロボット300による低侵襲なロボット手術を支援する。処理部160は、被検体PSの3Dデータ(例えば非気腹状態のボリュームデータや仮想気腹状態のボリュームデータ)を取得してよい。処理部160は、手術支援ロボット300のロボット手術を行うための可動部(例えばロボットアームAR、エンドエフェクタEF)の動作に関する動作情報(例えばキネマティクス)を取得してよい。処理部160は、被検体PSを手術するための術式の情報を取得してよい。処理部160は、被検体PSの体表に穿孔されるポートPTの位置の情報を取得してよい。処理部160は、3Dデータと、手術支援ロボット300の動作情報と、術式と、ポートPTの位置に基づいて、ポートPTの穿孔において誤差が許容される被検体PSの体表上の二次元範囲を導出してよい。この二次元範囲は、ディスプレイ130又は被検体PSの体表上に表示される許容領域PD(許容範囲)の一例である。処理部160は、ポートPTの位置の情報と二次元範囲を示す情報とを表示部(例えばディスプレイ130)に表示させてよい。
これにより、ロボット手術支援装置100がポート位置と二次元範囲を示す情報を表示させることで、ユーザは、ポートPTを穿孔する際に誤差がどの程度許容されるかを視認できる。つまり、ポートPTを穿孔するために必要とされる穿孔精度を認識できる。例えば、高い穿孔精度が必要とされないポートPTについては、ユーザは、大雑把に穿孔作業を行うことができ、手術時間を短縮できる。また、高い穿孔精度が必要とされるポートPTについては、ユーザは、慎重に穿孔作業を行うことができ、穿孔精度を確保できる。ロボット手術支援装置100は、ユーザに許容誤差(要求される穿孔精度)の情報を視覚的に提供することで、ユーザによる穿孔時の心理的負担を低減できる。
また、ポートPTの位置と、ポートPTに許容される誤差の二次元範囲の輪郭上の各位置と、の距離は、複数の異なる距離を含んでよい。
これにより、ロボット手術支援装置100は、実空間としての3次元空間においてポート位置の許容誤差が第1の方向には大きく第2の方向には小さいという状況も許容できる。つまり、ロボット手術支援装置100は、実空間としての3次元空間においてポート位置の許容誤差が均一でなくてよく、指向性を有してよく、より実態に合う許容誤差の情報を提供できる。ユーザは、例えば、許容誤差が大きい方向については慎重になり過ぎずに穿孔位置を確認でき、許容誤差が小さい方向については慎重に穿孔位置を確認できる。ユーザは、例えば、許容誤差が小さい方向についてのみ計測を行い、許容誤差が大きい方向については目視で位置決めを行うことができる。
また、処理部160は、被検体PSのボリュームデータに気腹シミュレーションを行い、仮想気腹状態の3Dデータを生成してよい。
これにより、ユーザは、仮想気腹状態の3Dデータを加味した許容誤差を確認できる。
また、処理部160は、被検体PSのボリュームデータに異なる気腹量で複数の気腹シミュレーションを行い、複数の仮想気腹状態の3Dデータを生成してよい。処理部160は、複数の仮想気腹状態の3Dデータに基づいて、二次元範囲を複数導出してよい。処理部160は、ポート位置の情報と複数の二次元範囲を示す情報とを表示させてよい。
これにより、ロボット手術支援装置100は、気腹状態に応じて複数の許容誤差の情報を表示させることができる。気腹時の体表の伸び方や被検体PS内の臓器の配置も異なるので、各被検体PSに対して同様にガスが注入されても、気腹状態はそれぞれ異なり得る。また、気腹時のガス量は患者の換気能力や合併症の危険性を鑑み患者によって異なるので、気腹状態はそれぞれ異なり得る。そのため、気腹前に気腹状態を正確に推定することは困難である。これに対し、ロボット手術支援装置100は、様々な気腹状態に対応した許容誤差の情報をそれぞれ表示でき、ユーザは、様々な気腹状態に対応した許容誤差を容易に確認できる。
また、処理部160は、被検体PSのボリュームデータに異なる気腹量で複数の気腹シミュレーションを行い、複数の仮想気腹状態の3Dデータを生成してよい。処理部160は、複数の仮想気腹状態の3Dデータに基づいて、二次元範囲を複数導出してよい。処理部160は、複数の二次元範囲において共通に含まれる被検体の体表上の範囲である最小許容範囲を導出してよい。処理部160は、ポート位置の情報と最小許容範囲MPAを示す情報とを表示させてよい。
これにより、ロボット手術支援装置100は、気腹状態に応じて複数の許容誤差の情報を表示させることができる。気腹時の体表の伸び方や被検体PS内の臓器の配置も異なるので、各被検体PSに対して同様にガスが注入されても、気腹状態はそれぞれ異なり得る。そのため、気腹前に気腹状態を正確に推定することは困難である。これに対し、ロボット手術支援装置100は、様々な気腹状態に加味した許容誤差の情報を表示でき、ユーザは、様々な気腹状態に対応した許容誤差を容易に確認できる。
また、二次元範囲の形状は、プリミティブ形状を含んでよい。
これにより、ロボット手術支援装置100は、ユーザが理解し易い簡単な形状で、許容誤差の情報をユーザに視覚的に提供できる。
また、処理部160は、3Dデータをレンダリングしてレンダリング画像を生成してよい。処理部160は、レンダリング画像に、ポートPTの位置の情報と二次元範囲の位置の情報とを重畳して、表示部(例えばディスプレイ130)に表示させてよい。
これにより、ユーザは、ディスプレイ130によって、レンダリング画像で被検体PSにおける穿孔対象のポートのポート位置と許容誤差を確認できる。また、ロボット手術支援装置100がレンダリング画像を用いることで、ユーザは、許容誤差を加味したポートの穿孔による被検体PSの内部への影響も推測できる。
また、処理部160は、被検体PSの体表に対して、ポートPTの位置の情報と二次元範囲の位置の情報とを示す可視光を、投射部170に投射させることで、ポートPTの位置の情報と複数の二次元範囲を示す情報とを被検体PSの体表に表示させてよい。
これにより、ロボット手術支援装置100は、ロボット手術が行われる被検体PSに直接、穿孔対象のポートPTのポート位置と二次元範囲を示す情報を投射できる。そのため、ユーザは、穿孔される被検体PS上に映し出されたポート位置と二次元範囲を示す情報を確認できる。よって、ユーザは、被検体PS上の可視光を目印に、許容誤差を認識でき、心理的負担を軽減してポートPTを穿孔できる。