自作したロボットアームを制御する(仮想と現実)(その4)仮想現実に物理法則を組み込む
VisualStudio C++/CLIで、物理エンジンのOpen Dynamics EngineとOpenGLを使って、仮想現実(VR)上に物理法則を組み込む事が出来る様になったので、自由落下による連鎖以外に、物体に力を加える事による連鎖を行って見る事にしてみました
どんな事をやるか考えた結果、オーソドックスにドミノ倒しで連鎖を確認する事にしてみました
Open Dynamics Engineで、ボールを水平方向に射出する方法をネットで検索すると、速度をdBodySetLinearVel()で行い、角速度をdBodySetAngularVel()で行えば良いとあったので、この2つを使って、ボールを射出し、ビリヤードと同じように、壁に何度か当ててから、ドミノを倒す事にしてみた
また、前回不自然な動きをしていた原因が、衝突時の反発係数にあったので、これを修正して、摩擦係数などの設定を行うと、自然な動きをしてくれるようになりました
んで、動作結果は、こんな感じです
動作している動画です
簡易とは言え、何とか物理空間を手に入れる事が出来ましたぁ~!!
これをエド(ロボットアームの呼称)の仮想空間に加えれば、予測行動が出来る様になりそうです
エドに色んな事をさせる前に、思考実験を仮想空間内で行い、実際に動作させた結果と思考実験の差異を蓄積させて行けば、賢くなったエドが、筆者の開発サポートもしてくれるようになるかもですね
ん~、また一歩SF映画に近づけたような気がします
なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい