クレーンゲームで知る物理エンジンシミュレーション(作成編)
※このブログは前回の続きです。
皆さんこんにちは、株式会社ITAGEの田辺です。
前回のブログでは物理現象のシミュレーションについてお話ししました。今回は実際の作成手順をご紹介していきます。
こちらの3Dモデルは弊社取り扱い製品「Emulate3D」で作成されたものです。
Emulate3Dは工場や物流センター向けの3Dシミュレーターです。
Emulate3Dには物理エンジンが搭載されておりこのような挙動を再現できます。
『シミュレーター』の特性
3Dシミュレーターはとても自由度の高いソフトウェアです。
それもその筈、シミュレーションとは『現実に実施することが難しい検証をその対象物の特性を部分的に再現した“モデル”に対して行うこと』です。
「何か」が対象なのでなんでもいいんですよね。
その為多くのシミュレーターには検証の為の「モデル」を作成する手間を減らす仕組みがあります。
勿論Emulate3Dにもその仕組みがあります。今回は物理現象のシミュレーションを実施する際のモデリングにそって機能にフォーカスを当てていきます。
モデリングの流れ
実施することは4つ。
形状の再現→物理現象の再現→動作の再現→制御の再現です。
1つ目と2つ目にはほとんど時間はかかりませんし、3つ目もある程度操作を把握していれば数分で終了します。4つ目、制御の再現は実装の方法に依りけりですが、それでも全体を通して数時間で今回のモデルを作成できるかと思います。
形状の再現
独自の形状を再現するには
・3Dデータをインポートする
・単純形状を組み合わせつくる
の二通りがあります。
実際のユーザー様であれば前者を取られる方が殆どです。3DCADをはじめとした3Dデータのインポートに対応しているのでお手軽です。
生憎クレーンゲームの3Dデータは持ち合わせていませんので後者を採用します。
物理現象の再現
次に物理現象を再現する範囲を決めていきます。
シミュレーションは部分的に特性を再現します。
モデル内のすべての物体に重量や材質などを設定するのは意外にも負荷がかかることであり非効率的です。
ここではアーム部分に質量と物理判定を加える部分をご紹介します。
といっても簡単。
Emulate3Dにはボタン一つで3Dデータに属性を定義する機能があるのでそれを使います。
設備機器を再現するために様々な機能が用意されています。
ここでは先述の通り質量と物理判定を加えます。
やり方はとっても簡単。対象をクリックして付けたい機能を選択します。
マウス操作だけでこのようにソフト内での定義が変化します。
動作の再現
続いて動作の再現も行います。これも同じく先ほど機能で簡単に定義できます。
アームはXYZ方向への動きとクレーン部分の開閉の動作が必要です。
回転機構や直進機構を組み合わせ動作を再現します。
同じく対象を選択して進行方向などを指定するだけです。
こちらの機能について詳しい説明がございます。是非合わせてご覧ください。
制御の再現
最後に制御の再現を行います。
ロボットやコンベヤなど基本的な部品にはあらかじめ制御が定義されており、各種設定である程度の制御を再現できます。
今回のような特殊な制御の場合は専用のカスタマイズになります。
今回はC#という汎用開発言語でプログラミングを用い制御を実装しました。
コードを詳らかにしても、といったところですから大まかな構成だけを図示しておきます。
Emulate3Dには制御を実装する方法が様々あります。
もともとプログラミング経験がある方には今回のように実際の開発言語で組まれるのが一番効率的かと思いますが、プログラミング未経験者の方に便利なコンポーネントの配布やブロック図による簡易プログラミングの機能を備えております。
物理シミュレーションの活用シーン
さてこれでモデルは完成しました。動作については前回のブログをご覧ください。
前回お伝えした通り、こういった物理シミュレーションは実際には
マテハン機器のプッシャーの速度・角度や滞留
加工ロボットの接触検知
などでご活用いただいています。
物理エンジンを用いれば設備の能力をより正確に机上で検証できるようになります。
この為設備メーカー様には大変有用な手法といえます。
Emulate3Dには多様なシミュレーション方法を簡素に構築できる機能が沢山備わっています。少しでもご興味ご関心があればぜひ弊社ウェブサイトをご活用ください。