JP7413586B2 - 仮想境界を実現するための反力を生成するロボットシステムおよび方法 - Google Patents

仮想境界を実現するための反力を生成するロボットシステムおよび方法 Download PDF

Info

Publication number
JP7413586B2
JP7413586B2 JP2023093816A JP2023093816A JP7413586B2 JP 7413586 B2 JP7413586 B2 JP 7413586B2 JP 2023093816 A JP2023093816 A JP 2023093816A JP 2023093816 A JP2023093816 A JP 2023093816A JP 7413586 B2 JP7413586 B2 JP 7413586B2
Authority
JP
Japan
Prior art keywords
virtual
volume
reaction force
tool
virtual volume
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
JP2023093816A
Other languages
English (en)
Other versions
JP2023126764A (ja
Inventor
ボウリング,デイヴィッド・ジーン
Original Assignee
マコ サージカル コーポレーション
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 マコ サージカル コーポレーション filed Critical マコ サージカル コーポレーション
Publication of JP2023126764A publication Critical patent/JP2023126764A/ja
Application granted granted Critical
Publication of JP7413586B2 publication Critical patent/JP7413586B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/32Surgical robots operating autonomously
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B17/32Surgical cutting instruments
    • A61B17/320068Surgical cutting instruments using mechanical vibrations, e.g. ultrasonic
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/10Computer-aided planning, simulation or modelling of surgical operations
    • 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B17/14Surgical saws ; Accessories therefor
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B17/16Bone cutting, breaking or removal means other than saws, e.g. Osteoclasts; Drills or chisels for bones; Trepans
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B17/00Surgical instruments, devices or methods, e.g. tourniquets
    • A61B2017/00017Electrical control of surgical instruments
    • A61B2017/00115Electrical control of surgical instruments with audible or visual output
    • A61B2017/00128Electrical control of surgical instruments with audible or visual output related to intensity or progress of surgical action
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/10Computer-aided planning, simulation or modelling of surgical operations
    • A61B2034/101Computer-aided simulation of surgical operations
    • 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/2051Electromagnetic tracking systems
    • 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/2055Optical tracking systems
    • 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/20Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis
    • A61B2034/2046Tracking techniques
    • A61B2034/2063Acoustic tracking systems, e.g. using ultrasound
    • 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/2065Tracking using image or pattern recognition
    • 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/2068Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis using pointers, e.g. pointers having reference marks for determining coordinates of body points
    • 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
    • A61B2034/301Surgical robots for introducing or steering flexible instruments inserted into the body, e.g. catheters or endoscopes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/06Measuring instruments not otherwise provided for
    • A61B2090/064Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension
    • A61B2090/066Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension for measuring torque
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • A61B90/37Surgical systems with images on a monitor during operation
    • A61B2090/378Surgical systems with images on a monitor during operation using ultrasound
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/76Manipulators having means for providing feel, e.g. force or tactile feedback
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/06Devices, other than using radiation, for detecting or locating foreign bodies ; determining position of probes within or on the body of the patient
    • A61B5/061Determining position of a probe within the body employing means separate from the probe, e.g. sensing internal probe position employing impedance electrodes on the surface of the body
    • A61B5/064Determining position of a probe within the body employing means separate from the probe, e.g. sensing internal probe position employing impedance electrodes on the surface of the body using markers
    • 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/10Instruments, 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 for stereotaxic surgery, e.g. frame-based stereotaxis
    • A61B90/11Instruments, 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 for stereotaxic surgery, e.g. frame-based stereotaxis with guides for needles or instruments, e.g. arcuate slides or ball joints
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40122Manipulate virtual object, for trajectory planning of real object, haptic display
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45117Medical, radio surgery manipulator

Landscapes

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

Description

関連出願の相互参照
本出願は、2017年6月9日に出願した米国仮特許出願第62/517453号の優
先権の利益を主張するものであり、そのすべての開示内容は引用することによって本明細
書の一部をなすものとする。
本開示は、ロボットシステムにおいて仮想境界を実現するための反力を生成する技術に
関する。
ロボットシステムは、外科処置を行う目的で一般に使用されている。そのようなロボッ
トシステムは、ロボットアームと、手術部位に関与するためにロボットアームの端部に接
続されたツールと、を備えるロボットを備えている。
そして、多くの場合、ツールが望まない領域にまで到達してしまうのを防ぐ目的で、ツ
ールの動きを制限する仮想表面が導入される。例えば、ツールで処置する必要のある生体
構造の領域と処置する必要のない領域とを区切るように仮想表面を手術部位に登録するこ
とができる。
多くの仮想表面は、三角形などの多角形要素から成るメッシュとして定義される。仮想
表面に侵入しようとする力がツールに加えられた場合、当該メッシュのうちこのような侵
入の試みを受ける三角形それぞれについて反力が計算される。つまり、ツールが仮想表面
を押すと、仮想表面またはツールの圧縮によって仮想表面が押し戻される。従来から、こ
の反力はバネでモデリングされてきた。各反力の大きさが、三角形への侵入の直線的な深
さ(すなわち、ツールが仮想表面より内部に突き出る距離)に比例するようにモデリング
される。そして、ロボットアームは、計算された反力に従ってツールを動かすことによっ
て、ツールの動きを仮想表面に対して制限する。
しかしながら、このような反力のモデリングや計算は決して簡単なものではない。仮想
表面の多くが複雑な形状を有しており、ツールと仮想表面との間の相互作用のモデリング
が難しくなるほどの幾何学的特徴を定義している。さらに、侵入時のツールのモデル形状
やツールの姿勢によってこの問題はさらに難しいものとなる。
そして、ツールが仮想表面に侵入する場合、特に、ツールが複数の三角形に同時に侵入
する場合に、ロボットアームが計算した反力に応じてツールを動かした結果、ツールが一
貫性のない動きや予想外の動きをしてしまうことが観察されている。例えば、従来の場合
、ツールが平坦な仮想表面を動いている間に2つ以上の三角形に同時に関与する動きをす
ると、ツールはキックバックを起こしてしまう。このキックバックは、反力2つ分と考え
られるものである。仮想表面が平坦であればあるほどキックバックは深刻となる。また、
複数の三角形が共有する頂点に関与する動きをツールが行った場合のキックバックはさら
に深刻である。例えば、5つの三角形が共有する頂点に関与する動きの場合、その頂点で
の反力は、瞬間的に1つの三角形の反力の5倍にまで増加する。
さらに、仮想表面が定義する出隅角に沿ってツールが動く場合、その間に、仮想表面の
メッシュのうち、この出隅角を挟む辺に沿った三角形の多くに対して同時に、ツールは侵
入しようとする。そして、これらの三角形に関する反力が合成されると、累積して反力が
急増するため、ツールが出隅角に沿って動く間に予想外のキックバックを起こしてしまう
このように、従来のロボットシステムが依拠している表面相互作用のモデリングは、侵
入が、1つの三角形に対して行われているのか、複数の三角形に対して行われているのか
に関わらず、単にその侵入の直線的な深さに基づいて行われるが、そのような従来のロボ
ットシステムにおいては、さらに複雑な問題が生じてしまう。例えば、(侵入時のツール
のモデル形状やツールの姿勢などによっては)侵入の直線的な深さは同一でも、仮想表面
によるツールの断面領域の面積または変位体積(変位ボリューム)が異なる状況が考えら
れる。従来の表面モデリングの場合、そのような状況でも、仮想表面によるツールの断面
領域の面積または変位体積は考慮に入れられず、単に侵入の直線的な深さに基づいて同一
の反力が加えられる。
仮想表面の外縁部への侵入など、ツールの一部のみが仮想表面に侵入する場合にも、同
様の状況が発生する。例えば、侵入時のツールのモデル形状や姿勢が同じであると仮定し
た場合でも、ツール全体が仮想表面上にある状況と、ツールが仮想表面の外縁部に係って
いる状況とが考えられる。従来の表面モデリングの場合、そのような状況でもやはり、ツ
ールのうち仮想表面に関与している部分の大きさはどの程度かは考慮に入れられず、単に
侵入の直線的な深さに基づいて同一の反力が加えられる。
したがって、本技術分野においては、少なくとも上述の問題に対処するためのシステム
および方法が必要とされている。
ロボットシステムの一例を示す。ロボットシステムは、ツールと、複数のリンクを備え
てツールを動かすように構成されたマニピュレータとを備える。コントローラは、マニピ
ュレータに接続されて、仮想ボリュームとしてツールを表現する仮想シミュレーションを
実現するように構成される。該仮想ボリュームは、複数の多角形要素から成るメッシュで
定義される仮想境界に対して相互作用するように構成される。コントローラは、仮想シミ
ュレーションにおいて仮想ボリュームが多角形要素の1つに侵入する場合に、その侵入に
応じた反力を計算するように構成される。この反力は、当該多角形要素のジオメトリに対
して境界が画定される仮想ボリュームのジオメトリの関数である侵入係数に基づいて計算
される。コントローラは、仮想シミュレーションにおいて、仮想ボリュームにこの反力を
加えて、仮想ボリュームによる多角形要素への侵入を抑制するように構成される。コント
ローラは、仮想シミュレーションにおいて仮想ボリュームに加えられるこの反力に従って
ツールを動かすことによりツールの動きを仮想境界に対して制限する指令を、マニピュレ
ータに与える。
ロボットシステムを制御する方法の一例を示す。ロボットシステムは、ツールと、複数
のリンクを備えてツールを動かすように構成されたマニピュレータと、マニピュレータに
接続されるコントローラであって、仮想シミュレーションを実現するように構成されたコ
ントローラと、を備える。仮想シミュレーションにおいて、ツールは、仮想境界に対して
相互作用するように構成された仮想ボリュームとして表現される。仮想境界は、複数の多
角形要素から成るメッシュで定義される。本方法は、仮想シミュレーションにおいて仮想
ボリュームが多角形要素の1つに侵入する場合に、その侵入に応じた反力をコントローラ
によって計算することを含む。この反力は、当該多角形要素のジオメトリに対して境界が
画定される仮想ボリュームのジオメトリの関数である侵入係数に基づいて計算される。さ
らに本方法は、コントローラによって、仮想シミュレーションにおいて仮想ボリュームに
この反力を加えて仮想ボリュームによる多角形要素への侵入を抑制することを含む。コン
トローラは、仮想シミュレーションにおいて仮想ボリュームに加えられるこの反力に従っ
てツールを動かすことによりツールの動きを仮想境界に対して制限する指令を、マニピュ
レータに与える。
コントローラに実装される、ロボットシステムのツールのダイナミクスをシミュレーシ
ョンする方法の一例を示す。本方法は、ツールを仮想ボリュームとしてシミュレーション
することと、複数の多角形要素から成るメッシュで構成される仮想境界をシミュレーショ
ンすることとを含む。仮想ボリュームの動きは、仮想ボリュームが複数の多角形要素に同
時に侵入するようにシミュレーションされる。さらに本方法は、複数の多角形要素への同
時侵入に応じた複数の反力をそれぞれ計算することを含む。各反力は、対応する多角形要
素のジオメトリに対して境界が画定される仮想ボリュームのジオメトリの関数である侵入
係数に基づいて計算される。さらに本方法は、これらの複数の反力を合成して合成反力を
生成することを含む。仮想ボリュームが行う複数の多角形要素に対する任意の同時侵入行
為において、合成反力が一定となるように、これらの反力のそれぞれに重み係数が掛けら
れる。この合成反力は、シミュレーションによって仮想ボリュームに加えられる。
有利なことに、本ロボットシステムおよび方法では、多角形要素のジオメトリに対して
境界が画定される仮想ボリュームのジオメトリの関数に基づいて、関連する反力が計算さ
れる。こうして計算された反力は、仮想境界の複雑さや、侵入する多角形要素の数、ツー
ルの侵入時の仮想ボリュームとしてのモデル形状やツールの姿勢が考慮されたものとなり
、どのような状況でもツールの動きに応じた自然な反力となる。
その結果、ツールが仮想境界に侵入する場合、特に、ツールが複数の多角形要素に同時
に侵入する場合に、マニピュレータがこの反力に応じてツールを動かすことにより、ツー
ルは一貫性のある予想通りの動きをする。
さらに、本明細書に記載の技術は、侵入の直線的な深さ(すなわち、仮想ボリュームが
多角形要素や仮想境界より内部に突き出る距離)は同一でも、仮想ボリュームと仮想境界
の少なくとも一方の断面領域の面積または変位ボリュームが異なる状況も考慮したもので
ある。反力が仮想ボリュームのジオメトリの関数として計算される場合、仮想ボリューム
のジオメトリによる侵入の大きさをより正確に説明するものとなるため、上述の各状況に
おける反力が異なるためである。侵入する仮想体は立体形状を有しているため、多角形要
素、仮想境界またはその両方に対して線形の衝撃力を加えることはなく、よって、侵入係
数は侵入の直線的な深さに対して線形には変化しない。むしろ、侵入する仮想体が加える
衝撃力は、仮想ボリュームの立体形状に関するより高次の関数となる。したがって、侵入
係数は、このより高次の立体形状関数に従って侵入の直線的な深さに対して変化する。換
言すれば、侵入係数は、仮想境界または仮想ボリュームの変位体積(変位ボリューム)す
なわち侵入体積(侵入ボリューム)を記述するものである。
さらに、本明細書に記載の技術は、仮想境界の外縁部においても、例えば(仮想ボリュ
ームが同一かつ侵入時の仮想ボリュームの姿勢が同じであると仮定した場合に)ツール全
体が仮想境界上にある状況と、ツールが仮想境界の外縁部に係っている状況とで、異なる
反力を生成すると考えられる。これは、侵入係数が、仮想ボリュームのうち仮想境界に関
与している部分の大きさはどの程度かをより正確に説明するためである。
本技術はさらに、角、山部、谷部などの、仮想境界において非平面状に多角形要素が配
置される箇所においても、仮想境界に対してより滑らかな応答を与えるものである。例え
ば、本技術は、このような非平面状に多角形要素が配置される箇所との衝突時に、反力を
徐々に増加させて、ツールの突発的または不自然な動きを引き起こすおそれのある反力の
不連続な急変を回避する。例えば、仮想境界が定義する出隅角に沿ってツールが動く間、
侵入係数は互いに相殺されて略一貫した合成反力が得られると考えられる。これにより、
ツールがこのような角に沿って動く間にツールに加わる力が急増してしまう事態が解消さ
れる。したがって、仮想ボリュームが、2つ以上の多角形要素に同一の直線的な深さで侵
入する場合にも、滑らかな応答が得られる。これにより、ツールが、非平面状に多角形要
素が配置される箇所に沿って動く間に予想外のキックバックを起こしてしまうことが抑制
される。したがって、本明細書に記載の技術は、表面モデリングが有する、非平面状に多
角形要素が配置される箇所に関する問題を解決するものである。
当然ながら、種々の構成や状況に応じて、本ロボットシステムおよび方法は、本明細書
に記載したもの以外の利点や技術的解決策を提供し得る。
本発明の利点は、以下の詳細な説明を添付の図面と関連させて考察することにより、よ
りよく理解され、容易に理解されるであろう。
一例に係るロボットシステムを示す斜視図である。 ロボットシステムのコントローラの一例を示すブロック図である。 ロボットシステムのコントローラおよびマニピュレータに実装する制御ループを示すブロック図である。 マニピュレータのツールをシミュレーションによって表現した仮想ボリュームであって、多角形要素から成るメッシュで構成され、生体構造に関連付けられる仮想境界に対して相互作用するように構成される仮想ボリュームの一例を示す図である。 投影領域に基づく侵入係数を使って、仮想ボリュームと仮想境界の1つの多角形要素との相互作用に応じた反力を生成する一例を説明する図である。 投影領域に基づく侵入係数を使って、仮想ボリュームと仮想境界の1つの多角形要素との相互作用に応じた反力の生成する他の例を説明する図である。 投影領域に基づく侵入係数を使って、仮想ボリュームと仮想境界の1つの多角形要素との相互作用に応じた反力を生成するさらに他の例を説明する図である。 仮想境界の1つの多角形要素に関する投影領域の計算の一例を説明する図である。 仮想境界の1つの多角形要素に関する投影領域の計算の他の例を説明する図である。 投影領域を使って、仮想ボリュームと仮想境界の複数の多角形要素との相互作用に応じた複数の反力を生成する一例を説明する図である。 投影領域を使って、仮想ボリュームと仮想境界の複数の多角形要素との相互作用に応じた合成反力を生成する一例を説明する図である。 投影領域を使って、仮想ボリュームと仮想境界の複数の多角形要素との相互作用に応じた複数の反力を生成する他の例を説明する図である。 投影領域を使って、仮想ボリュームと仮想境界の出隅角を構成する多角形要素との相互作用に応じた反力を生成する一例を説明する図である。 投影領域を使って、仮想ボリュームと仮想境界の出隅角を構成する多角形要素との相互作用に応じた反力を生成する他の例を説明する図である。 投影領域を使って、仮想ボリュームと仮想境界の出隅角を構成する多角形要素との相互作用に応じた反力を生成するさらに他の例を説明する図である。 仮想境界の1つの多角形要素に関する投影弧に基づく侵入係数の計算の一例を説明する図である。 仮想境界の1つの多角形要素に関する投影弧に基づく侵入係数の計算の他の例を説明する図である。 仮想境界の1つの多角形要素に関する変位ボリュームに基づく侵入係数の計算の一例を説明する図である。
I.ロボットシステムの概要
図面を参照すると、添付の図面はいずれも、ロボットシステム(以下「システム」)1
0およびシステム10の動作方法を示すものである。なお、複数の図において、同様の部
品又は対応する部品を示すために、同様の番号を一貫して使用している。
図1に示すように、システム10は、骨や軟組織などの患者12の生体構造を治療する
ためのロボット外科手術システムである。図1において、患者12は外科処置を受けてい
る。図1に示す治療対象の生体構造は、患者12の大腿骨(F)と脛骨(T)とを含んで
いる。外科処置には、組織の除去または治療が含まれる場合がある。また治療が、組織を
切離すること、組織を凝固させること、組織に損傷を与えること、組織を置換する治療な
どを含む場合がある。いくつかの例では、外科処置が、膝関節または股関節の部分置換手
術または全置換手術を含む場合がある。一例では、システム10は、単顆型人工関節、二
顆型人工関節、多顆型人工関節、全人工関節を含む、股関節や膝関節などの外科用インプ
ラントで置換すべき物質を切除する用途、あるいは脊椎に関連した用途で使用するように
設計されている。この種のインプラントの一部は、「Prosthetic Implant and Method of
Implantation(人工インプラントおよびその移植方法)」の名称で出願されている米国
特許出願公開第2012/0030429号に示されており、同文献の開示内容は、引用
することによって本明細書の一部をなすものとする。当業者であれば、本明細書に記載の
システム10および方法を、他の外科的処置や非外科的処置を行うために使用し得ること
、あるいは、ロボットシステムの産業用途や他の用途でも使用し得ることことを理解する
であろう。
システム10は、マニピュレータ14を備えている。一例では、マニピュレータ14は
、基部16と複数のリンク18とを有している。マニピュレータカート17はマニピュレ
ータ14を支持するものであり、これによりマニピュレータ14がマニピュレータカート
17に固定される。これら複数のリンク18の組み合わせによって、マニピュレータ14
の1つ以上のアームが形成される。マニピュレータ14は、(図1に示すような)シリア
ルアーム構成を有してもよく、あるいはパラレルアーム構成を有してもよい。他の例では
、1つ以上のマニピュレータ14を使用して複腕(複数アーム)構成とすることもできる
マニピュレータ14は、複数の関節(J)を備えている。隣接するリンク18の対はそ
れぞれ、1つの関節(J)によって接続されている。一例によると、マニピュレータ14
は6つの関節(J1~J6)を有しており、これらの関節によって、マニピュレータ14
は、少なくとも6自由度(6DOF)を有している。ただし、マニピュレータ14の自由
度数は任意とすることができ、任意の適切な数の関節(J)および冗長関節(J)を有し
てよい。
複数の関節(J)の位置データを特定するため、これらの関節(J)に対して複数の位
置センサ19が配置されている。図1では、簡略化のため1つの位置センサ19のみ示し
ているが、他の関節(J)に対しても同様に、他の位置センサ19を図示できるものと理
解されたい。位置センサ19の一例として、各関節(J)の関節角度を測定するエンコー
ダが挙げられる。
各関節(J)には、関節モータ21などのアクチュエータが、隣接するリンク18の間
に配設されている。図1では、簡略化のため1つの関節モータ21のみ示しているが、他
の関節モータ21も図示できるものと理解されたい。各関節(J)は、1つの関節モータ
21によって能動的に駆動される。関節モータ21は、リンク18を回動させるように構
成されている。したがって、リンク18の位置は、関節モータ21によって設定される。
各関節モータ21は、マニピュレータ14内部の構造フレームに取り付けることができ
る。一例では、関節モータ21は、永久磁石ブラシレスモータなどのサーボモータである
。ただし、関節モータ21は、同期モータ、ブラシ付きDCモータ、ステッピングモータ
、誘導モータなどの他の構成を有してもよい。
関節モータ21は、複数の角度位置(以下、関節角度(joint angle))のうちの1つ
に位置決めすることができる。この関節角度とは、隣接するリンク18のなす関節(J)
の角度である。一例では、各関節モータ21に1つの位置センサ19を搭載してもよい。
これに代えて、各関節モータ21が駆動するリンク18それぞれに、位置センサ19を搭
載してもよい。いくつかの例では、関節モータ21に1つ、これに駆動されるリンク18
に1つ、の計2つの位置センサ19を用いて関節角度を特定することもできる。この場合
、例えば、関節角度や対応する伝送方式によって生じるモータ21と関節(J)と間の位
置ずれの平均値をとるなどの方法によって関節角度が特定される。
各関節(J)は、関節トルクを受けるように構成される。関節トルクは、関節(J)の
回転またはねじれを生じさせる「力(force)」であり、加えられる力と関節(J)の旋
回中心からの距離との関数である。1つ以上の関節モータ21にトルクセンサ27(図3
)を接続して、関節(J)の関節トルクを測定してもよい。あるいは、関節モータ21へ
の印加電流を表す信号をコントローラが分析して関節トルクを測定してもよい。
マニピュレータ14の基部16は、基本的に、マニピュレータ14の使用時に動かない
部分である。よって、基部16によって、マニピュレータ14の他のコンポーネントまた
はシステム10全体の固定基準座標系(すなわち仮想ゼロ姿勢(virtual zero pose))
が与えられる。一般に、マニピュレータ座標系MNPLの原点が基部16の固定基準点に
定義される。なお、基部16は、1つ以上のリンク18など、マニピュレータ14の任意
の適切な部分に対して定義することができる。また、これに代えてまたは加えて、マニピ
ュレータ14がマニピュレータカート17に物理的に取り付けられている場合などには、
基部16をマニピュレータカート17に対して定義することもできる。一例では、基部1
6は、関節J1の軸と関節J2の軸との交点に定義される。したがって、関節J1と関節
J2は現実には可動コンポーネントであるが、関節J1の軸と関節J2の軸との交点は、
マニピュレータ座標系MNPLにおいて動かない仮想固定基準点となる。
ツール20は、マニピュレータ14に接続され、マニピュレータ14によって動かすこ
とができる。具体的には、マニピュレータ14は、リンク18のジョイントJ1~J6の
うち1つ以上を動かして、ツール20を基部16に対して移動させる。ツール20は、エ
ンドエフェクタ22であるか、あるいはその一部を成すものである。ツール20は、ある
モードでは生体構造と相互作用し、他のモードではオペレータによって把持され得る。マ
ニピュレータ14とツール20の構成については、その一例が「Surgical Manipulator C
apable of Controlling a Surgical Instrument in Multiple Modes(複数のモードで外
科器具を制御可能な外科マニピュレータ)」の名称で発行されている米国特許第9119
655号明細書に記載されている。同文献の開示内容は、引用することによって本明細書
の一部をなすものとする。また、ツール20は、「End Effector of a Surgical Robotic
Manipulator(外科ロボットマニピュレータのエンドエフェクタ)」の名称で2014年
3月15日に出願されている米国特許出願公開第2014/0276949号に示されて
いるツールと同様なものとすることができる。同文献の開示内容も、引用することによっ
て本明細書の一部をなすものとする。ツール20は、患者の生体構造を処置するように構
成された外科ツールであってよく、あるいはマニピュレータ14が用いる他の任意の種類
の(外科用または非外科用)ツールとすることもできる。また、マニピュレータ14とツ
ール20とは、本明細書において具体的に説明した構成以外の構成にも組み込むことがで
きる。
一例では、ツール20は、手術部位で患者12の組織に接触するように設計されたエネ
ルギーアプリケータ24を備えている。エネルギーアプリケータ24は、ドリル、鋸刃、
バー、超音波振動チップなどであり得る。また、ツール20は、ツール中心点(TCP)
を有してよい。ツール中心点は、一例では、エネルギーアプリケータ24に定義される所
定の基準点である。ツール中心点は、ツールの座標系において既知の位置を有している。
一例では、ツール20が有する球形状の特徴の中心にツール中心点を位置付けて、単点の
みを追跡対象とすることが想定される。所定の直径を有するバーにツール中心点を関連付
けることもできる。他の例では、ツール20は、プローブ、切削ガイド、ガイドチューブ
などの、生体構造に対して手持ち式ツールを案内するためのガイド部材であってもよい。
ここで図2を参照して、システム10は、マニピュレータ14に接続されたコントロー
ラ30を備えている。コントローラ30は、マニピュレータ14を制御してツール20を
動かすためのソフトウェア、ハードウェア、またはその両方を備えている。コントローラ
30は、マニピュレータ14の動きを指示して、ある座標系に対するツール20の状態(
位置、向き、またはその両方)を制御する。図1に示すように、一例では、当該座標系は
マニピュレータ座標系MNPLである。マニピュレータ座標系MNPLの原点は、マニピ
ュレータ14に対して任意の適切な姿勢で位置付けられる。また、マニピュレータ座標系
MNPLの各座標軸も任意に選択することができる。一般に、マニピュレータ座標系MN
PLの原点は、基部16の固定基準点に定義される。マニピュレータ座標系MNPLにつ
いては、その一例が「Surgical Manipulator Capable of Controlling a Surgical Instr
ument in Multiple Modes(複数のモードで外科器具を制御可能な外科マニピュレータ)
」の名称で発行されている米国特許第9119655号明細書に記載されている。同文献
の開示内容は、引用することによって本明細書の一部をなすものとする。
図1に示すように、システム10は、ナビゲーションシステム32をさらに備えること
ができる。ナビゲーションシステム32は、様々なオブジェクト(対象物)の動きを追跡
するように構成される。そのようなオブジェクトの例としては、ツール20や、大腿骨F
、脛骨Tなどの生体構造が挙げられる。ナビゲーションシステム32は、これらのオブジ
ェクトを追跡して、(ナビゲーション)ローカライザ座標系LCLZに関する各オブジェ
クトの状態情報を収集する。本明細書に記載の変換技術を使用して、ローカライザ座標系
LCLZの座標をマニピュレータ座標系MNPLの座標に変換したり、逆にマニピュレー
タ座標系MNPLの座標をローカライザ座標系LCLZの座標に変換したりすることがで
きる。ナビゲーションシステム32については、その一例が「Navigation System Includ
ing Optical and Non-Optical Sensors(光学センサと非光学センサとを備えるナビゲー
ションシステム)」の名称で2013年9月24日に出願された米国特許第900875
7号明細書に記載されている。同文献の開示内容は、引用することによって本明細書の一
部をなすものとする。
ナビゲーションシステム32は、ナビゲーションコンピュータ36や他の種類の制御ユ
ニットを収容するカートアセンブリ34を備えている。ナビゲーションインタフェースは
、ナビゲーションコンピュータ36と動作可能に通信を行うものである。ナビゲーション
インタフェースは、1つ以上のディスプレイ38を含む。ナビゲーションシステム32は
、当該1つ以上のディスプレイ38を使用して、追跡対象のオブジェクトの相対的な状態
を、オペレータに対してグラフィック表現として表示することができる。また、入力デバ
イス40を使用して、ナビゲーションコンピュータ36への情報入力や、ナビゲーション
コンピュータ36の何らかの特性に対して他の選択や制御を行うことができる。図1に示
すように、入力デバイス40は、インタラクティブなタッチパネルディスプレイを備えて
いる。ただし、入力デバイス40が、キーボード、マウス、マイク(音声駆動)、ジェス
チャ制御装置などのうちいずれか1つ以上を備えていてもよい。そして、マニピュレータ
14とマニピュレータカート17の少なくとも一方が、マニピュレータコンピュータ26
または他の種類の制御ユニットを収容する。コントローラ30は、マニピュレータコンピ
ュータ26、ナビゲーションコンピュータ36、およびそれらの任意の組み合わせ(ただ
し、これらに限定されない)を備えるシステム10内の1つ以上の任意の適切なデバイス
で実装することができる。
さらに、ナビゲーションシステム32は、ナビゲーションコンピュータ36と通信する
ナビゲーションローカライザ44(以下「ローカライザ」)を備えることもできる。一例
では、ローカライザ44は光学ローカライザであり、カメラユニット46を備えている。
カメラユニット46は、1つ以上の光学センサ50を収容する外部ケーシング48を有し
ている。
図1に示す例では、ナビゲーションシステム32は、1つ以上のトラッカを備えている
。一例では、これらのトラッカに、ポインタトラッカPT、ツールトラッカ52、第1の
患者トラッカ54、および第2の患者トラッカ56が含まれる。図1において、ツールト
ラッカ52はツール20にしっかりと取り付けられ、第1の患者トラッカ54は患者12
の大腿骨Fにしっかりと貼り付けられ、第2の患者トラッカ56は患者12の脛骨Tにし
っかりと貼り付けられる。この例では、患者トラッカ54,56は、骨の各部に取り付け
られている。ポインタトラッカPTは、生体構造をローカライザ座標系LCLZに登録す
るためのポインタPに取り付けられている。当業者であれば、各トラッカ52,54,5
6,PTが、任意の適切な方法でそれぞれのコンポーネントに固定され得ることを理解す
るであろう。さらに、ナビゲーションシステム32は、本システムの他のコンポーネント
用のトラッカを含んでもよい。そのような他のコンポーネントとしては、マニピュレータ
14の基部16(トラッカ52B)、カート17、および任意の1つ以上のリンク18が
挙げられるが、これらに限定されない。
これらのトラッカのうち任意の1つ以上が、能動マーカ58を備えていてもよい。能動
マーカ58は、発光ダイオード(LED)を備えることができる。あるいは、トラッカ5
2,54,56が、カメラユニット46から放出された光を反射する反射体などの受動マ
ーカを有していてもよい。また、本明細書に具体的に記載されていない他の適切なマーカ
を利用することもできる。
ローカライザ44は、トラッカ52,54,56を追跡して、ツール20、大腿骨(F
)および脛骨(T)の状態にそれぞれ対応する各トラッカ52,54,56の状態を特定
する。そして、ローカライザ44は、これらのトラッカ52,54,56の状態をナビゲ
ーションコンピュータ36に提供する。一例では、ナビゲーションコンピュータ36は、
トラッカ52,54,56の状態を特定し、これをマニピュレータコンピュータ26に伝
達する。本明細書において、オブジェクトの状態は、追跡対象のオブジェクトの位置、向
き、またはその両方、あるいは当該位置と向きの少なくともいずれかの同等物または派生
物を定義するデータを含むが、これらに限定されない。例えば、オブジェクトの状態は、
オブジェクトの姿勢であってよく、また、線形データや角速度データなどを含み得る。
添付の図面では、ナビゲーションシステム32の一例を示しているが、ナビゲーション
システム32は、ツール20および患者12を追跡するのに適した他の任意の構成を有す
ることもできる。一例では、ナビゲーションシステム32とローカライザ44の少なくと
も一方が超音波式である。例えば、ナビゲーションシステム32が、ナビゲーションコン
ピュータ36に接続された超音波撮像装置を備えてもよい。超音波撮像装置は、例えばツ
ール20や患者12などの上述のオブジェクトのいずれかを撮像し、この超音波画像に基
づいて、コントローラ30に送信する状態信号を生成する。超音波画像は、2D画像、3
D画像、またはそれらの組み合わせであってよい。そして、ナビゲーションコンピュータ
36は、ほぼリアルタイムでこれらの画像に対して画像処理を行い、オブジェクトの状態
を特定することができる。超音波撮像装置は、任意の適切な構成を有することができ、図
1に示すカメラユニット46とは異なる構成を有してもよい。
他の例では、ナビゲーションシステム32とローカライザ44の少なくとも一方が無線
周波数(RF)式である。例えば、ナビゲーションシステム32が、ナビゲーションコン
ピュータ36と通信するRF送受信機を備えてもよい。その場合、ツール20と患者12
の少なくともいずれかに、RF発振器またはRFトランスポンダを取り付けることができ
る。このRF発振器またはRFトランスポンダへの通電は、受動的に行われてもよく、あ
るいは能動的に行われてもよい。RF送受信機は、RF追跡信号を送信し、RF発振器か
ら受信したRF信号に基づいて、コントローラ30に送信する状態信号を生成する。ナビ
ゲーションコンピュータ36とコントローラ30の少なくとも一方が、受信した各RF信
号を分析して、これにオブジェクトの相対的な状態を関連付けることができる。RF信号
は、任意の適切な周波数を有してよい。RF送受信機は、RF信号を使用してオブジェク
トの追跡を効果的に行うことができる任意の適切な位置に配置することができる。さらに
、RF発振器またはRFトランスポンダは、任意の適切な構造的構成を有することができ
、図1に示すトラッカ52,54,56の構成とは大きく異なる構成を有してもよい。
さらに他の例では、ナビゲーションシステム32とローカライザ44の少なくとも一方
が電磁式である。例えば、ナビゲーションシステム32が、ナビゲーションコンピュータ
36に接続された電磁送受信機を備えてもよい。その場合、ツール20と患者12に、電
磁コンポーネントを取り付けることができる。電磁コンポーネントの例としては、任意の
適切な磁気トラッカ、電磁トラッカ、誘導トラッカなどが挙げられる。トラッカへの通電
は、受動的に行われてもよく、あるいは能動的に行われてもよい。電磁送受信機は、電磁
場を生成し、各トラッカから受信した電磁信号に基づいてコントローラ30に送信する状
態信号を生成する。ナビゲーションコンピュータ36とコントローラ30の少なくとも一
方が、受信した各電磁信号を分析して、これにオブジェクトの相対的な状態を関連付ける
ことができる。このようなナビゲーションシステム32の例もやはり、添付の図面に示す
ナビゲーションシステム32の構成とは異なる構造的構成を有してもよい。
当業者であれば、ナビゲーションシステム32とローカライザ44の少なくとも一方が
、本明細書において具体的には記載されていない他の任意の適切なコンポーネントまたは
構造を有し得ることを理解するであろう。さらに、添付の図面に示すカメラ式のナビゲー
ションシステム32に関して上述した技術、方法、コンポーネントのうち任意のものを、
本明細書に記載のナビゲーションシステム32の任意の他の例においても実装または提供
することができる。例えば、ナビゲーションシステム32は、慣性追跡のみを利用しても
よく、あるいは複数の追跡技術の任意の組み合わせを利用してもよい。
図2は、コントローラ30のソフトウェアモジュールの例を示す。ソフトウェアモジュ
ールは、マニピュレータコンピュータ26、ナビゲーションコンピュータ36、またはそ
れらの組み合わせの上で動作する1つ以上のコンピュータプログラムの一部として、シス
テム10の制御を支援するためのデータ処理を行うことができる。ソフトウェアモジュー
ルは、マニピュレータコンピュータ26およびナビゲーションコンピュータ36の1つ以
上のプロセッサによって実行される命令を含んでいる。これらの命令は、マニピュレータ
コンピュータ26、ナビゲーションコンピュータ36、またはそれらの組み合わせ上のメ
モリに格納される。さらに、オペレータへの指示、オペレータとの通信、あるいはその両
方を行うするためのソフトウェアモジュールが、当該1以上のプログラムの一部を構成し
てもよい。そのようなソフトウェアモジュールも、マニピュレータコンピュータ26、ナ
ビゲーションコンピュータ36、またはそれらの組み合わせ上のメモリに格納される命令
を含み得る。オペレータは、第1の入力デバイス40、第2の入力デバイス42、および
1つ以上のディスプレイ38と相互作用して、ソフトウェアモジュールとの通信を行う。
ユーザインタフェースソフトウェアは、マニピュレータコンピュータ26およびナビゲー
ションコンピュータ36とは別体のデバイス上で実行することができる。
図1および図2に示すように、コントローラ30は、データを処理してマニピュレータ
14の動きを指示するように構成されたマニピュレータコントローラ60を備えている。
一例では、図1に示すように、マニピュレータコントローラ60は、マニピュレータコン
ピュータ26上に実装される。マニピュレータコントローラ60は、1つの送信元または
複数の送信元からデータを受信し、それを処理することができる。また、コントローラ3
0は、大腿骨F、脛骨T、ツール20の少なくとも1つに関する状態データをマニピュレ
ータコントローラ60に伝達するためのナビゲーションコントローラ62をさらに備える
ことができる。マニピュレータコントローラ60は、ナビゲーションコントローラ62か
ら提供される状態データを受信、処理して、マニピュレータ14の動きを指示する。一例
では、図1に示すように、ナビゲーションコントローラ62は、ナビゲーションコンピュ
ータ36上に実装される。マニピュレータコントローラ60とナビゲーションコントロー
ラ62の少なくとも一方は、1つ以上のディスプレイ38に大腿骨Fと脛骨Tの少なくと
も一方とツール20の画像を表示することにより、患者12やツール20の状態をオペレ
ータに伝達することもできる。また、マニピュレータコンピュータ26またはナビゲーシ
ョンコンピュータ36は、ディスプレイ38に命令または要請情報を表示し、オペレータ
と相互作用して、マニピュレータ14に指示を出すこともできる。
図2に示すように、コントローラ30は境界生成器66を備えている。境界生成器66
は、マニピュレータコントローラ60上に実装され得るソフトウェアモジュールである。
あるいは、境界生成器66は、ナビゲーションコントローラ62などの他のコンポーネン
ト上に実装されてもよい。
境界生成器66は、図4に示すような、ツール20の動きを制限するための1つ以上の
仮想境界55を生成する。ツール20が生体構造の標的部位と相互作用する状況では、図
4に示すように、仮想境界55を標的部位に関連付けることができる。仮想境界55は、
実際の生体構造に登録された3D骨モデルに対して固定されるように、骨モデルに対して
定義することができる。この場合、仮想境界55は、除去すべき組織を除去すべきではな
い組織から区切る。場合によっては、(例えば、ツールトラッカ52を使用して)ツール
20の状態を追跡し、かつ(例えば、患者トラッカ54,56を使用して)生体構造の状
態を追跡するナビゲーションシステム32を使用して、仮想境界55に対するツール20
の状態を追跡することができる。一例では、マニピュレータ14に、より具体的にはツー
ル20に、反力を加えるタイミングと位置を決定するために、仮想境界55に対するツー
ル20のツール中心点の状態が測定される。仮想境界55やこのような反力に関するさら
に詳細な説明については後述する。生体構造に対して仮想境界55を生成し、この仮想境
界55と関連させてマニピュレータ14を制御するためのシステムおよび方法については
、その一例が「Techniques for Modifying Tool Operation in a Surgical Robotic Syst
em Based on Comparing Actual and Commanded states of the Tool Relative to a Surg
ical Site(手術部位に対する実際のツールの状態と指令されたツールの状態との比較に
基づいて外科ロボットシステムにおけるツール動作を修正する技術)」の名称で2016
年12月16日に仮出願された米国仮特許出願第62/435254号明細書に説明され
ている。同文献の開示内容は、引用することによって本明細書の一部をなすものとする。
他の例では、ナビゲーションシステム32は、ツール20が避けるべきオブジェクトの
状態を追跡するように構成される。この場合、仮想境界55は、避けるべきオブジェクト
に関連付けられる。この避けるべきオブジェクトは、ツール20が不注意から相互作用し
てしまうおそれのある滅菌環境内の任意のオブジェクトであり得る。そのような避けるべ
きオブジェクトとしては、手術部位以外の患者の部位、外科手術スタッフ、レッグホルダ
、洗浄吸引器、患者トラッカ54,56、開創器、他のマニピュレータ14、照明器具な
どが挙げられるが、これらに限定されない。避けるべきオブジェクトに対して仮想境界5
5を生成し、この仮想境界55と関連させてマニピュレータ14を制御するためのシステ
ムおよび方法については、その一例が「Systems and Methods for Establishing Virtual
Constraint Boundaries(仮想制限境界を確立するためのシステムおよび方法)」の名称
で2014年3月12日に出願されている米国特許出願第2014/0276943号明
細書に説明されている。同文献の開示内容は、引用することによって本明細書の一部をな
すものとする。
コントローラ30、より具体的には、マニピュレータコントローラ60は、図2に示す
ように、ツール経路生成器68となる別のソフトウェアモジュールを実行することができ
る。ツール経路生成器68は、インプラントを入れるために生体構造の各部位を除去する
ためなどの目的で、ツール20が通過するべき経路を生成する。ツール経路を生成するた
めのシステムおよび方法については、その一例が「Surgical Manipulator Capable of Co
ntrolling a Surgical Instrument in Multiple Modes(複数のモードで外科器具を制御
可能な外科マニピュレータ)」の名称で発行されている米国特許第9119655号明細
書に説明されている。同文献の開示内容は、引用することによって本明細書の一部をなす
ものとする。
いくつかの例では、仮想境界55とツール経路の少なくとも一方を、マニピュレータコ
ンピュータ26上やナビゲーションコンピュータ36上ではなくオフラインで生成するこ
とができる。その場合、その後のマニピュレータコントローラ60の実行時に、マニピュ
レータコントローラ60が仮想境界55とツール経路の少なくとも一方を利用してよい。
図1に示すように、マニピュレータ14に対して、力/トルクセンサなどのセンサ70
を接続することができる。具体的には、遠位側のリンク18とツール20との間に力/ト
ルクセンサ70を取り付けることができる。力/トルクセンサ70は、オペレータがツー
ル20を把持している間にツール20が受ける力、トルク、またはその両方の関数として
可変信号を出力するように構成される。これにより、力/トルクセンサ70は、ツール2
0に加えられる力、トルク、またはその両方の感知を可能にする。以下に説明するように
、入力される力とトルクの少なくとも一方を使って、マニピュレータ14の動きを制御す
る。一例では、力/トルクセンサ70は6DOFセンサであり、これにより、力/トルク
センサ70は、互いに直交する3方向の力と、これら直交する3方向の力それぞれの軸周
りの3方向のトルクから成る、ツール20に加えられる力およびトルクを表す信号を出力
するように構成される。また、以下に詳述するように、これに加えてまたは代えて、ツー
ル20に加えられる力、トルク、またはその両方を、関節トルクを使って特定することも
できる。
図3に示すように、コントローラ30は、各リンク18の動きと位置を指令するために
各関節モータ21と通信を行う。コントローラ30は、位置センサ(例えば、エンコーダ
)19にさらに接続されており、位置センサ19から受信する信号を使用して、各関節(
J)の実際の関節角度を測定するように構成されている。コントローラ30は、指令の関
節角度まで関節モータ21を動かす指令を、関節モータサブコントローラなどを介して関
節モータ21に与える。コントローラ30は、関節(J)の関節トルクの測定値を示す信
号を、関節モータ21の1つ以上のトルクセンサ28から受信することができる。コント
ローラ30はさらに、ツール20に加えられる力、トルク、またはその両方を示す信号を
受信するべく、力/トルクセンサ70に接続されている。
II.アドミッタンス制御と仮想シミュレーション
一例では、コントローラ30はアドミッタンス式コントローラである。換言すれば、コ
ントローラ30は、制御力と制御トルクの少なくともいずれかを特定して、マニピュレー
タ14の位置を指令する。以下に、制御力や制御トルクの例を説明する。一例では、コン
トローラ30は1つのアドミッタンスコントローラを単独で備え、当該1つのコントロー
ラ30が単独で、制御力と制御トルクの少なくともいずれかの特定と分析とを行って力を
決定する。換言すれば、この例では、異なる方向の制御力や制御トルク毎に別体のアドミ
ッタンスコントローラを用いる構成をとっていない。ただし、他の例では、コントローラ
さらに追加して用いることもできる。
アドミッタンス制御を使用していることから、本明細書に記載の技術において、いくつ
かの関節(J)が受動的であるという印象、つまり、(ドアジョイントのように)ユーザ
が加える力によって関節(J)が直接動かされるという印象を与える場合があるかもしれ
ない。しかしながら、本明細書に記載の例では、関節(J)は能動的に駆動される。シス
テム10および方法は、関節(J)を能動的に駆動して、これにより、特定された制御力
と制御トルクの少なくともいずれかに応じてマニピュレータ14の制御を指令することに
より、受動的な挙動を模倣する。
アドミッタンス制御を用いて力を特定するため、コントローラ30は、図3に示すよう
な構成とされて仮想シミュレーション72を実現する。コントローラ30は、仮想シミュ
レーション72でツール20のダイナミクスをシミュレーションする。一例では、仮想シ
ミュレーション72は物理エンジンを用いて実現される。この物理エンジンは、前述のコ
ンピュータ26,36のいずれかの非一時メモリに格納され、コントローラ30によって
実装される実行可能ソフトウェアである。
仮想シミュレーションを行うため、コントローラ30は、ツール20を(例えば、図4
に示すような)仮想剛体としてモデリングする。仮想剛体は、動的オブジェクトであり、
仮想シミュレーション72を実現するためのツール20の剛体表現である。仮想シミュレ
ーション72に従い、仮想剛体は、デカルトタスク空間において6DOFの移動を自由に
行う。仮想剛体の具体例については、次節で説明する。
仮想シミュレーション72と仮想剛体に対しては、視覚的表現やグラフィック表現を用
いずにシミュレーションなどの演算処理を行うこともできる。したがって、仮想シミュレ
ーション72が仮想剛体のダイナミクスを仮想的に表示することは必須ではない。換言す
れば、仮想剛体のモデリングを、処理部が実行するグラフィックアプリケーション内で行
う必要性はない。仮想剛体は、仮想シミュレーション72のためにのみ存在するものであ
る。
ただし場合によっては、シミュレーションによって表現された、実際のツール20を追
従する仮想ツールの動きを手術部位に表示することによって、処置の実施中に視覚的支援
を提供することもできる。ただし、その場合に表示されるツール表現は、仮想シミュレー
ション72の直接の結果として得られるものではない。
ツール20を仮想剛体としてモデリングする方法としては、様々なものがあり得る。例
えば、仮想剛体は、ツール20の表面または内部にある特徴に対応してもよい。また、こ
れに加えてまたは代えて、仮想剛体の一部がツール20の延在範囲を超えて延在するよう
に、仮想剛体を構成することもできる。仮想剛体は、エンドエフェクタ22全体(ツール
20とエネルギーアプリケータ32とを含む全体)を記述するものであってよく、あるい
は、エネルギーアプリケータ32を除くツール20を記述するものであってもよい。さら
に、仮想剛体がツール中心点に基づいていてもよい。さらに別の例では、仮想剛体は、ツ
ール20の静止位置ではなくツール20の可動域に基づいている。例えば、ツール20が
、2つの端点間で揺動するように構成された矢状鋸刃を備える場合がある。その場合、仮
想剛体を、当該2つの端点とこれらに挟まれた任意の適切な空間とを含むように静的に定
義し、仮想剛体によって仮想境界55に対するツール20の全可動域を記述することがで
きる。また、矢状鋸に関連して上述したモデリング技術以外にも、他の同様のモデリング
技術を利用して、ツール20の可動域を効果的に示すことができる。
一例では、仮想剛体は、ツール20の質量中心を中心に生成される。ここで、「質量中
心(center of mass)」とは、質量中心以外のツール20の点に力が加えられるとともに
、それ以外の動きの制約をツール20が受けない、すなわち、マニピュレータ14がそれ
以外の動きの制約をツール20に加えない場合にツール20が回転する際の回転中心とな
る点と理解される。仮想剛体の質量中心は、ツール20の現実の質量中心に近接していて
もよいが、必ずしも一致する必要はない。仮想剛体の質量中心は経験的に特定することが
できる。ツール20をマニピュレータ14に取り付ければ、個々の施術者の好みに合わせ
て質量中心の位置をリセットすることができる。他の例では、仮想剛体が、重心などのツ
ール20の他の特徴に対応してもよい。
コントローラ30は、仮想剛体に対して制御力と制御トルクの少なくともいずれかを仮
想的に加えることにより、ツール20の剛体ダイナミクスのシミュレーションを効果的に
行う。図3に示すように、仮想剛体に加えられる制御力、制御トルク、またはその両方は
、ユーザが加え(そして、力/トルクセンサ70が検出し)た制御力や制御トルクであっ
てもよく、他の挙動および運動に基づく制御力や制御トルクであってもよく、あるいはそ
の両方であってもよい。これらの制御力や制御トルクは、その一部が関節(J)の位置を
制御するために加えられ、種々の発生源に由来し得る。このような制御力や制御トルクの
1つとして、境界生成器68が生成した仮想境界とツール20との相互作用に応じた反力
(Fr)が挙げられる。このような各種の反力(Fr)を生成する技術が次節のメインテ
ーマであり、その詳細は後述する。
これに加えて、経路生成器68が提供するツール経路に沿ってツール20の動きを制限
するために、制御力や制御トルクを加えてもよい。また、さらに、ツール経路に沿ってツ
ール20の向きを許容範囲に収めるようにツール20の向きを制限するために、このよう
な制御力や制御トルクを加えてもよい。また、仮想剛体に対してバックドライブ制御力を
加えることもできる。バックドライブ制御力は(例えば、マニピュレータ14に加えられ
た外力に基づいて生じる)ツール経路に沿った外乱を示す。また、重力に打ち勝つように
、制御力や制御トルクを仮想剛体に加えてもよい。仮想剛体に加えることのできる他の制
御力として、関節の可動範囲を超えないようにする力、マニピュレータ14のリンク18
間の特異点を回避する力、マニピュレータ14の作業領域境界内にツール20を維持する
力などが挙げられるが、これらに限定されない。
仮想剛体に加えられるこれらの種々の制御力や制御トルクは、コントローラ30によっ
て検出や特定が行われ、方程式系に入力される。コントローラ30がこの方程式系を解く
ことにより、当該方程式系を満たす(すなわち、これら種々の制御力や制御トルクおよび
任意の適用可能な制約を満たす)運動学的解が得られる。コントローラ60は、(例えば
、反復法制約ソルバなどの)任意の適切なアルゴリズム命令を使ってこの計算を実行する
ように構成され得る。この演算は、仮想シミュレーション72において、マニピュレータ
14の次の指令位置を決定するために実行される。つまり、マニピュレータ14の位置決
めの際には、ツール20のダイナミクスを物理的に実現する前に、仮想シミュレーション
72がツール20の剛体ダイナミクスのシミュレーションを行う。
つまり別の角度から理解すれば、以下のように考えられる。仮想シミュレーション72
の各繰り返しにおいて、その開始時に仮想剛体は第1の姿勢にある。そしてコントローラ
30が、仮想シミュレーション72に制御力と制御トルクの少なくともいずれかを入力し
て、仮想シミュレーション72において第1の姿勢にある状態の仮想剛体に対して当該制
御力や制御トルクを加える。コントローラ30に応答して、仮想剛体は次の姿勢に移行す
る。この「次の姿勢」は、入力された制御力や制御トルクを満たし、かつデカルト空間内
で第1の姿勢とは異なる状態(すなわち、異なる位置、向き、またはその両方)を有する
姿勢である。
一例では、シミュレーション中に仮想剛体が実際に動くことはない。換言すれば、上記
の制御力や制御トルクが方程式系に入力され、計算により解が求められる。各方程式の解
は、当該方程式に対応する1以上の制御力に応じた仮想剛体の理論上の動きを示すもので
あり得る。言い換えれば、加えられた各方向の制御力や制御トルクそれぞれに従って予想
される仮想剛体の動きを記述するものである。
これに加えてまたは代えて、方程式系を解いている間、仮想剛体が仮想シミュレーショ
ン72内で動いてもよい。言い換えれば、方程式系を解く処理の間、仮想剛体は、加えら
れた制御力や制御トルクに従って動かされ得る。また、方程式系を解いた後に、仮想シミ
ュレーション72において仮想剛体が次の姿勢に移行してもよい。ただし、この「次の姿
勢」の表現も厳密に計算上のものであってよく、よって第1の姿勢から第2の姿勢に移行
する仮想剛体の動きは起こらなくてもよい。
コントローラ30は、仮想シミュレーション72に基づいて仮想剛体の次の姿勢を見定
めると、この仮想シミュレーション72に従って関節(J)の動きを指令するように構成
される。すなわち、コントローラ30は、デカルト空間内の仮想剛体のダイナミクスを変
換することにより、マニピュレータ14の動きを指示して、関節の存在する空間における
ツール20の状態を制御する。例えば、次の姿勢を生じさせる力はヤコビ計算器に入力さ
れ、ヤコビ計算器が、デカルト空間内の動きと関節の存在する空間内の動きとの関係を表
すヤコビ行列を計算する。
一例では、コントローラ30は、仮想シミュレーション72の出力に基づいて、関節(
J)に指令すべき適切な関節角度を決定するように構成される。すなわち、コントローラ
30は、各関節(J)の指令関節角度を計算する。その後、コントローラ30は各関節(
J)の関節角度を調節し、各関節モータ21が出力するトルクの継続的な調整を行う。こ
の出力トルクの調整は、各関節モータ21が自身に関連付けられた関節(J)を駆動して
、当該関節(J)を指令関節角度にできる限り近づけるように行われる。コントローラ3
0は、各関節モータ21が自身に関連付けられた関節(J)を指令関節角度まで駆動する
ように、各関節モータ21に信号を印加するように構成される。コントローラ30は、指
令関節角度に基づいて関節(J)の位置決めを制御するための任意の適切な位置制御アル
ゴリズムを使用することができる。また、コントローラ30は、能動関節(J)、すなわ
ち、仮想シミュレーション72の出力に基づいて動くことが想定されている関節(J)に
対してのみ、指令関節角度を生成することができる。
いくつかの例では、図3に示すように、コントローラ30は、各関節(J)に対して個
別に(例えば、各能動関節ごとに)指令関節角度を生成する。例えば、各関節(J)に対
する検討は逐次的に行われてもよく、その場合、指令関節角度の生成は、J1の指令関節
角度からJ6の指令関節角度の順に行っても、その逆の順番で行ってもよい。
III.侵入係数に基づいて反力を計算して仮想境界を実現する技術
ここで図4~図18を参照し、例えばマニピュレータ座標系MNPLにおけるツール2
0と仮想境界55との相互作用に応じて、仮想シミュレーション72において仮想剛体に
加えられる反力(Fr)を生成する技術を説明する。コントローラ30は、仮想シミュレ
ーション72において仮想ボリューム74に加えられる反力(Fr)に従ってツール20
を動かすことによりツール20の動きを仮想境界55に対して制限する指令を、マニピュ
レータ14に与える。以下では、仮想剛体および仮想境界55の構成および機能、ならび
に反力(Fr)を計算するための技術について詳述する。本明細書における各要素の機能
についての説明を通じて、これらの技術を実現する方法も完全に理解されるであろう。
本明細書に記載の反力(Fr)を計算する技術を実現するため、仮想剛体は図4に示す
ような仮想ボリューム74として定義される。したがって、仮想剛体は、単点や2D平面
の要素ではなく、モデリングで生成された3Dのオブジェクトである。前節で説明した仮
想剛体の特徴、機能および構成が、本節で説明する仮想ボリューム74に適用されるもの
と理解されたい。以下に説明する技術に基づいて明らかとなるように、仮想剛体を仮想ボ
リューム74とすることにより、仮想剛体を2Dや1Dの要素とする場合と比べて、仮想
ボリューム74と仮想境界55との間の動的な相互作用をより正確なものとすることが可
能になる。
仮想ボリューム74は、様々な構成を有することができる。一例では、仮想ボリューム
74は、1個の面と、0個の辺と、0個の頂点とを有している。例えば、図4~図18に
示すように、仮想ボリューム74は球体である。あるいは、仮想ボリューム74は、1個
の面と、0個の辺と、0個の頂点とを有する他の形状であってもよい。そのような他の形
状の例としては、回転楕円体(扁長楕円体または扁平楕円体)、楕円体、(例えばドーナ
ツ状円環体などの)環状体、またはそれらの任意の組み合わせなどが挙げられる。1個の
面と、0個の辺と、0個の頂点とを有することから、仮想ボリューム74は、その全体に
滑らかな表面を有している。以下に説明する技術に基づいて明らかとなるように、面の数
が1個の仮想ボリューム74と仮想境界55との相互作用に応じて計算される反力(Fr
)は、2個以上の面を有するボリュームと仮想境界55との相互作用に応じて計算される
反力(Fr)に比べて、相互作用をより正確に反映した応答を返す可能性が高い。
ただし、本明細書に記載の技術を、2個以上の面を有する仮想ボリューム74で実現す
ることも可能である。例えば、仮想ボリューム74は、円錐体または半球体であってもよ
く、あるいは、複数の高精細な面を有することによって、上述のような面の数が1個で表
面が滑らかなボリュームの形(すなわち、球体、回転楕円体、楕円体、環状体)のいずれ
かを模した任意の形状であってもよい。本明細書に記載の技術の教示内容を考慮すること
により、仮想ボリューム74の他の例についても想到できるであろう。
図4に、仮想境界55の一例を示す。当然のことながら、任意の数の仮想境界55を利
用することができる。複数の仮想境界55を利用する場合、それらは互いに間隔を空けて
離されていてもよく、または互いに一体的につながっていてもよい。また、仮想境界55
は平面状であってもよく、または多面体状などのより複雑な形状で定義されてもよい。
図4に示すように、仮想境界55は、複数の多角形要素80から成るメッシュで定義さ
れている。当該メッシュは、隣接する頂点や辺どうしの位置を合わせて互いに隣接配置さ
れる複数の多角形要素80から形成される。
各多角形要素80は、少なくとも3つの直線の辺と少なくとも3つの角とを持つ平面形
状を有する任意の多角形で形成することができる。理想的には、これら多角形の辺によっ
て、隣接する多角形要素80どうしの間に隙間のないメッシュを形成することができる。
一例では、図4に示すように、多角形要素80は三角形である。この三角形は、正三角形
、不等辺三角形、二等辺三角形、鈍角三角形、斜角三角形、直角三角形、あるいはそれら
の任意の組み合わせなどの任意の種類の三角形であってよい。他の例では、多角形要素8
0を、四角形(長方形、正方形)、五角形、六角形などとすることもできる。
各仮想境界55が、同種の多角形要素80で形成されたメッシュを備えることができる
。例えば、図4において、図示の多角形要素80はいずれも三角形である。他の例では、
ある仮想境界55が備えるメッシュを形成する多角形要素80の種類と、他の仮想境界5
5が備えるメッシュを形成する多角形要素80の種類とが異なっていてもよい。さらに他
の例では、1つの仮想境界55が備えるメッシュが、同一メッシュ内に2種類以上の多角
形要素80を備えてもよい。例えば、同一メッシュ内において、ある種類の多角形要素5
0の組をある部分に配置し、他の種類の多角形要素50の組を他の部分に配置することが
できる。仮想境界55、メッシュ、および多角形要素80は、本明細書に記載、図示する
構成とは異なる構成を備えてもよいことを理解されたい。
上述したように、仮想シミュレーション72において、仮想ボリューム74は、自身に
加えられる制御力や制御トルクに従って、仮想境界55への相互作用、仮想境界55への
侵入の試み、または他の形での仮想境界55への侵入(仮想境界55の踏み越え)を行う
ことができる。仮想ボリューム74が仮想境界55を押すと、仮想ボリューム74と仮想
境界55の少なくとも一方に加えられる圧縮衝撃によって仮想境界55が押し戻される。
簡略化のため、図中、仮想ボリューム74によって仮想境界55に加えられる(あるいは
、逆に仮想境界55によって仮想ボリューム74に加えられる)衝撃力をFで示す。こ
の衝撃力(F)を相殺するべく、コントローラ30は、仮想ボリューム74に加えるべ
き圧縮に反発する反力(Fr)を生成する。したがって、反力(Fr)は、仮想シミュレ
ーション72においてコントローラ30が満たそうと試みる方程式系の1成分である。よ
って、仮想シミュレーション72時に、仮想ボリューム74は、反力(Fr)以外にも他
の複数の制御力、トルク、あるいはその両方を受け得ることを理解されたい。なお、上述
したように、仮想ボリューム74と仮想境界55との間の相互作用は、グラフィックな存
在である必要はなく、当該相互作用のパラメータや変数を方程式系に与えて解を求めるこ
とにより表現される、単に計算上の存在であってよい。
コントローラ30は、仮想シミュレーション72において仮想ボリューム74が1つ以
上の多角形要素80に侵入する場合に、その侵入に応じた特異的な反力(Fr)を計算す
るように構成される。ここで、反力(Fr)は、多角形要素80のジオメトリに対して境
界が画定される仮想ボリューム74のジオメトリの関数である侵入係数に基づいて計算さ
れる。以下の例から明らかとなるように、仮想ボリューム74のジオメトリは2Dであっ
ても3Dであってもよい。仮想ボリューム74のジオメトリの境界は、多角形要素80に
よって画定されている。例えば、仮想ボリューム74のジオメトリの境界は、多角形要素
80の外周によって画定される。換言すれば、1つの多角形要素80に対して考慮される
仮想ボリューム74のジオメトリの範囲は、その多角形要素80の外周より内側に存在す
る仮想ボリューム74のジオメトリの範囲である。以下では、侵入係数の種々の計算例に
ついて詳述する。以下の計算例は、それぞれ単独で用いることもできるほか、互いに組み
合わせて用いることもできる。
A.投影領域
図5~図15に示す一例によれば、コントローラ30は、仮想ボリューム74と多角形
要素80との交わりによって定義される投影領域90に関係付けられた侵入係数に基づい
て反力(Fr)を計算するように構成される。
この例において、「投影(projected)」という用語は、仮想ボリューム74と多角形
要素80との交わりによって定義される領域90が多角形要素80の平坦面に対してマッ
ピングされることを意味する数学的表現である。なお、図中、投影領域90の面積を符号
projで示す。また、いずれの図においても、投影領域90を網掛けの領域で示している
投影領域90は、多角形要素80によって境界を画定されている。より具体的には、投
影領域90は、多角形要素80の外周によって境界を画定されている。換言すれば、1つ
の多角形要素80に対して考慮される投影領域90の範囲は、その多角形要素80の外周
より内側に存在する投影領域90の範囲である。以下では、仮想ボリューム74が複数の
多角形要素80に侵入する例について説明する。
本明細書の記載および図面から明らかなように、仮想ボリューム74の定義は、仮想ボ
リューム74の侵入の直線的な深さ(すなわち、仮想ボリューム74が、多角形要素80
や仮想境界55より内部に突き出る距離)に対して、投影領域90が非線形に変化するよ
うに行われる。反力(Fr)は、侵入の直線的な深さの変化に合わせて変化し得るもので
はあるが、反力(Fr)の計算は、侵入の直線的な深さを使わずに、投影領域90に基づ
いて行われる。
上述したように、反力(Fr)は投影領域90に関係付けられる。一例では、反力(F
r)は投影領域90と直接相関する。これに加えてまたは代えて、反力(Fr)が投影領
域90の面積に比例してもよい。一例では、反力(Fr)を、バネ定数kを有するバネと
してモデリングすることができる。バネ定数kにAprojを乗じることにより、反力(Fr
)を求めることができる(F=k×Aproj)。ばね定数kは、設計構成に応じて、ツー
ル20の仮想境界55への侵入にどれだけ強く反発する必要があるかを反映した任意の適
切な値とすることができる。
一例では、反力(Fr)は、多角形要素80の平面に垂直なベクトルとして印加される
。多角形要素80の平面に対するベクトルの位置は、多角形要素80にマッピングされる
投影領域90の位置によって変化し得る。反力(Fr)の大きさは、投影領域90の大き
さによって変化し得る。侵入時の仮想ボリューム74の姿勢と投影領域90の少なくとも
いずれかによっては、反力(Fr)ベクトルの多角形要素80の平面に対する角度が、垂
直以外の角度となる場合もある。以下では、投影領域90から反力(Fr)を計算する技
術について説明する。
コントローラ30は、仮想シミュレーション72において仮想ボリューム74に反力(
Fr)を加えて、仮想ボリューム74による多角形要素80への侵入を抑制するように構
成される。したがって、反力(Fr)は、衝撃力(F)の一部またはすべてを相殺する
ように構成される。反力(Fr)は、仮想ボリューム74に直接加えられてもよく、仮想
境界55に加えられてもよく、あるいはその両方に加えられてもよいことを理解されたい
。いずれの場合も、仮想ボリューム74に反力(Fr)を加えると、仮想ボリューム74
に加速度が生じ、仮想ボリューム74の速度(したがって姿勢)が変化する。なおこの変
化は、仮想ボリューム74が仮想境界55に作用する間持続する。仮想ボリューム74と
仮想境界55との間の衝撃の大きさは時間とともに変化する傾向にあるため、コントロー
ラ30は衝撃力(F)を最小化する複数のインパルスを生成するように構成され得る。
インパルスを繰り返し生成することにより、仮想ボリューム74に加える反力(Fr)を
算出することができる。インパルスは、時間に関する反力(Fr)の積分量である。イン
パルスは、反力(Fr)の瞬時増加の作用と理解することもできる。
ここで、図5~図7を参照する。図5~図7は、衝撃力(F)に従って(例えば、球
体の)仮想ボリューム74が1つの(例えば、三角形の)多角形要素80に侵入する状況
での投影領域90を説明する例を示す。なお、説明の簡略化のため、図中、慣例的な表記
に則り、力を示す矢印の長さでその力の大きさを表している。したがって、力の大きさが
大きいほど長い矢印で、力の大きさが小さいほど短い矢印で示す。ただし、矢印の長さは
例示的なものに過ぎず、投影領域90とこれに対応する反力(Fr)との間の直接的な数
学的相関関係を表すことを意図したものではないことを理解されたい。
図5~図7は、簡略化のため3つの独立した例を示しているに過ぎず、時間とともに仮
想ボリューム74が仮想境界55に徐々に侵入する様子を表すものではないことを理解さ
れたい。これらの例のいずれにおいても、各反力(Fr)が衝撃力(F)を完全に相殺
することによって、仮想境界55への侵入を排除している状態を主に示している。
なお当然ながら、仮想ボリューム74の侵入は徐々に進むものと考えられる。したがっ
て、当業者であれば、本技術が、多様な態様で繰返し生じる衝撃力(F)に対して、仮
想ボリューム74に反力(Fr)を繰返し加えることができることを理解するはずである
。つまり、ツール20の状態が仮想境界55に対してその後も刻々と変化するのに応じて
、コントローラ30は、反力(Fr)を繰り返し計算し、反力(Fr)を繰り返し加え、
そして、仮想シミュレーション72において仮想ボリューム74に加える反力(Fr)に
従ってツール20を動かす指令を、マニピュレータ14に繰り返し与えるように構成され
る。例えば、反力(Fr)は、仮想ボリューム74が仮想境界55との交わりを維持する
ような不完全な変位を仮想ボリューム74に与えるものであってよい。この場合、仮想シ
ミュレーション72において、このような不完全変位後のツール20の状態が追跡され、
仮想ボリューム74の姿勢が更新される。そして、この仮想ボリューム74の姿勢の更新
によって、仮想ボリューム74と仮想境界55との交わりが変化し(例えば、小さくなり
)、よって投影領域50が小さくなり、ひいては次の反力(Fr)の大きさが小さくなり
得る。そしてこれを受けたツール20が、さらに仮想境界55からの不完全変位を起こし
得る。このプロセスを、仮想境界55による侵入が完全に無効化されるまで、あるいは閾
値に達するまで繰り返すことができる。
なお、図中、具体例として多角形要素80を仮想ボリューム74の下方に図示しており
、これに基づく向きに関する用語(「上」や「下」など)を用いて、多角形要素80と仮
想ボリューム74との向きを説明する場合がある。このような向きに関する用語は、これ
らの具体例に関するものに過ぎず、本発明の主題の範囲を限定することを意図したもので
はない。仮想ボリューム74が下から多角形要素80に近づく、仮想ボリューム74が横
から多角形要素80に近づくなどの他の向きも可能であることを理解されたい。
また、図5~図7に示す例では仮想ボリューム74が球体であるため、図示の投影領域
90は円形に基づくものとなっている。しかし、当然ながら、仮想ボリューム74の構成
や形状、姿勢によっては、仮想ボリューム74の交わり領域、したがって投影領域90が
、図示とは異なる大きさや形状を有する場合がある。さらに、図5~図7においては、簡
略化のため、仮想ボリューム74が多角形要素80の領域の幾何学的中心に侵入している
という想定に基づき、投影領域90は多角形要素80の中心に示されている。しかしなが
ら、仮想ボリューム74の構成や形状、姿勢によっては、投影領域90が多角形要素80
の中心からずれている場合がある。
ここで図5を参照すると、左端の図は、仮想ボリューム74と多角形要素80を示す側
面図である。衝撃力(F)に従って、仮想ボリューム74の最下端部が、多角形要素8
0に若干侵入している。(図5の中央の図に示す)投影領域90は、仮想ボリューム74
と多角形要素80との交わりを表しており、円形となっている。この例では、交わり面に
おける仮想ボリューム74の断面100が投影領域90と一致している。図5では、仮想
ボリューム74の最下端部のみが侵入しているため、投影領域90は多角形要素80の領
域に比べて小さい。図5の右端の図は、投影領域90に基づいて計算された反力(Fr)
を示す。反力(Fr)は、多角形要素80の平面に垂直かつ衝撃力(F)とは反対の方
向で仮想ボリューム74に向けられた矢印で示している。図5において、反力(Fr)の
矢印の大きさは、投影領域90の相対的な面積を反映したものとなっている。
図6では、仮想ボリューム74が多角形要素80により深く侵入しており、よって、仮
想ボリューム74と多角形要素80との間の交わりがより大きくなっている。したがって
、図6(中央の図)の投影領域90は、図5の投影領域90よりも大きい。図6の投影領
域90は、円形に基づいている(つまり、球体の交わりに由来するものである)ものの、
円形ではない。むしろ、投影領域90の境界は多角形要素80の外周によって画定されて
おり、考慮される投影領域90の範囲は、多角形要素80の外周内に画定される投影領域
90の範囲である。交わり面における仮想ボリューム74の断面領域100は、多角形要
素80の境界を超えて延在しており、よって図6では境界外領域92が存在する。これら
の境界外領域92は、衝撃を受けた多角形要素80の反力(Fr)の計算において考慮に
入れない。そして、図6の投影領域90は図5の投影領域90よりも大きいため、図6の
右端の図において、算出された反力(Fr)を示す矢印は、図5の反力(Fr)の矢印よ
りも大きい。
図7は、仮想ボリューム74が多角形要素80にさらに大きく侵入している状態を示す
。より詳細には、球形の仮想ボリューム74の半分が多角形要素80に侵入している。そ
して、予想される通り、図7(中央の図)の投影領域90は、図6の投影領域90よりも
大きい。図7の状態においても、境界外領域92は存在し、これら境界外領域92は、反
力(Fr)の計算ではやはり考慮外とされる。また、やはり予想される通り、より深く侵
入することにより、境界外領域92の面積も、図6の境界外領域92の面積より大きくな
っている。そして、図7の右端の図において、算出された反力(Fr)を示す矢印は、図
6の反力(Fr)の矢印よりも大きい。当業者であれば、仮想ボリューム74の形状のた
めに投影領域90が逆に減少するほど大きい深さまで侵入する状況を考慮に入れた対策を
講じ得ることを理解するであろう。例えば、このような状況は、図7において球形の仮想
ボリューム74の半分を上回る部分が多角形要素80に侵入する場合に起こり得る。その
ような対策としては、任意の1つの多角形要素80に対するある任意の侵入行為に対して
複数の投影領域90を計算してそれらを複合すること、仮想境界55に対する変位体積(
変位ボリューム)を考慮することなどを挙げることができる。
図5~図7に基づいて明らかなように、投影領域90は、侵入の直線的な深さに対して
変化する。しかし、侵入する仮想体は立体形状を有しているため、多角形要素80、仮想
境界55またはその両方に対して線形の衝撃力(F)を加えることはなく、よって、投
影領域90は侵入の直線的な深さに対して線形には変化しない。むしろ、侵入する仮想体
が加える衝撃力(F)は、仮想ボリューム74の立体形状の関数であるより高次の力で
ある。したがって、投影領域90は、このより高次の立体形状関数に従って侵入の直線的
な深さに対して変化する。換言すれば、投影領域90は、仮想ボリューム74の変位体積
(変位ボリューム)すなわち侵入体積(侵入ボリューム)を記述するものである。
この可変応答が起こる理由の一つとして、図示の例の仮想ボリューム74が1つの面の
みを有しており(例えば、球形であり)、互いに隣接する断面積が等しくないことが挙げ
られる。例えば、もし仮想ボリューム74が立方体であり、その下面から(仮想ボリュー
ム74と多角形要素80の平らな面どうしがぴったり重なるように)多角形要素80に侵
入していたとしたら、図5~図7の投影領域90は互いに等しくなる。よって、この場合
、図5~図7に示す例において、本明細書に記載の技術の異なる反力(Fr)の根拠とな
る侵入の直線的な深さが相対的に異なっているにも係わらず、反力(Fr)が同じになっ
てしまう。
したがって、仮想ボリューム74の侵入に応じて計算される反力(Fr)は、侵入の直
線的な深さに対して可変的な応答を示す。ただし、反力(Fr)は、侵入の直線的な深さ
の変化に合わせて変化し得るものではあるが、実際の反力(Fr)の計算は、投影領域9
0に基づいて行われる。反力(Fr)の計算が、単に、仮想ボリューム74が多角形要素
80や仮想境界55より内部に突き出る直線的な深さのみに基づいて行われることはない
図8および図9に、投影領域90を計算するための技術の例を示す。上述したように、
ある多角形要素80に対する投影領域90は、当該多角形要素80内の網掛けの領域で示
しており、多角形要素80の延在範囲を超えて延在する境界外領域92は含まない。図8
では、具体例として、三角形の多角形要素80に対する投影領域90の計算を示している
図8において、投影領域90は、球形の仮想ボリューム74との交わりによって得られ
るものであり、よって、円形に基づく形状を有する。図8に示す円は、三角形の多角形要
素80との交わり面における仮想ボリューム74の断面領域100を表している。この円
は、中心が三角形の多角形要素80の幾何学的中心からずれており、交点94,96で多
角形要素80の下辺と交わっている。その結果、断面領域100は下辺によって一部が切
り取られて、図示の境界外領域92が生じる。中心点(c)は、仮想ボリューム74の断
面領域100の中心であり、半径(r)は断面領域100の半径である。
この例では、当該円と多角形要素80との重なりを特定することによって、投影領域9
0を計算する。具体的には、図8の状況では、円と多角形要素80との交わりが、三角形
の多角形要素80の1個の辺にのみ係っている(頂点には係っていない)ため、投影領域
90の計算は、円と多角形要素80との重なりを三角形領域Atriと扇形領域Asector
に分割することにより行われる。三角形領域Atriは、中心点(c)、交点94,96の
3点で定義される。三角形領域Atriの底辺(b)は、交点94,96間と定義され、三
角形領域Atriの高さ(h)は、中心点(c)と底辺(b)の間の距離と定義される。よ
って、三角形領域Atriの面積は、式「Atri=1/2bh」で計算される。扇形領域Ase
ctorの面積は、扇形の中心角(θ)に基づく。この中心角(θ)は、中心点(c)と各交
点92,94との間にそれぞれ定義される三角形領域Atriの2本の斜辺の間に定義され
る、中心点(c)を中心とする角である。よって、扇形領域Asectorの面積は、式「Ase
ctor=πr×θ/360(°)」で計算される。なお、この例では、円の中心点(c)
が多角形要素80の内部に位置している。よって、扇形領域Asectorも多角形要素80の
内部に位置する。図8に示すように、三角形領域Atriと扇形領域Asectorとで網掛けの
領域全体を占めるため、AtriとAsectorとの和を求めることによって投影領域Aproj
計算される。
図9は、三角形の多角形要素80と仮想ボリューム74の円形断面100とに基づく投
影領域Aprojの計算を示すさらに別の例である。図9の状況でも、円形断面100と多角
形要素80との交わりは、三角形の多角形要素80の1個の辺にのみ係っている(頂点に
は係っていない)。ただし、この例では、円形断面100の中心点(c)は多角形要素8
0の外部に位置している。その結果、三角形領域Atri全体と扇形領域Asectorの一部が
多角形要素80の外部に位置することになる。したがって、図8の投影領域90は、三角
形領域Atriと扇形領域Asectorとの和を求めることによって計算されるが、図9の投影
領域90は、扇形領域Asectorから三角形領域Atriを引くことによって計算される。よ
って、図9の投影領域90は図8の投影領域90よりも小さい。
繰り返すが、図8および図9に係る計算は、三角形の多角形要素80と仮想ボリューム
74の円形断面100だけに特有のものではない。円形と多角形要素80との交わりが三
角形の多角形要素80の1個の辺にのみ係り、その頂点には係らないものであれば、その
ような交わりにも適用することができる。当然ながら、投影領域90、したがって投影領
域90を計算するための計算は、多角形要素80のジオメトリ、仮想ボリューム74のジ
オメトリ、およびこれら両ジオメトリの相対的な位置関係に応じて異なり得る。また、図
示の例において、投影領域90の計算は、仮想ボリューム74の円形断面100と交わる
三角形の多角形要素80の辺の数(0~3本)や頂点の数(0~3個)に応じて異なる。
投影領域90の幾何学的計算については、本明細書に記載の計算方法以外にも、任意の幾
何学的構成や状況に応じて想到することができるであろう。
ここで、図10~図12を参照する。図10~図12は、仮想シミュレーション72に
おいて仮想ボリューム74が複数の多角形要素(例えば、80A~80F)に同時に侵入
する場合に、その侵入に応じて複数の反力(例えば、Fr~Fr)が生成される例を
示す。簡略化のため、図10~図12の例においても引き続き、三角形の多角形要素80
と仮想ボリューム74の円形断面100を例に説明を行う。
図10では、球形の仮想ボリューム74が、多角形要素80A~80Fで構成される仮
想境界55に侵入している。なお、この例では、多角形要素80A~80Fが同一平面上
にあると想定している。当然ながら、仮想境界55のメッシュは、多角形要素80A~8
0F以外にもさらに多角形要素を備えてもよく、種々の多角形要素80を、非平面状の配
置となる角度で互いに隣接して配置することもできる。図5~図9では、ただ1つの多角
形要素80との交わりについて図示、説明したが、図10では、仮想ボリューム74の円
形断面100は、多角形要素80A~80Fが共有する中心頂点で多角形要素80A~8
0Fと交わる。したがって、各多角形要素80A~80Fにマッピングされる投影領域9
0A~90Fは互いに等しい。簡略化のため、この例では、投影領域90A~90Fが互
いに等しいものとして説明するが、多角形要素80A~80Fの間で投影領域90の形状
は異なっていてもよい(あるいは投影領域90がないものがあってもよい)ことを理解さ
れたい。反力(Fr~Fr)は、多角形要素80A~80Fごとに計算される。反力
(Fr~Fr)は、仮想ボリューム74と多角形要素80A~80Fとの交わりによ
って定義される投影領域90A~90Fに、それぞれ関係している。投影領域90A~9
0Fの境界もやはり、多角形要素80A~80Fによってそれぞれ画定される。したがっ
て、この例では、反力(Fr~Fr)も互いに等しい。
図10において、コントローラ30は、複数の反力(Fr~Fr)を仮想ボリュー
ム74に同時に加えて、仮想ボリューム74による仮想境界55への侵入を相殺するよう
に構成される。図10の具体例では、複数の反力(Fr~Fr)が個別に、仮想ボリ
ューム74に加えられる。例えば、各多角形要素80が、仮想ボリューム74による侵入
に対して個別に反応してもよい。反力(Fr~Fr)は、それぞれの多角形要素80
A~80Fに対応する位置に従ってそれぞれ加えられる。なお、側面図の限界のため、反
力(Fr~Fr)の位置が、図10の側面図に示す位置とは若干異なる場合がある。
図11の状況は、コントローラ30が複数の反力(Fr~Fr)を合成して、合成
反力(FrTotal)を生成する点を除き、図10の状況と同様である。コントローラ30
は、1つの合成反力(FrTotal)を仮想ボリューム74に一回で加えて、仮想ボリュー
ム74による仮想境界55への侵入を相殺するように構成される。合成反力(FrTotal
)の大きさは、複数の反力(Fr~Fr)の大きさの総和を求めることにより計算す
ることができる。よって、この例の場合、合成反力(FrTotal)の大きさは、1つの反
力(Fr~Fr)の大きさの6倍となる。合成反力(FrTotal)の位置は、複数の
反力(Fr~Fr)の位置を平均化する、つまりそれらの位置の中心を求めることに
より計算できる。よって、この例の場合、合成反力(FrTotal)の位置は、多角形要素
80A~80F間で共有される中心頂点と一致する。また、この例では、多角形要素80
A~80Fが同一平面上にあると想定しているため、合成反力(FrTotal)の方向は、
当該平面に垂直かつ衝撃力(F)とは反対の方向となる。なお、合成反力(FrTotal
)の大きさ、位置、および方向は、本明細書に記載の方法以外の方法に従って計算するこ
ともできる。
いくつかの例では、コントローラ30は、仮想ボリューム74が行う複数の多角形要素
80に対する任意の同時侵入行為において、合成反力が一定となるように、各反力(Fr
)に重み係数を掛けることができる。換言すれば、コントローラ30は、アフィン結合ア
ルゴリズムを利用して、これらの重み係数の総和が一定となるように重み係数を操作する
ことができる。例えば、重み係数は、仮想境界55が平坦面である場合に総和が1となる
ように定義することができる。また、2つの仮想境界55が互いに垂直またはほぼ垂直で
ある場合に総和が1より大きくなるように、重み係数を定義することができる。さらに、
仮想境界の端部では総和が1未満となるように、重み係数を定義することができる。この
技術は、これらの各状況に応じて、仮想ボリューム74の侵入に対して予測可能かつ滑ら
かな応答を与え、よってユーザにとって自然な応答を与えることに役立つものである。言
い換えれば、ユーザに予想外の力の増大や減少を感じさせてしまうことはない。
図12では、球形の仮想ボリューム74が、多角形要素80A~80Dで構成される仮
想境界55に侵入している。図10および図11とは異なり、図12の仮想ボリューム7
4の円形断面100と各多角形要素80A~80Dとの交わりは互いに等しくない。むし
ろ、多角形要素80Aにマッピングされる投影領域90Aは、多角形要素80B~80D
にマッピングされる投影領域90B~90Dに比べて大きい。一方、投影領域90B~9
0Dは互いに等しい。反力(Fr~Fr)は、多角形要素80A~80Fごとに計算
される。投影領域90Aが投影領域90B~90Dに比べて大きいため、投影領域90A
に関係する反力(Fr)も、投影領域90B~90Dに関係する各反力(Fr~Fr
)に比べて大きくなる。やはり、反力(Fr~Fr)は、それぞれの多角形要素8
0A~80Dに対応する位置に従ってそれぞれ加えられる。なお、側面図の限界のため、
反力(Fr~Fr)の位置が、図12の側面図に示す位置とは若干異なる場合がある
図12において、侵入の直線的な深さは多角形要素80A~80Dの間で同一であり、
よって本明細書に記載の投影領域技術の動的な応答をさらに例示するものである。ただし
、多角形要素80Aの投影領域90Aは多角形要素80B~80Dの各投影領域90B~
90Dに比べて大きいため、投影領域90Aに関係する反力(Fr)は他の各反力(F
~Fr)に比べて大きく、これは、まさにこの特定の仮想ボリューム74の侵入に
よって与えられる衝撃を正確に記述したものである。したがって、この例は、投影領域9
0、したがって反力(Fr)が侵入の直線的な深さに対して線形には変化しないことを示
すさらなる例である。
以上説明した例は、多角形要素80が同一平面上にある状況を説明するものであった。
しかしながら、本明細書に記載の技術は、多角形要素80が異なる平面上にある状況にも
同様に適用することができる。このような状況の一例として、仮想ボリューム74が多角
形要素80の成す角に衝突する場合が挙げられる。例えば、図13~図15は、衝撃力(
)に従って(例えば、球体の)仮想ボリューム74が2つの(例えば、正方形の)多
角形要素80A,80Bに侵入する状況で投影領域90を使用する場合を説明する。具体
的には、2つの多角形要素80A,80Bは、仮想境界55の出隅角を成すものである。
図13~図15は、簡略化のため3つの独立した例を示しているに過ぎず、時間ととも
に仮想ボリューム74が仮想境界55に徐々に侵入する様子を表すものではないことを理
解されたい。これらの例のいずれにおいても、各反力(Fr)が衝撃力(F)を完全に
相殺することによって、仮想境界55による侵入を排除している状態を主に示している。
なお当然ながら、仮想ボリューム74の侵入は徐々に進むものと考えられる。したがって
、当業者であれば、本技術が、多様な態様で繰返し生じる衝撃力(F)に対して、仮想
ボリューム74に反力(Fr)を繰返し加えることができることを理解するはずである。
ここで図13を参照する。図13は、仮想ボリューム74と多角形要素80A,80B
とを示す側面図を含む。図13はさらに、多角形要素80Aの上面図と、多角形要素80
Bの正面図も含む。仮想ボリューム74は、多角形要素80Aに侵入するが、多角形要素
80Bには侵入しない。投影領域90Aは円形であり、仮想ボリューム74と多角形要素
80Aとの交わりを表す。反力(Fr)は、投影領域90Aに基づいて計算され、衝撃
力(F)とは反対の方向に仮想ボリューム74に加えられる。この例では、仮想ボリュ
ーム74による侵入位置のため、投影領域90Aは多角形要素80Aの正方形の中心にマ
ッピングされる。したがって、反力(Fr)は、多角形要素80Aの中心位置、よって
、侵入する仮想ボリューム74の中心位置に加えられる。さらに、投影領域90Aは、仮
想ボリューム74の断面領域100全体である。したがって、反力(Fr)は比較的強
い大きさで加えられる。
図14の例は、仮想ボリューム74が、出隅角から多角形要素80A,80Bの両方に
侵入している状態を示す。侵入位置のため、多角形要素80A,80Bにマッピングされ
る各投影領域90A,90Bは、いずれも仮想ボリューム74の断面領域100の一部に
過ぎない。投影領域90Aに基づいて計算される反力(Fr)は、多角形要素80Aへ
の衝撃とは反対の方向で仮想ボリューム74に加えられる。一方、投影領域90Bに基づ
いて計算される反力(Fr)は、これとは異なる方向つまり、多角形要素80Bへの衝
撃とは反対の方向で仮想ボリューム74に加えられる。衝撃の位置に基づき、投影領域9
0Aは多角形要素80Aの右端にマッピングされ、投影領域90Bは多角形要素80Bの
上端にマッピングされる。したがって、反力(Fr)は、多角形要素80Aの右端近く
の位置に加えられ、反力(Fr)は、多角形要素80Bの上端近くの位置に加えられる
。さらに、投影領域90A,90Bはいずれも仮想ボリューム74の断面領域100の一
部に過ぎないため、各反力(Fr),(Fr)は、図13で加えられる反力(Fr
)の大きさよりも小さい大きさでそれぞれ加えられる。図13と図14で侵入の直線的な
深さは同一ではあるにも関わらす、このような相違がある。
図15では、仮想ボリューム74が、図14よりさらに小さい部分で、出隅角から多角
形要素80A,80Bの両方に侵入している。また、図15の侵入の直線的な深さは、図
13および図14よりも小さい。また、図14と比較すると、図15の投影領域90A,
90Bの方が小さく、また図15の反力(Fr)の方が、多角形要素80Aの右端によ
り近い位置で加えられ、図15の反力(Fr)の方が、多角形要素80Bの上端により
近い位置で加えられる。さらに、各反力(Fr),(Fr)は、図14で加えられる
反力(Fr),(Fr)の大きさよりも小さい大きさでそれぞれ加えられる。
これらの例から明らかなように、投影領域90を使用して、出隅角での反力(Fr
,(Fr)を計算する技術により、仮想境界55に対して自然な応答が得られる。例え
ば、図13では1つの多角形要素80Aに侵入し、図14では出隅角から2つの多角形要
素80A,80Bに侵入しているが、本技術は、反力(Fr)を徐々に増加させることが
できる。言い換えれば、投影領域90の増加を反力(Fr)の増加に換算し、投影領域9
0の減少を反力(Fr)の減少に換算する。これにより、本技術は、仮想境界55との衝
突時にツール20の突発的または不自然な動きを引き起こす反力(Fr)の不連続な急変
を回避する。つまり、図13の投影領域90Aは、図14の投影領域90A,90Bを足
し合わせたものとほぼ同じ面積であるため、仮想ボリューム74が同じ直線的な深さで実
質2重に侵入を行っても、滑らかな応答が与えられる。換言すれば、投影領域90A,9
0Bを使ってそれぞれの反力(Fr),(Fr)を計算することにより、ツール20
が出隅角に沿って動く間に予想外のキックバックを起こしてしまうことが抑制される。し
たがって、本明細書に記載の技術は、表面モデリングが有する、角に関する問題を解決す
るものである。また、本技術は、非平面状に配置された複数の多角形要素80に同時に仮
想ボリューム74が侵入する他の任意の例にも完全に適用することができる。そのような
例としては、入隅角、山部、谷部などが挙げられるが、これらに限定されない。
B.投影弧
図16および図17に示す他の例によれば、コントローラ30は、投影弧200に関係
付けられた侵入係数に基づいて反力(Fr)を計算するように構成される。投影弧200
は、仮想ボリューム74と多角形要素80が交わる時に多角形要素80のジオメトリによ
って境界を画定される仮想ボリューム74の断面領域100が有するすべての円弧202
の組み合わせで定義される。
なお、「投影(projected)」という用語は、仮想ボリューム74と多角形要素80と
の交わりによって定義される円弧202が多角形要素80の平坦面に対してマッピングさ
れることを意味する数学的表現である。
投影弧200は、多角形要素80によって境界を画定されている。より具体的には、投
影弧200は、多角形要素80の外周によって境界を画定されている。換言すれば、1つ
の多角形要素80に対して考慮される投影弧200の範囲は、その多角形要素80の外周
より内側に存在する投影弧200の範囲である。
仮想ボリューム74の定義は、仮想ボリューム74の侵入の直線的な深さ(すなわち、
仮想ボリューム74が、多角形要素80や仮想境界55より内部に突き出る距離)に対し
て、投影弧200が非線形に変化するように行われる。反力(Fr)は、侵入の直線的な
深さの変化に合わせて変化し得るものではあるが、反力(Fr)の計算は、侵入の直線的
な深さを使わずに、投影弧200に基づいて行われる。
この例では、反力(Fr)は投影弧200に関係付けられる。一例では、反力(Fr)
は投影弧200と直接相関する。これに加えてまたは代えて、反力(Fr)が投影弧20
0の面積に比例してもよい。
反力(Fr)は、多角形要素80の平面に垂直なベクトルとして印加することができる
。多角形要素80の平面に対するベクトルの位置は、多角形要素80にマッピングされる
投影弧200の位置によって変化し得る。反力(Fr)の大きさは、投影弧200の大き
さによって変化し得る。侵入時の仮想ボリューム74の姿勢と投影弧200の少なくとも
いずれかによっては、反力(Fr)ベクトルの多角形要素80の平面に対する角度が、垂
直以外の角度となる場合もある。以下では、投影弧200から反力(Fr)を計算する技
術について説明する。
比較のため、図16および図17では、上述の投影領域90の計算の説明のために使用
した図8および図9に示したものと同一の幾何学図形の例を使って、投影弧200の計算
を説明している。
図16に、三角形の多角形要素80との交わり面における仮想ボリューム74の断面領
域100を示す。断面領域100の円は、中心が三角形の多角形要素80の幾何学的中心
からずれており、交点94,96で多角形要素80の下辺と交わっている。その結果、断
面領域100は下辺によって一部が切り取られる。中心点(c)は、仮想ボリューム74
の断面領域100の中心であり、半径(r)は断面領域100の半径である。
この例では、投影弧200は、仮想ボリューム74と多角形要素80が交わる時に多角
形要素80のジオメトリによって境界を画定される仮想ボリューム74の断面領域100
が有するすべての円弧202の組み合わせで定義される。換言すれば、投影弧200の計
算は、多角形要素80の領域内にある断面領域100の外周となる円弧202を特定する
ことにより行われる。具体的には、図16の状況では、円と多角形要素80との交わりが
、三角形の多角形要素80の1個の辺にのみ係っている(頂点には係っていない)ため、
投影弧200の計算は、断面領域100を、部分円弧202aと部分円弧202bとに分
割することにより行われる。ここで、部分円弧202a,202bは、それぞれ扇形の中
心角θ,θで定義される。なお、この例では、断面領域100の中心点(c)が多角
形要素80の内部に位置している。よって扇形の中心角θ,θは、この中心点(c)
を中心に交点94,96の間にそれぞれ定義され、2つの角度を足すと360度に等しく
なる。図示の通り、扇形の中心角θに基づく部分円弧202aは、その全体が多角形要
素80の内部にあり、境界を多角形要素80によって画定されている。一方、扇形の中心
角θに基づく部分円弧202bは、その全体が多角形要素80の外部にあり、多角形要
素80の境界外にある。ここで、投影弧は、式「Arcproj=θ/360」で計算するこ
とができる。式中、角度θは、多角形要素80によって境界が画定される部分円弧20
2をもたらす扇形の中心角である。よって、図16の例では、多角形要素80によって境
界が画定される部分円弧202aがθによって決まるため、Arcproj=θ/360で
ある。なお上式の分子に、2つ以上の扇形の中心角を入力して、Arcproj=(θ+θ
+…)/360とすることで、これら複数の扇形の中心角の総和から投影弧200を導き
出すこともできる。また、上式の値に乗算やスケーリングなどの修正を加えて、投影弧2
00から得られる結果を標準化することもできる。また例えば、投影弧200は、部分円
弧202に対応する扇形の中心角の角度ではなく、部分円弧202の長さに基づくもので
あってもよい。
図17は、三角形の多角形要素80と仮想ボリューム74の円形断面100とに基づく
投影弧200の計算を示すさらに別の例である。図17の状況でも、円形断面100と多
角形要素80との交わりは、三角形の多角形要素80の1個の辺にのみ係っている(頂点
には係っていない)。ただし、この例では、円形断面100の中心点(c)は多角形要素
80の外部に位置している。投影弧200の計算は、上述と同様の方法で行われる。ただ
し、図16に比べて、扇形の中心角θが小さくなり、扇形の中心角θが大きくなって
いる。よって、図16に比べて、扇形の中心角θによって決まる部分円弧202aが短
くなり、扇形の中心角θによって決まる部分円弧202bが長くなっている。ここで、
投影弧200は、多角形要素80内に画定される部分円弧202aに基づく。したがって
、図16と図17を比較すると、図17に示す例は、仮想ボリューム74による侵入の衝
撃がより小さい場合に、投影弧200がより小さくなること、一般化すると、反力(Fr
)が小さくなることを示している。
繰り返すが、図16および図17に係る計算は、三角形の多角形要素80と仮想ボリュ
ーム74の円形断面100だけに特有のものではない。円形と多角形要素80との交わり
が三角形の多角形要素80の1個の辺にのみ係り、その頂点には係らないものであれば、
そのような交わりにも適用することができる。当然ながら、投影弧200、したがって投
影弧200を計算するための計算は、多角形要素80のジオメトリ、仮想ボリューム74
のジオメトリ、およびこれら両ジオメトリの相対的な位置関係に応じて異なり得る。また
、図示の例において、投影弧200の計算は、仮想ボリューム74の円形断面100と交
わる三角形の多角形要素80の辺の数(0~3本)や頂点の数(0~3個)に応じて異な
る。そして、仮想ボリューム74の断面領域100が円形ではなく、楕円形などである場
合には、より複雑な部分円弧202を計算することができる。投影弧200の幾何学的計
算については、本明細書に記載の計算方法以外にも、任意の幾何学的構成や状況に応じて
想到することができるであろう。
図16および図17に基づいて明らかなように、投影弧200は、侵入の直線的な深さ
に対して変化する。しかし、侵入する仮想体は立体形状を有しているため、多角形要素8
0、仮想境界55またはその両方に対して線形の衝撃力(F)を加えることはなく、よ
って、投影弧200は侵入の直線的な深さに対して線形には変化しない。むしろ、侵入す
る仮想体が加える衝撃力(F)は、仮想ボリューム74の立体形状の関数であるより高
次の力である。したがって、投影弧200は、このより高次の立体形状関数に従って侵入
の直線的な深さに対して変化する。換言すれば、投影弧200は、多角形要素202の平
面内にある部分円弧202をとらえることにより、仮想ボリューム74の変位体積(変位
ボリューム)すなわち侵入体積(侵入ボリューム)を記述するものである。ここでも、投
影弧200が可変的である理由の一つとして、図16および図17に示す例の仮想ボリュ
ーム74が1つの面のみを有しており(例えば、球形であり)、互いに隣接する断面積が
等しくないことが挙げられる。
したがって、仮想ボリューム74の侵入に応じて計算される反力(Fr)は、侵入の直
線的な深さに対して可変的な応答を示す。ただし、反力(Fr)は、侵入の直線的な深さ
の変化に合わせて変化し得るものではあるが、実際の反力(Fr)の計算は、これらの例
では投影弧200に基づいて行われる。反力(Fr)の計算が、単に、仮想ボリューム7
4が多角形要素80や仮想境界55より内部に突き出る直線的な深さのみを用いて行われ
ることはない。
図5~図7に関連して投影領域90について説明した例や他の可能例は、投影弧200
についても十分理解できると思われるため、ここではその説明を省略して簡略化する。な
お、当然ながら、当業者であれば、投影弧200に基づいて計算した反力(Fr)が、投
影領域90に基づいて計算した反力(Fr)とは異なる可能性があることを理解するであ
ろう。さらに、投影弧200を繰返し計算した結果を基に、反力(Fr)を繰返し加える
ことも十分想到されるであろう。
さらに、図10~図12では、仮想ボリューム74が複数の多角形要素(例えば、80
A~80F)に同時に侵入する場合に、その侵入に応じて複数の反力(例えば、Fr
Fr)を投影領域90を使って計算、生成する例を示したが、これらの例についても、
投影弧200を使用した本明細書に記載の技術にあてはめて理解することが十分可能であ
る。要点としては、各反力(Fr~Fr)は、各多角形要素80A~80Fによって
境界が画定された投影弧200に関係付けられる。投影弧200を使う場合でも、反力(
Fr)は、各多角形要素80に対して個別に加えてもよく、あるいは合成して合成反力(
FrTotal)として加えることもできる。
図13~図15において投影領域90に関して説明した、多角形要素80が異なる平面
上にある場合の技術についても、投影弧200を使った方法にも同様に適用することがで
きる。例えば、投影弧200を使用して出隅角での反力(Fr),(Fr)を計算し
ても同様に、仮想境界55に対して自然な応答が得られる。ここで、投影弧200の増加
は反力(Fr)の増加に換算され、投影弧200の減少は反力(Fr)の減少に換算され
る。これにより、投影弧200を使った技術も、仮想境界55との衝突時にツール20の
突発的または不自然な動きを引き起こす反力(Fr)の不連続な急変を回避する。よって
、ツール20が出隅角に沿って動く間に予想外のキックバックを起こしてしまうことが抑
制される。したがって、本明細書に記載の投影弧200を使った技術は、表面モデリング
が有する、角に関する問題を解決するものである。また、投影弧200を使った技術は、
非平面状に配置された複数の多角形要素80に同時に仮想ボリューム74が侵入する他の
任意の例にも完全に適用することができる。そのような例としては、入隅角、山部、谷部
などが挙げられるが、これらに限定されない。
C.変位ボリューム
図18に示すさらに他の例によれば、コントローラ30は、仮想ボリューム74のうち
多角形要素80に侵入する部分の体積で定義される変位ボリューム300に関係付けられ
た侵入係数に基づいて反力(Fr)を計算するように構成される。ここで、変位ボリュー
ム300は、多角形要素のジオメトリによって境界が画定される。変位ボリューム300
は、仮想ボリューム74と多角形要素80が交わる時に多角形要素80のジオメトリによ
って境界を画定される仮想ボリューム74のすべての立体的な部分の組み合わせで定義さ
れる。
変位ボリューム300は、多角形要素80によって境界を画定されている。より具体的
には、変位ボリューム300は、多角形要素80の外周によって境界を画定されている。
換言すれば、1つの多角形要素80に対して考慮される変位ボリューム300の範囲は、
その多角形要素80の外周より内側に存在する変位ボリューム300の範囲である。これ
は、変位ボリューム300がデカルト空間内において多角形要素80の平面の上方に存在
する場合、下方に存在する場合のいずれにもあてはまる。
仮想ボリューム74の定義は、仮想ボリューム74の侵入の直線的な深さ(すなわち、
仮想ボリューム74が、多角形要素80や仮想境界55より内部に突き出る距離)に対し
て、変位ボリューム300が非線形に変化するように行われる。反力(Fr)は、侵入の
直線的な深さの変化に合わせて変化し得るものではあるが、反力(Fr)の計算は、侵入
の直線的な深さを使わずに、変位ボリューム300に基づいて行われる。
この例では、反力(Fr)は変位ボリューム300に関係付けられる。一例では、反力
(Fr)は変位ボリューム300と直接相関する。これに加えてまたは代えて、反力(F
r)が変位ボリューム300の体積に比例してもよい。
反力(Fr)は、多角形要素80の平面に垂直なベクトルとして印加することができる
。多角形要素80の平面に対するベクトルの位置は、多角形要素80に対する変位ボリュ
ーム300の位置によって変化し得る。反力(Fr)の大きさは、変位ボリューム300
の体積によって変化し得る。侵入時の仮想ボリューム74の姿勢と変位ボリューム300
の少なくともいずれかによっては、反力(Fr)ベクトルの多角形要素80の平面に対す
る角度が、垂直以外の角度となる場合もある。以下では、変位ボリューム300から反力
(Fr)を計算する技術について説明する。
比較のため、球体状の仮想ボリューム74と三角形の多角形要素80を使って変位ボリ
ューム300を計算する例を示す。しかし、当然ながら、他の例も可能である。図18に
おいて、仮想ボリューム74が多角形要素80の平面に侵入し、当該平面の下に変位ボリ
ューム300が形成されている。ここで、変位ボリューム300は、多角形要素80の平
面によって切り取られた球状のキャップ形状(球状のドーム形状)を有している。この例
では、cが球体中心、hが変位ボリューム300の高さ、rは球体半径である。ここで、
多角形要素80の平面は、球体中心cより手前の部分を通る。なお、侵入がちょうど球体
中心cに達するものである場合には、変位ボリューム300の高さhは球体半径rに等し
くなり、変位ボリューム300は半球形状となる。
この例においては、仮想ボリューム74と変位ボリューム300のパラメータを利用し
て変位ボリューム300を計算する。そのようなパラメータとしては、仮想ボリューム7
4の半径r、変位ボリューム300の高さh、および変位ボリューム300の(交わり面
における)底面302の半径αが挙げられる。例えば、球体についての変位ボリューム3
00は、式「Vdisplaced=(πh/3)(3r-h)」で計算することができる。あ
るいは、回転積分を用いて平面下方の変位ボリューム300を求めるなどの計算技術を使
用して変位ボリューム300の体積を計算することもできる。当然ながら、仮想ボリュー
ム74が球体とは異なる形状の場合には、異なる方法で変位ボリューム300の体積が計
算される。
やはり、変位ボリューム300は多角形要素80によって境界が画定されているため、
仮想ボリューム74において、1つの多角形要素80に対する反力(Fr)を生成する場
合に、その多角形要素80の延在範囲を超えて延在する部分は、計算外とされる。一例で
は、変位ボリューム300の境界を多角形要素80で画定するため、隣接する多角形要素
80を、各多角形要素80の外周に対応する三角柱(ただし、多角形要素80が三角形の
場合)などの3Dの要素としてモデリングすることができる。この場合、仮想ボリューム
74が侵入により、多角形要素80の三角柱の壁面を横切って延在する状態になった場合
、ある多角形要素80に対する反力(Fr)は、仮想ボリューム74のうち、その多角形
要素80の三角柱内にある部分のみを計算に入れて生成される。一方、仮想ボリューム7
4のうち、この三角柱の壁面を横切ってこの三角柱の外に延びる部分は、これに隣接する
多角形要素80の反力(Fr)を生成するための計算に入れられる。
繰り返すが、図18に関する計算は、球形の仮想ボリューム74に特定的、かつ変位ボ
リューム300が三角形の多角形要素80を構成する辺の内部に完全に収まり、三角形の
多角形要素80の頂点とは交わらない場合に特定的なものである。当然ながら、変位ボリ
ューム300、したがって変位ボリューム300を計算するための計算は、多角形要素8
0のジオメトリ、仮想ボリューム74のジオメトリ、およびこれら両ジオメトリの相対的
な位置関係に応じて異なり得る。また、図示の例において、変位ボリューム300の計算
は、変位ボリューム300が関与する三角形の多角形要素80の辺の数(0~3本)や頂
点の数(0~3個)に応じて異なる。そして、仮想ボリューム74が球体ではなく、回転
楕円体、楕円体、環状体などである場合には、より複雑な変位ボリューム300を計算す
ることができる。変位ボリューム300の幾何学的計算については、本明細書に記載の計
算方法以外にも、任意の幾何学的構成や状況に応じて想到することができるであろう。
図18に基づいて明らかなように、変位ボリューム300も、侵入の直線的な深さに対
して変化する。図18に示す例では、変位ボリューム300の高さhが侵入の直線的な深
さに相当する。しかし、侵入する仮想体は立体形状を有しているため、多角形要素80、
仮想境界55またはその両方に対して線形の衝撃力(F)を加えることはなく、よって
、変位ボリューム300は侵入の直線的な深さに対して線形には変化しない。むしろ、侵
入する仮想体が加える衝撃力(F)は、仮想ボリューム74の立体形状の関数であるよ
り高次の力である。したがって、変位ボリューム300は、このより高次の立体形状関数
に従って侵入の直線的な深さに対して変化する。ここでも、変位ボリューム300が可変
的である理由の一つとして、図18に示す例の仮想ボリューム74が1つの面のみを有し
ており(例えば、球形であり)、互いに隣接する断面積が等しくないことが挙げられる。
したがって、仮想ボリューム74の侵入に応じて計算される反力(Fr)は、侵入の直
線的な深さに対して可変的な応答を示す。ただし、反力(Fr)は、侵入の直線的な深さ
の変化に合わせて変化し得るものではあるが、実際の反力(Fr)の計算は、この例では
変位ボリューム300に基づいて行われる。反力(Fr)の計算が、単に、仮想ボリュー
ム74が多角形要素80や仮想境界55より内部に突き出る直線的な深さであるhのみに
基づいて行われることはない。
図5~図7に関連して投影領域90について説明した例や他の可能例は、変位ボリュー
ム300についても十分理解できると思われるため、ここではその説明を省略して簡略化
する。なお、当然ながら、当業者であれば、変位ボリューム300に基づいて計算した反
力(Fr)が、投影領域90に基づいて計算した反力(Fr)とは異なる可能性があるこ
とを理解するであろう。さらに、変位ボリューム300を繰返し計算した結果を基に、反
力(Fr)を繰返し加えることも十分想到されるであろう。
さらに、図10~図12では、仮想ボリューム74が複数の多角形要素(例えば、80
A~80F)に同時に侵入する場合に、その侵入に応じて複数の反力(例えば、Fr
Fr)を投影領域90を使って計算、生成する例を示したが、これらの例についても、
変位ボリューム300を使用した本明細書に記載の技術にあてはめて理解することが十分
可能である。要点としては、各反力(Fr~Fr)は、各多角形要素80A~80F
によって境界が画定された変位ボリューム300に関係付けられる。変位ボリューム30
0を使う場合でも、反力(Fr)は、各多角形要素80に対して個別に加えてもよく、あ
るいは合成して合成反力(FrTotal)として加えることもできる。
図13~図15において投影領域90に関して説明した、多角形要素80が異なる平面
上にある場合の技術についても、変位ボリューム300を使った方法にも同様に適用する
ことができる。例えば、変位ボリューム300を使用して出隅角での反力(Fr),(
Fr)を計算しても同様に、仮想境界55に対して自然な応答が得られる。ここで、変
位ボリューム300の増加は反力(Fr)の増加に換算され、変位ボリューム300の減
少は反力(Fr)の減少に換算される。これにより、変位ボリューム300を使った技術
も、仮想境界55との衝突時にツール20の突発的または不自然な動きを引き起こす反力
(Fr)の不連続な急変を回避する。よって、ツール20が出隅角に沿って動く間に予想
外のキックバックを起こしてしまうことが抑制される。したがって、本明細書に記載の変
位ボリューム300を使った技術は、表面モデリングが有する、角に関する問題を解決す
るものである。また、変位ボリューム300を使った技術は、非平面状に配置された複数
の多角形要素80に同時に仮想ボリューム74が侵入する他の任意の例にも完全に適用す
ることができる。そのような例としては、入隅角、山部、谷部などが挙げられるが、これ
らに限定されない。
D.他の適用例
当業者であれば、上述の投影領域、投影弧、変位ボリュームの例がいずれも、多角形要
素80の(2Dまたは3Dの)ジオメトリに対して境界が画定される仮想ボリューム74
のジオメトリの関数である侵入係数に基づいて反力(Fr)を計算するものであることを
理解するであろう。ただし、本明細書に記載の技術以外にも、多角形要素80のジオメト
リに対して境界が画定される仮想ボリューム74のジオメトリの関数である侵入係数に基
づいて反力(Fr)を計算する技術が存在することが十分に考えられる。例えば、断面領
域100が部分円弧202などを有していない場合、投影弧の代わりに、投影領域の外周
を利用することができる。
また、本明細書に記載の種々の表面モデリング技術はいずれも、コントローラ30によ
って選択的にオン/オフ制御を行うことができる。例えば、出隅角を通り抜ける侵入に対
して投影領域90の技術を使用し、平坦面を通り抜ける侵入に対して投影弧200の技術
を使用するなどの設定を予め行っておくことができる。そして、このような表面モデリン
グ技術の選択は、例えばユーザ入力に基づいて行ってもよい。ユーザは、ディスプレイ3
8またはユーザ入力デバイス40で表面モデリングのモードを選択することができる。ま
た、他の例では、コントローラ30が、仮想ボリューム74と仮想境界55との間に発生
している状況を自動的に識別して、メモリに格納された所定の設定に基づいて表面モデリ
ングのモードを選択する。その場合、例えば、仮想ボリューム74が侵入する多角形要素
80の数、位置そしてそれがどの多角形要素80なのかに基づいて、コントローラ30は
その状況を自動的に特定することができる。
さらに、本明細書に記載の異なる表面モデリング技術を任意に組み合わせることも考え
られる。本明細書に記載の技術がいずれも、多角形要素80のジオメトリに対して境界が
画定される仮想ボリューム74のジオメトリの関数である侵入係数を利用した技術である
ため、そのような組み合わせが可能となる。したがって、投影領域90モード、投影弧2
00モード、変位ボリューム300モードの任意の組み合わせを同時に用いて、任意の多
角形要素80に対する反力(Fr)を導き出すことができる。
本明細書に記載の技術は、ロボット外科手術システム10の様々な実用的用途や実践的
状況に役立つことができる。例えば、ロボット外科手術システム10は、手動動作モード
で使用することができる。手動モード時には、オペレータがツール20を動かし、そのツ
ール20の動きをマニピュレータ14が制御する。オペレータは、ツール20に物理的に
接触してツール20を動かす。一方、コントローラ30は、力/トルクセンサ70を使用
して、ツール20に加えられる力、トルク、またはその両方の監視を行う。その場合、仮
想境界55は、避けるべき領域から治療対象の生体構造領域を区切ることができる。また
、これに代えてまたは加えて、仮想境界55は、ツール20を標的部位に向かって手動で
動かすようにオペレータを案内するガイドとなることもできる。さらに別の例では、仮想
境界55は、(例えば機器などの)避けるべきオブジェクトに対して定義される。これら
の例のいずれにおいても、力/トルクセンサ70が検出した力やトルクに応じた手動動作
の結果、仮想境界55への侵入が発生するであろう場合には、コントローラ30がマニピ
ュレータ14を制御してツール20を仮想境界55から遠ざける方向に動かす。これによ
り、オペレータに仮想境界55の位置を触覚で知らせて、手動モード時に仮想境界55を
避けることができるようにする。
別の用途として、自律動作モード時に、コントローラ30がマニピュレータ14に対し
て、ツール20を自律的に動かす指令を与えることができる。この場合、マニピュレータ
14は、オペレータの支援なしにツール20を動かすことができる。ここで、「オペレー
タの支援なしに」とは、ツール20を動かす力を加えるためのツール20への物理的接触
をオペレータが行わないことを意味し得る。そして、オペレータはそのような物理的接触
を行わない代わりに、何らかの形の制御を使って、ツール20の始動と停止を管理するこ
とができる。例えば、オペレータは、遠隔制御ボタンを押してツール20を始動させ、遠
隔制御ボタンを放してツール20の動きを停止させることができる。一例として、ツール
20がツール経路上に位置決めされた状態で維持される自律モード時に、オペレータがツ
ール20の向きの変更を望む場合を考える。ツール20の向きを変更すれば、それが位置
を維持した状態で行われたとしても、1以上の仮想境界55に関与する可能性がある。こ
れに対し、システム10およびその方法は、仮想シミュレーション72においてツール2
0の更新後の向きと仮想境界55とを考慮することにより、例えば、向きが変更されたツ
ール20の周辺やその動きの経路上の障害となるオブジェクトに対してツール20が望ま
しくない衝突を起こしてしまう事態に対処することができる。他の例では、自律モード時
に、自律的動作に対して不注意から変更を加えてしまうような事態に対する追加予防策と
して、仮想境界55を使うこともできる。当業者であれば、本明細書に記載の投影領域の
技術が様々な他の用途や状況に役立ち得ることを理解するであろう。
本明細書の詳細な説明から、本発明の多くの特徴および利点が明らかとなるであろう。
したがって、添付の特許請求の範囲は、本発明の真の要旨や範囲の内にあるそのような特
徴および利点のすべてを包含することを意図している。さらに、当業者であれば、多くの
変更や変形を容易に想到し得るであろう。よって、本発明を図示、説明した構造および動
作のみに限定することは望ましくなく、したがって、本発明の範囲を逸脱しない範囲であ
れば、すべての適切な変形および均等物が可能である。

Claims (20)

  1. ツールと、
    複数のリンクを備えて、前記ツールを動かすように構成されたマニピュレータと、
    前記マニピュレータに接続される一つまたは複数のコントローラであって、それぞれが平面を備える複数の多角形要素から成るメッシュで定義される仮想境界に対して相互作用するように適合された仮想ボリュームとして前記ツールを表現する仮想シミュレーションを実現するように構成された一つまたは複数のコントローラと、を備えるロボットシステムであって、
    前記一つまたは複数のコントローラは、
    前記仮想シミュレーションにおいて前記仮想ボリュームが前記多角形要素の1つに侵入する場合に、前記多角形要素の前記平面に侵入する前記仮想ボリュームの侵入する部分の体積の関数として、その侵入に応じた反力を計算し、
    前記仮想シミュレーションにおいて前記仮想ボリュームに前記反力を加えて、前記仮想ボリュームによる前記多角形要素への侵入を抑制し、
    前記仮想シミュレーションにおいて前記仮想ボリュームに加えられる前記反力に従って前記ツールを動かすことにより前記ツールの動きを前記仮想境界に対して制限する指令を、前記マニピュレータに与えるように構成される、ロボットシステム。
  2. 前記仮想ボリュームが侵入する前記多角形要素は、さらに、外周を備え、
    前記反力は、前記侵入する部分の前記体積の関数として計算され、前記侵入する部分の前記体積は、前記仮想ボリュームが侵入する前記多角要素の前記外周の3D投影の内側に存在する侵入する部分の体積である、請求項1に記載のロボットシステム。
  3. 前記反力は、前記侵入する部分の前記体積の関数として計算され、前記反力の大きさは、直接、前記侵入する部分の前記体積に関係付けられている、請求項1に記載のロボットシステム。
  4. 前記一つまたは複数のコントローラは、前記仮想シミュレーションにおいて前記仮想ボリュームが複数の多角形要素への同時侵入に応じた複数の反力をそれぞれ計算するようにさらに構成され、前記複数の反力のそれぞれの反力は、前記複数の多角形要素のそれぞれの多角形要素の前記平面に侵入する前記仮想ボリュームの前記侵入する部分の前記体積の関数として計算されるように構成される、請求項1に記載のロボットシステム。
  5. 前記一つまたは複数のコントローラは、前記仮想シミュレーションにおいて前記仮想ボリュームに前記複数の反力を同時に加え、
    前記仮想シミュレーションにおいて前記仮想ボリュームに加えられる前記複数の反力に従って前記マニピュレータの位置合わせを指令するようにさらに構成される、請求項4に記載のロボットシステム。
  6. 前記一つまたは複数のコントローラは、記複数の反力を合成して合成反力を生成し、
    前記仮想シミュレーションにおいて前記仮想ボリュームに前記合成反力を加え、
    前記仮想シミュレーションにおいて前記仮想ボリュームに加えられる前記合成反力に従って前記マニピュレータの位置合わせを指令するようにさらに構成される、請求項4に記載のロボットシステム。
  7. 前記一つまたは複数のコントローラは、前記合成反力を操作するために、前記一つまたは複数の反力に重み係数を掛けるようにさらに構成される、請求項6に記載のロボットシステム。
  8. 前記一つまたは複数のコントローラに接続されるナビゲーションシステムであって、前記ツールの状態を追跡するように、および、前記ツールが避けるべきオブジェクトの状態を追跡するように構成されたナビゲーションシステムをさらに備え、
    前記仮想境界は避けるべき前記オブジェクトに関連付けられ、
    前記仮想ボリュームは、追跡した前記ツールの状態および追跡した避けるべき前記オブジェクトの状態に基づいて、前記仮想シミュレーションにおける関連する前記仮想境界に位置付けられる、請求項1に記載のロボットシステム。
  9. 前記一つまたは複数のコントローラに接続されるナビゲーションシステムであって、前記ツールの状態を追跡するように、および、前記ツールが相互作用する標的部位の状態を追跡するように構成されたナビゲーションシステムをさらに備え、
    前記仮想境界は前記標的部位に関連付けられ、
    前記仮想ボリュームは、追跡した前記ツールの状態および追跡した前記標的部位の状態に基づいて、前記仮想シミュレーションにおける関連する前記仮想境界に位置付けられる、請求項1に記載のロボットシステム。
  10. 前記仮想ボリュームは球形であり、前記多角形要素は三角形である、請求項1に記載のロボットシステム。
  11. ロボットシステムを制御する方法であって、
    前記ロボットシステムは、
    ツールと、
    複数のリンクを備えて、前記ツールを動かすように構成されたマニピュレータと、
    前記マニピュレータに接続される一つまたは複数のコントローラであって、それぞれが平面を備える複数の多角形要素から成るメッシュで定義される仮想境界に対して相互作用するように適合された仮想ボリュームとして前記ツールを表現する仮想シミュレーションを実現するように構成された一つまたは複数のコントローラと、を備え、
    前記方法は、
    前記仮想シミュレーションにおいて前記仮想ボリュームが前記多角形要素の1つに侵入する場合に、前記多角形要素の前記平面に侵入する前記仮想ボリュームの侵入する部分の体積の関数として、その侵入に応じた反力を計算することと、
    前記仮想ボリュームによる前記多角形要素への侵入を抑制するために、前記仮想シミュレーションにおいて前記仮想ボリュームに前記反力を加えることと、
    前記仮想シミュレーションにおいて前記仮想ボリュームに加えられる前記反力に従って前記ツールを動かすことにより前記ツールの動きを前記仮想境界に対して制限する指令を、前記マニピュレータに与えることと、を含む方法。
  12. 前記仮想ボリュームが侵入する前記多角形要素は、さらに、外周を備え、
    前記侵入する部分の前記体積の関数として前記反力を計算することと、をさらに含み、前記侵入する部分の前記体積は、前記仮想ボリュームが侵入する前記多角要素の前記外周の3D投影の内側に存在する侵入する部分の体積である、請求項11に記載の方法。
  13. 前記侵入する部分の前記体積の関数として前記反力を計算することと、をさらに含み、前記反力の大きさは、前記侵入する部分の前記体積に比例する、請求項11に記載の方法。
  14. 前記仮想シミュレーションにおいて前記仮想ボリュームが複数の多角形要素への同時侵入に応じた複数の反力をそれぞれ計算することと、
    前記複数の反力のそれぞれの反力を、前記複数の多角形要素のそれぞれの多角形要素の前記平面に侵入する前記仮想ボリュームの前記侵入する部分の前記体積の関数として計算することと、をさらに含む、請求項11に記載の方法。
  15. 前記仮想シミュレーションにおいて前記仮想ボリュームに前記複数の反力を同時に加えることと、
    前記仮想シミュレーションにおいて前記仮想ボリュームに加えられる前記複数の反力に従って前記マニピュレータの位置合わせを指令することと、をさらに含む、請求項14に記載の方法。
  16. 前記複数の反力を合成して合成反力を生成することと、
    前記仮想シミュレーションにおいて前記仮想ボリュームに前記合成反力を加えることと、
    前記仮想シミュレーションにおいて前記仮想ボリュームに加えられる前記合成反力に従って前記マニピュレータの位置合わせを指令することと、をさらに含む、請求項14に記載の方法。
  17. 前記合成反力を操作するために、前記一つまたは複数の反力に重み係数を掛けることと、をさらに含む、請求項16に記載の方法。
  18. コンピュータに実装され、それぞれが平面を備える複数の多角形要素から成るメッシュで定義される仮想境界に対して相互作用するように適合された仮想ボリュームとしてツールを表現する仮想シミュレーションを実行する方法であって、
    前記仮想シミュレーションにおいて前記仮想ボリュームが前記多角形要素の1つに侵入する場合に、前記多角形要素の前記平面に侵入する前記仮想ボリュームの侵入する部分の体積の関数として、その侵入に応じた反力を計算することと、
    前記仮想ボリュームによる前記多角形要素への侵入を抑制するために、前記仮想シミュレーションにおいて前記仮想ボリュームに前記反力を加えることと、を含む方法。
  19. 前記仮想ボリュームが侵入する前記多角形要素は、さらに、外周を備え、
    前記侵入する部分の前記体積の関数として前記反力を計算することと、をさらに含み、前記侵入する部分の前記体積は、前記仮想ボリュームが侵入する前記多角要素の前記外周の3D投影の内側に存在する侵入する部分の体積である、請求項18に記載の方法。
  20. 前記侵入する部分の前記体積の関数として前記反力を計算することと、をさらに含み、前記反力の大きさは、前記侵入する部分の前記体積に比例する、請求項18に記載の方法。
JP2023093816A 2017-06-09 2023-06-07 仮想境界を実現するための反力を生成するロボットシステムおよび方法 Active JP7413586B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762517453P 2017-06-09 2017-06-09
US62/517,453 2017-06-09
JP2019567630A JP7293137B2 (ja) 2017-06-09 2018-06-05 仮想境界を実現するための反力を生成するロボットシステムおよび方法
PCT/US2018/036029 WO2018226673A1 (en) 2017-06-09 2018-06-05 Robotic system and method for producing reactive forces to implement virtual boundaries

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019567630A Division JP7293137B2 (ja) 2017-06-09 2018-06-05 仮想境界を実現するための反力を生成するロボットシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2023126764A JP2023126764A (ja) 2023-09-12
JP7413586B2 true JP7413586B2 (ja) 2024-01-15

Family

ID=62685249

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019567630A Active JP7293137B2 (ja) 2017-06-09 2018-06-05 仮想境界を実現するための反力を生成するロボットシステムおよび方法
JP2023093816A Active JP7413586B2 (ja) 2017-06-09 2023-06-07 仮想境界を実現するための反力を生成するロボットシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019567630A Active JP7293137B2 (ja) 2017-06-09 2018-06-05 仮想境界を実現するための反力を生成するロボットシステムおよび方法

Country Status (7)

Country Link
US (2) US11253329B2 (ja)
EP (1) EP3634696A1 (ja)
JP (2) JP7293137B2 (ja)
KR (1) KR102520006B1 (ja)
CN (2) CN110997247B (ja)
AU (1) AU2018282197A1 (ja)
WO (1) WO2018226673A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3067299A1 (en) 2011-09-02 2013-03-07 Stryker Corporation Surgical instrument including a cutting accessory extending from a housing and actuators that establish the position of the cutting accessory relative to the housing
JP7293137B2 (ja) 2017-06-09 2023-06-19 マコ サージカル コーポレーション 仮想境界を実現するための反力を生成するロボットシステムおよび方法
US11027432B2 (en) 2017-09-06 2021-06-08 Stryker Corporation Techniques for controlling position of an end effector of a robotic device relative to a virtual constraint
US11547482B2 (en) 2018-12-13 2023-01-10 Mako Surgical Corp. Techniques for patient-specific morphing of virtual boundaries
CN109620366A (zh) * 2019-01-15 2019-04-16 上海精劢医疗科技有限公司 一种自动导航穿刺系统及控制方法
CN109620365A (zh) * 2019-01-15 2019-04-16 上海精劢医疗科技有限公司 一种导航穿刺系统及控制方法
EP3886751A1 (en) 2019-01-23 2021-10-06 Sony Group Corporation Medical arm system, control device, control method, and program
EP3705074A1 (en) * 2019-03-08 2020-09-09 MAKO Surgical Corp. Systems and methods for controlling movement of a surgical tool along a predefined path
JP7331462B2 (ja) * 2019-05-24 2023-08-23 京セラドキュメントソリューションズ株式会社 ロボットシステム、ロボット制御方法及び電子装置
US11786259B1 (en) * 2019-05-28 2023-10-17 Mirus Llc Systems and methods for ultrasonically-assisted placement of orthopedic implants
EP3975906A1 (en) * 2019-05-31 2022-04-06 Intuitive Surgical Operations, Inc. Systems and methods for bifurcated navigation control of a manipulator cart included within a computer-assisted medical system
US11071601B2 (en) * 2019-11-11 2021-07-27 Procept Biorobotics Corporation Surgical probes for tissue resection with robotic arms
CN110974434A (zh) * 2019-12-12 2020-04-10 北京航天控制仪器研究所 一种骨科手术用定位装置
JP2021133470A (ja) * 2020-02-28 2021-09-13 セイコーエプソン株式会社 ロボットの制御方法およびロボットシステム
KR20220158737A (ko) 2020-03-27 2022-12-01 마코 서지컬 코포레이션 가상 경계에 기초하여 툴의 로봇 움직임을 제어하기 위한 시스템 및 방법
US11096753B1 (en) 2020-06-26 2021-08-24 Procept Biorobotics Corporation Systems and methods for defining and modifying range of motion of probe used in patient treatment
US11877818B2 (en) 2020-06-26 2024-01-23 Procept Biorobotics Corporation Integration of robotic arms with surgical probes
CN111920522B (zh) * 2020-10-15 2021-01-08 京东方科技集团股份有限公司 手术监控方法及装置
US11771344B2 (en) 2020-10-27 2023-10-03 Medtronic Navigation, Inc. Sensor measurement for motor control
CN112370163B (zh) * 2020-11-11 2022-05-31 上海交通大学医学院附属第九人民医院 用于下颌骨重建的腓骨移植手术机器人
KR20220084574A (ko) 2020-12-14 2022-06-21 엘지전자 주식회사 모터 제어 장치 및 모터 제어 방법
AU2021413098A1 (en) 2020-12-31 2023-07-20 Mako Surgical Corp. Robotic systems and methods for mitigating undesired orientational motion of kinematic components
WO2023121966A1 (en) 2021-12-20 2023-06-29 Mako Surgical Corp. Robotic systems, methods and software programs for modifying tool operation based on tissue parameters

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524149A (ja) 2006-01-17 2009-06-25 マコ サージカル コーポレーション ハプティックレンダリングのための装置および方法
US20120176306A1 (en) 2010-12-29 2012-07-12 Mako Surgical Corp. System and method for providing substantially stable haptics
US20130053648A1 (en) 2011-08-24 2013-02-28 Mako Surgical Corporation Surgical Tool for Selectively Illuminating a Surgical Volume
WO2016187290A1 (en) 2015-05-19 2016-11-24 Mako Surgical Corp. System and method for manipulating an anatomy

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5769640A (en) * 1992-12-02 1998-06-23 Cybernet Systems Corporation Method and system for simulating medical procedures including virtual reality and control method and system for use therein
JP2621803B2 (ja) * 1994-07-14 1997-06-18 日本電気株式会社 マスタスレーブ型ロボットアーム装置およびアーム位置決め誘導方法
US6084587A (en) * 1996-08-02 2000-07-04 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with a haptic virtual reality environment
US5694013A (en) * 1996-09-06 1997-12-02 Ford Global Technologies, Inc. Force feedback haptic interface for a three-dimensional CAD surface
US6191796B1 (en) 1998-01-21 2001-02-20 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with rigid and deformable surfaces in a haptic virtual reality environment
US6810281B2 (en) * 2000-12-21 2004-10-26 Endovia Medical, Inc. Medical mapping system
US6211848B1 (en) * 1998-05-15 2001-04-03 Massachusetts Institute Of Technology Dynamic holographic video with haptic interaction
US6421048B1 (en) * 1998-07-17 2002-07-16 Sensable Technologies, Inc. Systems and methods for interacting with virtual objects in a haptic virtual reality environment
US6088020A (en) * 1998-08-12 2000-07-11 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Haptic device
WO2000060571A1 (en) * 1999-04-02 2000-10-12 Massachusetts Institute Of Technology Haptic interface system for collision detection and applications therefore
WO2002060653A2 (en) * 2001-01-29 2002-08-08 The Acrobot Company Limited Active-constraint robots
US7198630B2 (en) * 2002-12-17 2007-04-03 Kenneth I. Lipow Method and apparatus for controlling a surgical robot to mimic, harmonize and enhance the natural neurophysiological behavior of a surgeon
AU2003218010A1 (en) * 2002-03-06 2003-09-22 Z-Kat, Inc. System and method for using a haptic device in combination with a computer-assisted surgery system
US20050116673A1 (en) * 2003-04-18 2005-06-02 Rensselaer Polytechnic Institute Methods and systems for controlling the operation of a tool
DE102007021348A1 (de) * 2007-05-06 2008-11-20 Universitätsklinikum Hamburg-Eppendorf (UKE) Verfahren zur Simulation der Haptik einer Interaktion eines geführten Gegenstandes mit einem virtuellen dreidimensionalen Objekt
US8131698B2 (en) 2008-05-28 2012-03-06 International Business Machines Corporation Method for coordinating updates to database and in-memory cache
US8390438B2 (en) * 2008-09-24 2013-03-05 St. Jude Medical, Atrial Fibrillation Division, Inc. Robotic catheter system including haptic feedback
US9492927B2 (en) 2009-08-15 2016-11-15 Intuitive Surgical Operations, Inc. Application of force feedback on an input device to urge its operator to command an articulated instrument to a preferred pose
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
CA2879414A1 (en) * 2012-08-03 2014-02-06 Stryker Corporation Systems and methods for robotic surgery
US9008757B2 (en) 2012-09-26 2015-04-14 Stryker Corporation Navigation system including optical and non-optical sensors
US10398449B2 (en) * 2012-12-21 2019-09-03 Mako Surgical Corp. Systems and methods for haptic control of a surgical tool
AU2014248758B2 (en) 2013-03-13 2018-04-12 Stryker Corporation System for establishing virtual constraint boundaries
JP6572202B2 (ja) 2013-03-15 2019-09-04 ストライカー・コーポレイション 外科用ロボットマニピュレータのエンドエフェクタ
JP6594883B2 (ja) * 2013-12-31 2019-10-23 マコ サージカル コーポレーション カスタマイズされた触覚境界線を生成するためのシステムおよび方法
NL2013369B1 (en) * 2014-08-26 2016-09-26 Univ Eindhoven Tech Surgical robotic system and control of surgical robotic system.
WO2018112025A1 (en) 2016-12-16 2018-06-21 Mako Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site
JP7293137B2 (ja) 2017-06-09 2023-06-19 マコ サージカル コーポレーション 仮想境界を実現するための反力を生成するロボットシステムおよび方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524149A (ja) 2006-01-17 2009-06-25 マコ サージカル コーポレーション ハプティックレンダリングのための装置および方法
US20120176306A1 (en) 2010-12-29 2012-07-12 Mako Surgical Corp. System and method for providing substantially stable haptics
US20130053648A1 (en) 2011-08-24 2013-02-28 Mako Surgical Corporation Surgical Tool for Selectively Illuminating a Surgical Volume
WO2016187290A1 (en) 2015-05-19 2016-11-24 Mako Surgical Corp. System and method for manipulating an anatomy

Also Published As

Publication number Publication date
US20220160449A1 (en) 2022-05-26
US11648074B2 (en) 2023-05-16
CN110997247B (zh) 2023-05-09
EP3634696A1 (en) 2020-04-15
US11253329B2 (en) 2022-02-22
KR102520006B1 (ko) 2023-04-11
JP2023126764A (ja) 2023-09-12
WO2018226673A1 (en) 2018-12-13
CN116370090A (zh) 2023-07-04
KR20200017418A (ko) 2020-02-18
JP7293137B2 (ja) 2023-06-19
AU2018282197A1 (en) 2019-12-19
CN110997247A (zh) 2020-04-10
KR20230048466A (ko) 2023-04-11
JP2020523206A (ja) 2020-08-06
US20180353253A1 (en) 2018-12-13
CN116370090B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
JP7413586B2 (ja) 仮想境界を実現するための反力を生成するロボットシステムおよび方法
US11648679B2 (en) Techniques for controlling position of an end effector of a robotic device relative to a virtual constraint
EP3705074A1 (en) Systems and methods for controlling movement of a surgical tool along a predefined path
US20220233251A1 (en) Systems and methods for guiding movement of a tool
EP3119326B1 (en) Command shaping to dampen vibrations in mode transitions
JP2022034001A (ja) 外科手術中の追跡中断を低減するシステムを操作する方法
KR20230065388A (ko) 로봇 수술을 위한 시스템 및 방법
US11944396B2 (en) Systems and methods for controlling robotic movement of a tool based on a virtual boundary
Li Intelligent robotic surgical assistance for sinus surgery
CN115916093A (zh) 用于引导手持医疗机器人器械的移动的系统和方法
KR102662887B1 (ko) 가상 경계를 구현하기 위한 반응력을 생성하기 위한 로봇 시스템 및 방법
US20240081934A1 (en) Robotic surgical systems and methods for guiding a tool along a path using hybrid automated/manual control
US20230330851A1 (en) Robotic Systems And Methods For Mitigating Undesired Orientational Motion Of Kinematic Components
Du et al. A novel flexible virtual fixtures for teleoperation
Nia Kosari Haptic Virtual Fixtures for Robotic Surgery
Sauer¹ et al. 1 Chair of Control and Systems Engineering, Poznań University of Technology ul. Piotrowo 3a, 60-965 Poznań, Poland 2

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230707

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230707

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231020

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231227

R150 Certificate of patent or registration of utility model

Ref document number: 7413586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150