JP2011212223A - 切削シミュレーション処理における位置決定装置またはその方法 - Google Patents
切削シミュレーション処理における位置決定装置またはその方法 Download PDFInfo
- Publication number
- JP2011212223A JP2011212223A JP2010083236A JP2010083236A JP2011212223A JP 2011212223 A JP2011212223 A JP 2011212223A JP 2010083236 A JP2010083236 A JP 2010083236A JP 2010083236 A JP2010083236 A JP 2010083236A JP 2011212223 A JP2011212223 A JP 2011212223A
- Authority
- JP
- Japan
- Prior art keywords
- cutting
- virtual
- data
- cutting tool
- amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Numerical Control (AREA)
- Dental Tools And Instruments Or Auxiliary Dental Instruments (AREA)
Abstract
【課題】 切削量ゼロで被切削物表面を移動させる場合に、ネバリ感を排除する。
【解決手段】 切削量演算手段8は前記仮想回転切削工具切削能力データおよびユーザから与えられる前記仮想回転切削工具の単位時間当たりの回転数に基づいて、前記仮想回転切削工具による単位時間あたりの切削量である単位時間切削量を演算する。位置決定手段10は、被切削対象物に対して、前記仮想回転切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を二分探索法にて探索し、前記仮想回転切削工具の位置を決定する。その際、前記仮想回転切削工具の進行方向とは逆側の境界点を所定距離だけ、法線方向に戻して二分探索における中点を演算する。
【選択図】 図1
【解決手段】 切削量演算手段8は前記仮想回転切削工具切削能力データおよびユーザから与えられる前記仮想回転切削工具の単位時間当たりの回転数に基づいて、前記仮想回転切削工具による単位時間あたりの切削量である単位時間切削量を演算する。位置決定手段10は、被切削対象物に対して、前記仮想回転切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を二分探索法にて探索し、前記仮想回転切削工具の位置を決定する。その際、前記仮想回転切削工具の進行方向とは逆側の境界点を所定距離だけ、法線方向に戻して二分探索における中点を演算する。
【選択図】 図1
Description
この発明は、切削シミュレーション処理における位置決定装置に関し、特に接触判断に関する。
被切削物の切削シミュレーションにおいて、ペナルティ法が知られている。ペナルティ法は接触する物体同士の侵入を許容し、侵入量に応じた力を接触力として物体に課すことで接触を数値的に模擬する方法である。
特許文献1には、物体同士の接触判定の際、格子同士の幾何学計算により接触判定を行うため、処理が煩雑になり、計算コストも増加するというペナルティ法を採用した場合の問題点が指摘されている。
すなわち、従来は、ペナルティ法を採用しつつ、物体の接触判断を簡易に行える方法が待望されているにも拘わらず、解決手法が知られていなかった。
この発明は、上記問題を解決し、簡易に接触判断を行うことができるシミュレーション装置またはその方法を提供することを目的とする。
(1)本発明にかかる歯科シミュレーション装置は、A)仮想回転切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間回転数当たりの切削能力データを記憶する仮想回転切削工具データ記憶手段、B)ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数を記憶する被切削係数記憶手段、C)仮想三次元座標空間における被切削対象物の被切削対象物配置位置データを記憶する配置データ記憶手段、D)実三次元空間における力覚デバイスによって特定される仮想回転切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想回転切削工具の位置データに変換する変換手段、E)前記変換された仮想回転切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定する決定手段、F)前記仮想回転切削工具切削能力データおよびユーザから与えられる前記仮想回転切削工具の単位時間当たりの回転数に基づいて、前記仮想回転切削工具による単位時間あたりの切削量である単位時間切削量を演算する切削量演算手段、G)前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想回転切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を二分探索法にて探索し、前記仮想回転切削工具の位置を決定する位置決定手段、H)前記決定した位置に応じて、前記力覚デバイスに抗力を与える抗力付与手段を備え、I)前記位置決定手段は、前記二分探索における中点演算処理にて、前記仮想回転切削工具の進行方向とは逆側の境界点を、前記被切削対象物の表面から離れる方向に所定距離だけ戻して中点を演算する。
このように、前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想回転切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を二分探索法にて探索し、前記仮想回転切削工具の位置を決定する。したがって、前記演算された単位時間切削量に合致する位置を決定することができる。また、前記二分探索における中点演算処理にて、前記仮想回転切削工具の進行方向とは逆側の境界点を、前記被切削対象物の表面から離れる方向に所定距離だけ戻して中点を演算する。したがって、前記仮想回転切削工具を被切削物表面に沿って移動させる場合のネバリ感を排除することができる。
(2)本発明にかかる切削シミュレーション処理における位置決定装置は、A)仮想切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間当たりの切削能力データを記憶する仮想切削工具データ記憶手段、B)ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数を記憶する被切削係数記憶手段、C)仮想三次元座標空間における被切削対象物の被切削対象物配置位置データを記憶する配置データ記憶手段、D)実三次元空間における力覚デバイスによって特定される仮想切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想切削工具の位置データに変換する変換手段、E)前記変換された仮想切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定する決定手段、F)前記切削能力データおよびユーザから与えられる前記仮想切削工具の単位時間当たりの切削量決定データに基づいて、前記仮想切削工具による単位時間あたりの切削量である単位時間切削量を演算する切削量演算手段、G)前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を演算し、この衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記仮想切削工具の位置として決定する位置決定手段、を備えている。
このように、前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記仮想切削工具の位置を決定することにより、前記演算された単位時間切削量に合致する位置を決定することができる。したがって、簡易に接触判断が可能となる。
(3)本発明にかかる切削シミュレーション処理における位置決定装置においては、前記位置決定手段は、前記換算衝突量が前記単位時間切削量と合致する位置を探索する際、前記仮想切削工具の進行方向とは逆側の境界点を、前記被切削対象物から離れる方向に所定距離だけ戻した位置との間で、探索を行う。したがって、前記仮想切削工具を被切削物表面に沿って移動させる場合のネバリ感を排除することができる。
(4)本発明にかかる切削シミュレーション処理における位置決定装置においては、前記位置決定手段は、前記仮想切削工具の進行方向とは逆側の境界点を、前記被切削対象物の表面における法線方向に所定距離だけ戻して、前記探索する。したがって、前記仮想切削工具を被切削物表面に沿って移動させる場合のネバリ感を排除することができる。また、前記被切削物表面が凹凸がある場合に現実と同じような引っかかりをシミュレートすることもできる。
(5)本発明にかかる切削シミュレーション処理における位置決定装置においては、前記位置決定手段は、前記二分探索における初期探索範囲として、前回の仮想切削工具の位置から所定距離先間で、前記単位時間切削量を越える衝突があるか否か判断し、かかる衝突がない場合には、力覚デバイスによって特定される仮想切削工具の位置を前記切削工具の進行方向側の二分探索境界点とし、かかる衝突がある場合には、前回の仮想切削工具の位置から所定距離進んだ位置を前記切削工具の進行方向側の二分探索境界点とする。したがって、前回の仮想切削工具の位置から所定距離進んだ位置では、被切削対象物が存在しないような場合でも、二分探索が可能となる。
(6)本発明にかかる切削シミュレーション処理における位置決定方法は、A)コンピュータに、下記データA1)〜A3)を記憶させておき、A1)仮想切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間当たりの切削能力データ、
A2)ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数データ、
A3)仮想三次元座標空間における被切削対象物の被切削対象物配置位置データ、
B)前記コンピュータは、下記ステップを実行する。
A2)ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数データ、
A3)仮想三次元座標空間における被切削対象物の被切削対象物配置位置データ、
B)前記コンピュータは、下記ステップを実行する。
実三次元空間における力覚デバイスによって特定される仮想切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想切削工具の位置データに変換するステップ、
前記変換された仮想切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定するステップ、
前記切削能力データおよびユーザから与えられる前記仮想切削工具の単位時間当たりの切削量決定データに基づいて、前記仮想切削工具による単位時間あたりの切削量である単位時間切削量を演算するステップ、
前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を演算し、この衝突数を前記被切削係数データで換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記切削工具の位置を決定するステップ。このように、前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記仮想切削工具の位置を決定することにより、前記演算された単位時間切削量に合致する位置を決定することができる。
前記変換された仮想切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定するステップ、
前記切削能力データおよびユーザから与えられる前記仮想切削工具の単位時間当たりの切削量決定データに基づいて、前記仮想切削工具による単位時間あたりの切削量である単位時間切削量を演算するステップ、
前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を演算し、この衝突数を前記被切削係数データで換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記切削工具の位置を決定するステップ。このように、前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記仮想切削工具の位置を決定することにより、前記演算された単位時間切削量に合致する位置を決定することができる。
(7)本発明にかかる切削シミュレーション処理における位置決定プログラムは、コンピュータを下記手段として機能させるためのプログラムである。A)仮想切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間当たりの切削能力データを記憶する仮想切削工具データ記憶手段、B)ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数を記憶する被切削係数記憶手段、C)仮想三次元座標空間における被切削対象物の被切削対象物配置位置データを記憶する配置データ記憶手段、D)実三次元空間における力覚デバイスによって特定される仮想切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想切削工具の位置データに変換する変換手段、E)前記変換された仮想切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定する決定手段、F)前記切削能力データおよびユーザから与えられる前記仮想切削工具の単位時間当たりの切削量決定データに基づいて、前記仮想切削工具による単位時間あたりの切削量である単位時間切削量を演算する切削量演算手段、G)前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を演算し、この衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記切削工具の位置を決定する位置決定手段。
このように、前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記仮想切削工具の位置を決定することにより、前記演算された単位時間切削量に合致する位置を決定することができる。
以下、本発明における実施形態について、図面を参照して説明する。
(1.機能ブロック図について)
歯科シミュレーション装置1は、仮想回転切削工具データ記憶手段3、被切削係数記憶手段4、配置データ記憶手段5、変換手段6,決定手段7、切削量演算手段8、位置決定手段10、抗力付与手段12、力覚デバイス14を備えている。
歯科シミュレーション装置1は、仮想回転切削工具データ記憶手段3、被切削係数記憶手段4、配置データ記憶手段5、変換手段6,決定手段7、切削量演算手段8、位置決定手段10、抗力付与手段12、力覚デバイス14を備えている。
仮想回転切削工具データ記憶手段3は仮想回転切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間回転数当たりの切削能力データを記憶する。被切削係数記憶手段4は、ボクセルデータの集合で定義された各切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数を記憶する。配置データ記憶手段5は、仮想三次元座標空間における被切削対象物の被切削対象物配置位置データを記憶する。
変換手段6は、力覚デバイス14から仮想回転切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想回転切削工具の位置データに変換する。決定手段7は前記変換された仮想回転切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定する。切削量演算手段8は前記仮想回転切削工具切削能力データおよびユーザから与えられる前記仮想回転切削工具の単位時間当たりの回転数に基づいて、前記仮想回転切削工具による単位時間あたりの切削量である単位時間切削量を演算する。位置決定手段10は前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想回転切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を二分探索法にて探索し、前記仮想回転切削工具の位置を決定する。また、前記二分探索における中点演算処理にて、前記仮想回転切削工具の進行方向とは逆側の境界点を所定距離だけ、法線方向に戻して中点を演算する。抗力付与手段12は前記位置に応じて、前記力覚デバイスに抗力を与える。
位置決定手段10は、前記仮想回転切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を二分探索法にて探索し、前記仮想回転切削工具の位置を決定する。したがって、前記演算された単位時間切削量に合致する位置を決定することができる。また、前記二分探索における中点演算処理にて、前記仮想回転切削工具の進行方向とは逆側の境界点を所定距離だけ、法線方向に戻して中点を演算する。したがって、切削量ゼロで被切削物表面を移動させる場合に、ネバリ感を排除することができる。
(2.ハードウェア構成)
図1に示す歯科シミュレーション装置1のハードウェア構成について、図2を用いて説明する。同図は、歯科シミュレーション装置1を、CPUを用いて構成したハードウェア構成の一例である。
図1に示す歯科シミュレーション装置1のハードウェア構成について、図2を用いて説明する。同図は、歯科シミュレーション装置1を、CPUを用いて構成したハードウェア構成の一例である。
歯科シミュレーション装置1は、CPU23、メモリ27、ハードディスク26、モニタ30、光学式ドライブ25、入力デバイス28(マウス28a,キーボード28b)、フットペダル32,力覚デバイス33およびバスライン29を備えている。CPU23は、ハードディスク26に記憶された各プログラムにしたがいバスライン29を介して、各部を制御する。
ハードディスク26には、オペレーティングシステムプログラム26o(以下OSと略す)、シミュレーションプログラム26p、フットペダル用プログラム26f、力覚デバイス用プログラム26r、切削量決定データ記憶部26kが記憶される。本実施形態においては、オペレーティングシステムプログラム(OS)26oとして、WindowsXP(登録商標または商標)を採用したが、これに限定されるものではない。
なお、上記各プログラムは、光学式ドライブ25を介して、プログラムが記憶されたCD−ROM25aから読み出されてハードディスク26にインストールされたものである。なお、CD−ROM以外に、フレキシブルディスク(FD)、ICカード等のプログラムをコンピュータ可読の記録媒体から、ハードディスクにインストールさせるようにしてもよい。さらに、通信回線を用いてダウンロードするようにしてもよい。
本実施形態においては、プログラムをCD−ROMからハードディスク26にインストールさせることにより、CD−ROMに記憶させたプログラムを間接的にコンピュータに実行させるようにしている。しかし、これに限定されることなく、CD−ROMに記憶させたプログラムを光学式ドライブ25から直接的に実行するようにしてもよい。なお、コンピュータによって、実行可能なプログラムとしては、そのままインストールするだけで直接実行可能なものはもちろん、一旦他の形態等に変換が必要なもの(例えば、データ圧縮されているものを、解凍する等)、さらには、他のモジュール部分と組合して実行可能なものも含む。
力覚デバイス33について説明する。本実施形態においては、力覚デバイス(接触フィードバックデバイス)として、日本バイナリー株式会社が販売している「PHANToM Omni」を採用した。この力覚デバイスは図3に示すように、矢印41,43,45、51,53,55方向に回転自在に構成されており、操作者は把持部57を持って任意の位置に移動させることができる。
矢印41,43,45、51,53,55方向に回転する回転軸には角度センサーが設けられている(図示せず)。これらの角度センサーからデータを受けて、力覚デバイス用プログラム26rは、X、Y、Zの三次元座標に加えて、ヨーデータ、ピッチデータ、ロールデータを取得する。すなわち、位置についての3自由度、姿勢についての3自由度が得られる。また、力覚デバイス用プログラム26rは、矢印41,43,45方向に、内蔵されているモータにより、力覚デバイス33の操作者に対して反力を与える。反力は3つのモータにより操作者に与えられるので、力の3自由度である。
図2に示すフットペダル32から踏み込み量が与えられると、フットペダル用プログラム26fは、これを切削回転工具の角速度に変換する。
切削量決定データ記憶部26kには、1)仮想回転切削工具である各種の歯科切削具についての形状データ、2)基準被切削対象物に対する単位時間回転数当たりの切削能力データ、3)各被切削対象物である歯の仮想三次元座標空間における形状および配置位置データ、4)各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数が記憶されている。
歯科切削具についての形状データは、離散的な点群データの集合で定義される。歯の形状はボクセルデータの集合で定義されている。
(3.シミュレーションプログラムの処理 )
図4を用いて、シミュレーションプログラム26P(図2参照)による制御について説明する。図4Aに示すように、CPU23は、仮想デバイス位置決定処理(ステップS1)および反力ベクトル出力処理(ステップS3)を終了命令があるまで(ステップS4)、繰り返す。また、CPU23は、かかる処理と並行して、図4Bに示す表示処理を実行する。具体的には、所定時間経過毎に(ステップS5)、仮想デバイス位置を読み出して表示位置を変更する(ステップS6)。これを終了命令あるまで繰り返す(ステップS7)。
図4を用いて、シミュレーションプログラム26P(図2参照)による制御について説明する。図4Aに示すように、CPU23は、仮想デバイス位置決定処理(ステップS1)および反力ベクトル出力処理(ステップS3)を終了命令があるまで(ステップS4)、繰り返す。また、CPU23は、かかる処理と並行して、図4Bに示す表示処理を実行する。具体的には、所定時間経過毎に(ステップS5)、仮想デバイス位置を読み出して表示位置を変更する(ステップS6)。これを終了命令あるまで繰り返す(ステップS7)。
図4Aに示す仮想デバイス位置決定処理ステップS1の詳細を図5に示す。CPU23は、力覚デバイスプログラム26rから、最新のデータ(X、Y、Zの三次元座標、ヨーデータ、ピッチデータ、ロールデータについて、回転移動行列と平行移動行列の合わさったもの)を取得する(図5ステップS30)。これにより、仮想空間における現在の位置および与えられている力の方向を得ることができる。
CPU23は、最新データから演算対象となる被切削物を決定する(ステップS31)。具体的な処理としては、CPU23が、実デバイスの位置に仮想デバイスを移動させた場合に接触する被切削物を特定する。CPU23は、ハードディスク26の切削量決定データ記憶部26kから、歯科切削具であるドリルの削りやすさ係数を読み出す(ステップS33)。CPU23は、ドリルの削りやすさ係数、および現在の角加速度から切削量pxを計算する(ステップS34)。現在の角速度は、フットペダル用プログラムから受け取ればよい。また、切削量pxは、下記式(1)で与えられる。
px=(ドリルの削りやすさ係数)*(現在の角加速度)・・・(1)
ここで、ドリルの削りやすさ係数は下記(2)式で与えられる。
ここで、ドリルの削りやすさ係数は下記(2)式で与えられる。
(ドリルの削りやすさ係数)=(ドリルの最大角速度の時の削りやすさ係数)*(ドリルの角速度/ドリルの最大角速度)・・・(2)
以下では、仮想デバイス60が歯70に対して、歯から10ミリ程度離れた位置から角速度ηで歯の表面に削り、これにより、図6Aに示すように、被切削対象物である歯70に対して、離れた位置に存在する仮想デバイス60が、歯70に対して、一部がめり込むように表示されることとなる場合を例として説明する。
以下では、仮想デバイス60が歯70に対して、歯から10ミリ程度離れた位置から角速度ηで歯の表面に削り、これにより、図6Aに示すように、被切削対象物である歯70に対して、離れた位置に存在する仮想デバイス60が、歯70に対して、一部がめり込むように表示されることとなる場合を例として説明する。
この場合、操作者は、フットペダル22および実デバイス80を操作して、点P0まで移動させる。角速度ηで歯の表面に削る場合を例として説明する。
CPU23は、前回の仮想デバイス位置から所定先までの間に切削量pxを越える衝突があるか否か判断する(図5ステップS35)。その際、CPU23は、衝突する被切削物の削りやすさ係数を考慮して、切削量pxと合致するか否かを判断する。本実施形態においては、ドリルの形状は離散的な点群データで定義されており、歯はボクセルデータで定義されており、ドリルと歯との衝突する点群の数によって判断するようにした。いま、px=10が得られたものとする。
本実施形態においては、ステップS35の所定値を、通常の切削処理では単位時間当たりの切削量よりも大きな値となる2ミリとした。ステップS35の意義については後述する。
この場合、切削回転工具の角速度はηであり、切削量px=10が得られている。CPU23は、仮想デバイス60の位置(この場合、10ミリ離れた位置)から所定先である2ミリ進んだ位置までの間には、切削量pxをこえる衝突があるか否か判断する(ステップS35)。既に説明したように、切削量pxは、ドリルの削りやすさ係数、および現在の角加速度から計算されている(ステップS34参照)。しかしながら、現実にどの程度削れるかについては、被切削物の削りやすさも影響する。したがって、本実施形態においては、被切削物の材質毎に、削りやすさ係数を記憶しておき、かかる被切削物の削りやすさ係数を考慮した換算衝突数が切削量pxを越えるか否かを判断するようにした。
この場合、もともと歯の表面から10ミリ程度離れた位置が前回位置であり、2ミリ進んでも、まだ歯70には衝突しない。すなわち、前回の仮想デバイス位置から所定先までの間に切削量px(=10)を越える衝突がないので、CPU23は、実デバイス位置を内側位置する(ステップS37)。具体的には図6Aの点P0の位置が内側位置となる。
CPU23は、内側位置で切削量pxをこえる衝突があるか否か判断する(ステップS38)。例えば、点P0の位置で、仮に、歯70のエナメル質のボクセルが80個、仮想デバイス60と衝突しているとする。この場合、歯70のエナメル質の削りやすさ係数が、「2」である場合、80/2=40が、仮想デバイス位置が当該位置における衝突量となる。また、点P0の位置で、仮に歯70のエナメル質のボクセルが60個、象牙質が10個、仮想デバイス60と衝突しているとする。この場合、歯70のエナメル質の削りやすさ係数が、「2」で、象牙質の削りやすさ係数が「1」である場合、60/2+10/1=40が、仮想デバイス位置が当該位置における衝突量となる。
このように、CPU23は、衝突しているボクセル毎に、削りやすさ係数を考慮して、切削量pxとの比較をおこなう。ここでは、点p2における衝突量が「40」であったものとする。したがって、内側位置では切削量pxをこえる衝突がある。したがって、衝突する点群が所定数pxとなる位置を探索する(ステップS41)。ステップS41の詳細フローチャートを図7に示す。
CPU23は仮想デバイス位置を外側位置とする(図7ステップS61)。この場合、図6Aの点P1が外側位置となる。CPU23は、外側位置と内側位置の距離が閾値以下か否か判断する(図7ステップS63)。これは、かかる所定値以下になった場合に二分探索を中止するためである。本実施形態においては、ステップS63における閾値を0.5ミリとした。
この場合、かかる閾値以上は離れているので、CPU23は、外側位置と内側位置から中点位置を求め(ステップS64)、中点位置で切削量pxを越えているか否か判断する(ステップS65)。以下では、中点位置P2が図6Aに示す位置であり、かつ、切削量pxを越える衝突が発生する場合とする。したがって、CPU23は、この中点位置P2を内側位置とする(図7ステップS67)。
CPU23は、外側位置と内側位置の距離が閾値以下か否か判断する(ステップS63)。この場合、両者は、かかる閾値以上は離れているので、CPU23は、外側位置と内側位置から中点位置を求め(ステップS64)中点位置で切削量pxを越えているか否か判断する(ステップS65)。ここで、中点位置P3が図6Aに示す位置である場合、切削量pxを越える衝突が発生していないとすると、CPU23は、この中点位置P3を外側位置とする(ステップS69)。
CPU23は、外側位置と内側位置の距離が閾値以下か否か判断する(ステップS63)。この場合、両者は、かかる閾値以上は離れているので、CPU23は、外側位置と内側位置から中点位置を求め(ステップS64)中点位置で切削量pxを越えているか否か判断する(ステップS65)。ここで、中点位置P4が図6Aに示す位置である場合、切削量pxを越える衝突が発生しているとすると、CPU23は、この中点位置P4を内側位置とする(ステップS67)。
このような処理を繰り返し、外側位置pnと内側位置pn-1の距離が閾値以下になる点pnの位置が探索位置となる(ステップS70)。
CPU23は、図5に示すステップS41で求めた位置を仮想デバイス位置とする(ステップS42)。
CPU23は、仮想デバイス位置決定処理(図4ステップS1)が終了すると、反力ベクトル出力処理(ステップS3)を実行する。反力ベクトルの演算手法は、一般的なペナルティ法における演算と同様である。すなわち、力覚デバイスへ与える反力ベクトルを、式(3)で求めればよい。
力覚デバイスへ与える反力ベクトル[N] =バネ反力ベクトル[N] +ダンパ反力ベクトル[N] ・・・(3)
ここで、バネ反力ベクトルは、式(4)で求められる。
ここで、バネ反力ベクトルは、式(4)で求められる。
バネ反力ベクトル[N] = めり込みベクトル[mm] * 平均バネ係数[N/mm] *(-1)・・・(4)
めり込みベクトルは、実デバイス位置と、ステップS42で求めた仮想デバイス位置との差分をベクトルとして求めればよい。なお、平均バネ係数[N/mm] は被切削対象物毎に設定されているバネ係数[N/mm]を個数分だけ総計して、平均を求めればよい。式(4)において、(−1)を乗算しているのは逆方向のベクトルを求めるためである。
めり込みベクトルは、実デバイス位置と、ステップS42で求めた仮想デバイス位置との差分をベクトルとして求めればよい。なお、平均バネ係数[N/mm] は被切削対象物毎に設定されているバネ係数[N/mm]を個数分だけ総計して、平均を求めればよい。式(4)において、(−1)を乗算しているのは逆方向のベクトルを求めるためである。
また、ダンパ反力ベクトル[N]は式(5)で求めればよい。
ダンパ反力ベクトル[N] = 相対速度[mm/s] * ダンパ係数[N/(mm/s)] *(-1)・・・式(5)
ここで、相対速度とは、デバイスの移動速度であり、力覚デバイス用プログラム26rから与えられる。
ここで、相対速度とは、デバイスの移動速度であり、力覚デバイス用プログラム26rから与えられる。
なお、ダンパ係数についても、バネ係数と同様に演算すればよい。
図6Bに示すように、切削回転工具の角速度がゼロであり、歯70の表面に仮想デバイス60が位置する場合についても、衝突量が図5ステップS34で決定された切削量と一致する位置を見つける処理としては全く同じである。すなわち、ステップS35−ステップS37−ステップS38−ステップS41−ステップS42の処理によって、仮想デバイス60の位置が決定される。
また、実デバイスの移動量が少なく、実デバイスの位置まで仮想デバイスを移動させても、まだ、被切削物には衝突しない場合もある。この場合も、上記と同じく、ステップS35からステップS37に進む。そして、CPU23は、ステップS38にて、内側デバイス位置で切削量pxをこえる衝突がないと判断する。これにより、CPU23は、内側位置を仮想デバイスの位置とする(ステップS43)。
ところで、被切削物を切削する場合において、単純に二分探索処理をすると、図8A、B、Cに示すように、回転切削工具の進行方向における被切削対象物の厚みdが薄い場合、突き抜けてしまうような形状である場合には、二分探索を行うことができない場合が生ずる。なぜなら、二分探索は、内側位置と外側位置の間で衝突量の値が順に並んでいる(ソートされている)場合でなければ不可能だからである。そこで、本実施形態においては、ステップS35に示す初期値を設定し、かかる初期値離れた位置で切削量pxを越える衝突がある場合には、前記初期値離れた位置を仮想デバイスの位置とし、その範囲で二分探索するようにした。
具体的には、図8に示すような場合には、所定値先では切削量pxをこえる衝突があるので、CPU23は、初回発見位置を内側位置とする(ステップS36)。その後、ステップS38からステップS41に進んで、二分探索する処理については、同様であるので説明は省略する。
なお、ステップS35における初期値だけ進んだ位置における衝突数が、切削量pxとして考えられる値の上限よりも大きな値となるように、前記初期値を設定すればよい。これにより、図6Aのように離れた位置からではなく、歯80を切削中である場合にも、ステップS35からステップS36に進み、上記所定値離れた位置内で二分探索が行われる。現在切削中の場合、削れる量との関係で実デバイス位置まで探索するような場合は存在しないであろうと推測されるからである。
本実施形態においては、薄皮であるような場合だけでなく、切削中でかつ所定値離れた位置でも被切削対象物が存在する場合には、初期値離れた位置で切削量pxを越える衝突があるとして、初回発見位置を内側位置とするようにした。しかし、これに限定されない。
(4.粘り対策処理について)
ペナルティ法においては、前回の仮想デバイスの位置から実デバイスの位置を結んだ線分上で、切削量pxに合致する位置を探索する。したがって、図9Aに示すように、歯の表面をスムーズに移動させるという動きをした場合に、以下のようなネバリ処理問題が生ずる。本実施形態においては、かかる問題を解決するために、二分探索する際に、一度、前回の仮想デバイス位置を法線方向に所定距離戻す処理を行うようにした。これにより、上記粘り感を解消することができる。以下、説明する。
ペナルティ法においては、前回の仮想デバイスの位置から実デバイスの位置を結んだ線分上で、切削量pxに合致する位置を探索する。したがって、図9Aに示すように、歯の表面をスムーズに移動させるという動きをした場合に、以下のようなネバリ処理問題が生ずる。本実施形態においては、かかる問題を解決するために、二分探索する際に、一度、前回の仮想デバイス位置を法線方向に所定距離戻す処理を行うようにした。これにより、上記粘り感を解消することができる。以下、説明する。
図9Aは、歯100に仮想デバイス90を押し当てて、歯100の表面を滑るように移動するようなシミュレーションをした場合を示す。この場合、仮想デバイス90を押し当たるためには、実デバイス80は図9Aに示すように歯100の内側方向(α方向)に位置する。このように内側に位置する状態で、実デバイス80を矢印β方向に移動させて、点P11から点P12に移動させたとする。二分探索法では、実デバイスの位置が内側位置となり(図5ステップS37)、前回の仮想デバイスの位置が外側位置となり(図7ステップS61)、かかる内側位置と外側位置の間で、矢印γ方向における中点を求めて、かかる中点が図5ステップS34で求めた切削量と一致する衝突量となる位置を探索する。
しかし、このように表面に押しつけて滑らす場合、切削量pxはゼロであり、かつ、もともと、仮想デバイス90は歯の表面に接している状態であれば、かかる条件を満たす中点は存在しないこととなる。したがって、仮想デバイス90の位置は図9Aに示すように、矢印β方向には止まったままとなる。本実施形態においては、図5ステップS38とステップS41の間に、図10に示すように、法線方向を決定し(ステップS39)、仮想デバイス位置を所定量浮かした位置とする(ステップS40)の2つのステップを追加している。これにより、図9Aに示すような押しつけて滑らすようなシミュレーションでも、図9Bに示すように、所定量法線方向に浮かす(点p20からp22へ移動させている)ことにより、中点を探索した際に、浮かした分だけ、矢印β方向に仮想デバイス90を移動させることができる。これにより、仮想デバイス90を点p23の位置まで移動させることができる。
本実施形態においては、上記浮かす量を2ミリとしたが、これに限定されるわけではない。
なお、かかる粘り対策において法線方向に戻す処理をする(浮かす)ことにより、表面が図11Aに示すようになだらかな場合はもちろん、図11Bに示すように凹凸がある場合でも、表面に押しつけたまま滑らすことができる。さらに、図11Cに示すように、凹凸の形状が急峻になった場合には、その位置でそれ以上移動しないように制御可能である。以下詳述する。図11Aは実デバイス80を点p100〜点101に移動させた場合である。この場合、仮想デバイス90は、点p111から点p121に所定量、浮かされ、点p112に移動し・・・・というように点p117まで移動する。
図11Bについても同様である。図11Cに示すように法線方向に戻した場合に、矢印β方向とは逆方向に位置する場合には、その位置で止まろうとする。かかる処理について図12を用いて説明する。図12Aは仮想デバイス90はP151から法線方向である矢印131方向に移動し、その後、矢印132方向、133方向・・・矢印136方向と進み、点161の辺りで法線方向に戻す方向と進める方向が一致して、止まることとなる。また、図12Bに示すように、段差に乗り上げる場合、点P171と,から法線方向である矢印141方向に移動し、その後、矢印142方向、143方向、矢印144方向と進み、点171の辺りで止まることとなる。
このように、粘り対策として所定量浮かすことにより、表面における法線方向がある閾値を超えると、それ以上進まないという制御が自動的に行われる。この場合、ドリルを歯70に当てる角度を変更することにより、表面の凹凸にあわせて実際と同じような動きとなるシミュレーションが可能となる。
また、本実施形態においては、ネバリ処理のために、二分探索の外側位置を所定距離だけ法線方向に戻すようにしたが、これに限定されず、前回の仮想デバイス位置から実デバイスの方向よりも移動方向側の範囲内において被切削対象物の表面から離す方向(表面離反進行方向)に戻すようにすればよい。
戻す方向が法線方向であれば、図11のような現実にマッチしたシミュレーションが可能となる。また、移動方向側に進めることにより、実デバイスの位置により早く移動するので、ネバリ感をより少なくすることができる。また、図11のような突部に引っかかってそれ以上進まないという減少を回避することもできる。一方、実デバイスを被切削対象物に押しつける方向に近づけるほど、ネバリ感が大きくなる。
また、本実施形態においては、被切削対象物をボクセルデータとして定義しているので、法線の求め方についてはマーチングキューブズ法で面を定義して、面に対する法線を求めるようにした。しかし、法線の求め方については、これに限定されない。
なお、本実施形態においては、全ての場合について、かかる粘り対策をするようにしたが、粘り処理が必要な場合を条件文として記憶させておき、かかる条件を満足する場合に、このような法線方向へ浮かす処理をするようにしてもよい。
また、切削量がゼロである場合について説明したが、軽く切削させる場合も同様である。
(5.他の実施形態)
本実施形態においては、歯の切削シミュレーターについて適用した場合について説明したが、歯以外の、たとえば、臓器等の切削シミュレーションについても同様に適用することができる。
本実施形態においては、歯の切削シミュレーターについて適用した場合について説明したが、歯以外の、たとえば、臓器等の切削シミュレーションについても同様に適用することができる。
本実施形態においては、換算衝突量と切削量pxが一致する場合に、両者が合致すると判断したが、これらの差分が所定の閾値以下になる場合に、合致すると判断するようにしてもよい。
本実施形態においては、二分探索法を用いたがこれに限定されない。例えば連続するサンプリングタイム(時刻)における衝突数を、ニュートン法、ニュートンラプソン法等の方法で探索するようにしてもよい。これにより、より高速位置を求めることができる。
上記実施形態においては、バネ係数およびダンパ係数について、あるサンプリングタイム(時刻)における静的な平均を求めるようにしたが、前後の複数のサンプリングタイム(時刻)で移動平均を求めてもよい。また、粘性係数は速度と比例するので、速度に応じて荷重平均等を採用することもできる。
また、力覚デバイスへ返す反力については、最大値に制限があったり(たとえば、最大値は5N等)が、その精度が粗い場合(0.1N単位でしか扱えない等)もある。このような場合には、閾値を設定しておき、上限値となるよう値を変換したり、値を量子化するようにしてもよい。
上記実施形態においては、仮想切削工具の形状と被切削対象物である歯との衝突量について、衝突数と材質特性の積和に基づいて、換算衝突量を求めるようにした。しかし、これに限定されず、仮想切削工具の形状を簡易形状とするようにしてもよい。具体的には、歯の切削に用いるドリルは形状表面から所定距離しか現実には切削できない。したがって、その部分の形状とするようにしてもよい。その際、その形状を球であると擬製することより、簡易演算が可能とある。かかる形状については、任意であり、たとえば、惰球、直方体、立方体、面の集合などを採用するようにしてもよい。
上記実施形態においては、切削工具が回転数が変動することにより、切削能力が変動する場合を例に説明した。しかしこれに限定されず、レーザメスのようにシミュレーション装置の使用者が強弱を変更することにより、切削工具の切削エネルギーが変わる場合についても同様に適用することができる。
また、上記実施形態においては、仮想切削工具を用いる場合について説明したが、マッサージシミュレーションや触診シミュレーション等にも適用することもできる。この場合、指に嵌めるような力覚デバイスを採用すればよい。この場合、下記のような発明として把握することができる。
仮想力覚デバイスについて、離散的な点群データの集合で定義された形状データ、および基準被押圧対象物に対する単位時間当たりの基準押圧能力データを記憶する仮想力覚デバイスデータ記憶手段、
ボクセルデータの集合で定義された各被押圧対象物に対して、前記基準被押圧対象物に対する相対的な被押圧しやすさを表す被押圧係数を記憶する被押圧係数記憶手段、
仮想三次元座標空間における被押圧対象物の被押圧対象物配置位置データを記憶する配置データ記憶手段、
実三次元空間における力覚デバイスによって特定される仮想力覚デバイスの位置データが与えられると、これを前記仮想三次元座標空間における仮想力覚デバイスの位置データに変換する変換手段、
前記変換された仮想力覚デバイスの位置データおよび前記被押圧対象物配置位置データから衝突対象の被切削対象物を決定する決定手段、
前記基準押圧能力データおよびユーザから与えられる前記仮想力覚デバイスの単位時間当たりの押圧力決定データに基づいて、前記仮想切削工具による単位時間あたりの押圧量である単位時間押圧量を演算する押圧量演算手段、
前記被切削対象物配置位置データで特定される被押圧対象物に対して、前記仮想力覚デバイスの点群データとボクセルデータの衝突数を演算し、この衝突数を前記被押圧係数で換算した換算衝突量が、前記単位時間押圧量と合致する位置を探索し、前記仮想力覚デバイスの位置として決定する位置決定手段、
を備えた押圧シミュレーション処理における位置決定装置。
ボクセルデータの集合で定義された各被押圧対象物に対して、前記基準被押圧対象物に対する相対的な被押圧しやすさを表す被押圧係数を記憶する被押圧係数記憶手段、
仮想三次元座標空間における被押圧対象物の被押圧対象物配置位置データを記憶する配置データ記憶手段、
実三次元空間における力覚デバイスによって特定される仮想力覚デバイスの位置データが与えられると、これを前記仮想三次元座標空間における仮想力覚デバイスの位置データに変換する変換手段、
前記変換された仮想力覚デバイスの位置データおよび前記被押圧対象物配置位置データから衝突対象の被切削対象物を決定する決定手段、
前記基準押圧能力データおよびユーザから与えられる前記仮想力覚デバイスの単位時間当たりの押圧力決定データに基づいて、前記仮想切削工具による単位時間あたりの押圧量である単位時間押圧量を演算する押圧量演算手段、
前記被切削対象物配置位置データで特定される被押圧対象物に対して、前記仮想力覚デバイスの点群データとボクセルデータの衝突数を演算し、この衝突数を前記被押圧係数で換算した換算衝突量が、前記単位時間押圧量と合致する位置を探索し、前記仮想力覚デバイスの位置として決定する位置決定手段、
を備えた押圧シミュレーション処理における位置決定装置。
上記実施形態においては、図1に示す機能を実現するために、CPU23を用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路などのハードウェアによって実現してもよい。なお、プログラムの一部の処理を、オペレーティングシステム(OS)にさせるようにしてもよい。
Claims (7)
- 仮想回転切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間回転数当たりの切削能力データを記憶する仮想回転切削工具データ記憶手段、
ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数を記憶する被切削係数記憶手段、
仮想三次元座標空間における被切削対象物の被切削対象物配置位置データを記憶する配置データ記憶手段、
実三次元空間における力覚デバイスによって特定される仮想回転切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想回転切削工具の位置データに変換する変換手段、
前記変換された仮想回転切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定する決定手段、
前記仮想回転切削工具切削能力データおよびユーザから与えられる前記仮想回転切削工具の単位時間当たりの回転数に基づいて、前記仮想回転切削工具による単位時間あたりの切削量である単位時間切削量を演算する切削量演算手段、
前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想回転切削工具の点群データとボクセルデータの衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を二分探索法にて探索し、前記仮想回転切削工具の位置を決定する位置決定手段、
前記決定した位置に応じて、前記力覚デバイスに抗力を与える抗力付与手段、
を備えた歯科シミュレーション装置であって、
前記位置決定手段は、前記二分探索における中点演算処理にて、前記仮想回転切削工具の進行方向とは逆側の境界点を、前記被切削対象物の表面から離れる方向に所定距離だけ戻して中点を演算すること、
を特徴とする歯科シミュレーション装置。 - 仮想切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間当たりの切削能力データを記憶する仮想切削工具データ記憶手段、
ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数を記憶する被切削係数記憶手段、
仮想三次元座標空間における被切削対象物の被切削対象物配置位置データを記憶する配置データ記憶手段、
実三次元空間における力覚デバイスによって特定される仮想切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想切削工具の位置データに変換する変換手段、
前記変換された仮想切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定する決定手段、
前記切削能力データおよびユーザから与えられる前記仮想切削工具の単位時間当たりの切削量決定データに基づいて、前記仮想切削工具による単位時間あたりの切削量である単位時間切削量を演算する切削量演算手段、
前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を演算し、この衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記仮想切削工具の位置として決定する位置決定手段、
を備えた切削シミュレーション処理における位置決定装置。 - 請求項2の切削シミュレーション処理における位置決定装置において、
前記位置決定手段は、前記換算衝突量が前記単位時間切削量と合致する位置を探索する際、前記仮想切削工具の進行方向とは逆側の境界点を、前記被切削対象物から離れる方向に所定距離だけ戻した位置との間で、探索を行うこと、
を特徴とする切削シミュレーション処理における位置決定装置。 - 請求項3の切削シミュレーション処理における位置決定装置において、
前記位置決定手段は、前記仮想切削工具の進行方向とは逆側の境界点を、前記被切削対象物の表面における法線方向に所定距離だけ戻して、前記探索すること、
を特徴とする切削シミュレーション処理における位置決定装置。 - 請求項2〜請求項4のいずれかの切削シミュレーション処理における位置決定装置において、
前記位置決定手段は、前記探索として二分探索を行う場合に、その初期探索範囲として、前回の仮想切削工具の位置から所定距離先間で、前記単位時間切削量を越える衝突があるか否か判断し、かかる衝突がない場合には、力覚デバイスによって特定される仮想切削工具の位置を前記切削工具の進行方向側の二分探索境界点とし、かかる衝突がある場合には、前回の仮想切削工具の位置から所定距離進んだ位置を前記切削工具の進行方向側の二分探索境界点とすること、
を特徴とする切削シミュレーション処理における位置決定装置。 - A)コンピュータに、下記データA1)〜A3)を記憶させておき、
A1)仮想切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間当たりの切削能力データ、
A2)ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数データ、
A3)仮想三次元座標空間における被切削対象物の被切削対象物配置位置データ、
B)前記コンピュータは、下記ステップを実行すること、
実三次元空間における力覚デバイスによって特定される仮想切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想切削工具の位置データに変換するステップ、
前記変換された仮想切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定するステップ、
前記切削能力データおよびユーザから与えられる前記仮想切削工具の単位時間当たりの切削量決定データに基づいて、前記仮想切削工具による単位時間あたりの切削量である単位時間切削量を演算するステップ、
前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を演算し、この衝突数を前記被切削係数データで換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記切削工具の位置を決定するステップ、
を特徴とする切削シミュレーション処理における位置決定方法。 - コンピュータを下記手段として機能させるための切削シミュレーション処理における位置決定プログラム。
仮想切削工具について、離散的な点群データの集合で定義された形状データ、および基準被切削対象物に対する単位時間当たりの切削能力データを記憶する仮想切削工具データ記憶手段、
ボクセルデータの集合で定義された各被切削対象物に対して、前記基準被切削対象物に対する相対的な切削しやすさを表す被切削係数を記憶する被切削係数記憶手段、
仮想三次元座標空間における被切削対象物の被切削対象物配置位置データを記憶する配置データ記憶手段、
実三次元空間における力覚デバイスによって特定される仮想切削工具の位置データが与えられると、これを前記仮想三次元座標空間における仮想切削工具の位置データに変換する変換手段、
前記変換された仮想切削工具の位置データおよび前記被切削対象物配置位置データから衝突対象の被切削対象物を決定する決定手段、
前記切削能力データおよびユーザから与えられる前記仮想切削工具の単位時間当たりの切削量決定データに基づいて、前記仮想切削工具による単位時間あたりの切削量である単位時間切削量を演算する切削量演算手段、
前記被切削対象物配置位置データで特定される被切削対象物に対して、前記仮想切削工具の点群データとボクセルデータの衝突数を演算し、この衝突数を前記被切削係数で換算した換算衝突量が、前記単位時間切削量と合致する位置を探索し、前記切削工具の位置を決定する位置決定手段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010083236A JP2011212223A (ja) | 2010-03-31 | 2010-03-31 | 切削シミュレーション処理における位置決定装置またはその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010083236A JP2011212223A (ja) | 2010-03-31 | 2010-03-31 | 切削シミュレーション処理における位置決定装置またはその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011212223A true JP2011212223A (ja) | 2011-10-27 |
Family
ID=44942610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010083236A Pending JP2011212223A (ja) | 2010-03-31 | 2010-03-31 | 切削シミュレーション処理における位置決定装置またはその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011212223A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019070916A (ja) * | 2017-10-06 | 2019-05-09 | 国立大学法人神戸大学 | 切削シミュレーション方法および装置 |
CN116276995A (zh) * | 2023-03-03 | 2023-06-23 | 北京航空航天大学 | 一种具有零空间避障能力的基于阻抗控制的人机协同方法 |
-
2010
- 2010-03-31 JP JP2010083236A patent/JP2011212223A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019070916A (ja) * | 2017-10-06 | 2019-05-09 | 国立大学法人神戸大学 | 切削シミュレーション方法および装置 |
JP7015041B2 (ja) | 2017-10-06 | 2022-02-02 | 国立大学法人神戸大学 | 切削シミュレーション方法および装置 |
CN116276995A (zh) * | 2023-03-03 | 2023-06-23 | 北京航空航天大学 | 一种具有零空间避障能力的基于阻抗控制的人机协同方法 |
CN116276995B (zh) * | 2023-03-03 | 2023-09-08 | 北京航空航天大学 | 一种具有零空间避障能力的基于阻抗控制的人机协同方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7353149B2 (en) | Method and apparatus for simulating dynamic contact of objects | |
US8350806B2 (en) | Force/tactile display, method for controlling force/tactile display, and computer program | |
US8648797B2 (en) | Information input/output device, information input/output method and computer program | |
Perreault et al. | Geometric determination of the interference-free constant-orientation workspace of parallel cable-driven mechanisms | |
KR20200082449A (ko) | 가상 모델 제어 방법 및 장치 | |
US20090306825A1 (en) | Manipulation system and method | |
US8386213B2 (en) | Device, method and computer program for simulation of collision events between physical objects | |
WO2000038117B1 (en) | Method and system for a virtual assembly design environment | |
CN111251305B (zh) | 机器人力控制方法、装置、系统、机器人及存储介质 | |
US10556336B1 (en) | Determining robot inertial properties | |
CN111338287A (zh) | 机器人运动控制方法、装置、系统、机器人及存储介质 | |
JP2018030210A (ja) | シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体 | |
RU2308764C2 (ru) | Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства | |
KR100934391B1 (ko) | 6자유도 햅틱 장치를 이용한 핸드 기반 잡기 인터랙션시스템 | |
CN106066688A (zh) | 一种基于穿戴式手套的虚拟现实交互方法及装置 | |
Rossmann et al. | Developing virtual testbeds for mobile robotic applications in the woods and on the moon | |
CN111890364B (zh) | 机器人的运动控制方法、装置、电子设备及存储介质 | |
JP2011212223A (ja) | 切削シミュレーション処理における位置決定装置またはその方法 | |
Fahmi et al. | Development of excavator training simulator using leap motion controller | |
Conti et al. | A framework for real-time multi-contact multi-body dynamic simulation | |
Hou et al. | Stable adaptive algorithm for Six Degrees-of-Freedom haptic rendering in a dynamic environment | |
Abut et al. | Interface design and performance analysis for a haptic robot | |
US20200103971A1 (en) | Method And Apparatus For Providing Realistic Feedback During Contact With Virtual Object | |
Nguyen et al. | Poster: 3-Point++: A new technique for 3D manipulation of virtual objects | |
Zhang et al. | Real-time human motion capture with simple marker sets and monocular video |