本研究では、まず、機器保修の訓練環境を実現する際に必要なPhysically-baseの手法に基づく剛体挙動シミュレーションの実行環境を単体の計算機上へ実装した。その後、剛体挙動シミュレーションの処理の一部を、PCクラスタ上で分散して処理する手法を開発し、現時点で容易に入手可能な計算機環境を用いたリアルタイムシミュレーションの実現の可能性を検討した。 具体的には、剛体挙動シミュレーションの処理のうち、どの処理にどの程度の計算量が生じるのかを調べるため、単体の計算機上で剛体挙動シミュレーションを実行できる環境を開発し、剛体挙動シミュレーションの各処理の負荷を計測する実験を行った。実験の結果、ポリゴンレベルで行う厳密な衝突判定と衝突時の接点間に働く力の算出の計算負荷が高いことを確認した。 次に、剛体挙動シミュレーションの処理を効率的に切り分ける方法や切り分けた処理を計算機に動的に割り当てる方法、計算機間の通信プロトコル等を開発した。そして、PCクラスタ環境上に剛体挙動シミュレーションを実行するシステムを開発した。 その後、同一の仮想空間の剛体挙動シミュレーションを単一の計算機環境で実現する場合とPCクラスタ環境で実現する場合のシミュレーション速度を比較し、剛体挙動のリアルタイムシミュレーションの実現可能性を検討した。その結果、50個のナットとボルトが存在する仮想空間のシミュレーションでは、単体の計算機で実行する場合と比べて、ノードマシンの台数が2台の場合は約55%、4台の場合は約127%の高速化が実現できることを確認した。また、複雑大規模な仮想空間ほど分散・並列化に適していることを確認した。 今後は処理予測機能を含めた負荷分散アルゴリズムの改良と、ノードマシンの台数をさらに増やした環境での剛体挙動シミュレーションの並列実行環境の開発を進めていく予定である。
|