Nov11’s diary(自宅での開発環境作り )

3Dプリンタと切削加工機で工作した事をアップして行きます

自作したロボットアームを制御する(仮想と現実)(その4)仮想現実に物理法則を組み込む

VisualStudio C++/CLIで、物理エンジンのOpen Dynamics EngineとOpenGLを使って、仮想現実(VR)上に物理法則を組み込む事が出来る様になったので、自由落下による連鎖以外に、物体に力を加える事による連鎖を行って見る事にしてみました
どんな事をやるか考えた結果、オーソドックスにドミノ倒しで連鎖を確認する事にしてみました
Open Dynamics Engineで、ボールを水平方向に射出する方法をネットで検索すると、速度をdBodySetLinearVel()で行い、角速度をdBodySetAngularVel()で行えば良いとあったので、この2つを使って、ボールを射出し、ビリヤードと同じように、壁に何度か当ててから、ドミノを倒す事にしてみた
また、前回不自然な動きをしていた原因が、衝突時の反発係数にあったので、これを修正して、摩擦係数などの設定を行うと、自然な動きをしてくれるようになりました

んで、動作結果は、こんな感じです

f:id:Nov11:20170603091226j:plain


動作している動画です

youtu.be

簡易とは言え、何とか物理空間を手に入れる事が出来ましたぁ~!!
これをエド(ロボットアームの呼称)の仮想空間に加えれば、予測行動が出来る様になりそうです
エドに色んな事をさせる前に、思考実験を仮想空間内で行い、実際に動作させた結果と思考実験の差異を蓄積させて行けば、賢くなったエドが、筆者の開発サポートもしてくれるようになるかもですね

ん~、また一歩SF映画に近づけたような気がします

 

なお、ブログの内容を参照して実行した結果に責任は負いかねますので、ご了承下さい