設計・シミュレーションMay 16, 2016

【デザインとシミュレーションを語る】29 : ”歯車と棒”でわかるシミュレーションにおけるパラメータ同定

“ディズニーのエンジニアが歯車と棒だけで動物の動きが驚くほど自然に再現できるデザイン・ソフトを開発”というネットニュースを発見!実際の動画を見るとシミュレーションで避けては通れないパラメータ同定というテーマの応用の一つである、「目標値への合わせこみ」を実施している(に違いない)とてもわかりやすい例でした。今回は簡単にこちらをおさらいしていきます。
header
Avatar 工藤 啓治 (Keiji Kudo)
【デザインとシミュレーションを語る】

第4章 計算精度とパラメータ同定 -”歯車と棒”でわかるシミュレーションにおけるパラメータ同定

「ネットのニュース」にとてもユニークな記事が紹介されていました。“ディズニーのエンジニアが歯車と棒だけで動物の動きが驚くほど自然に再現できるデザイン・ソフトを開発”というタイトルにピンときまして、動画を見て、したり!と思ったのでした。シミュレーションで避けては通れないパラメータ同定というテーマの応用の一つである、「目標値への合わせこみ」を実施している(に違いない)とてもわかりやすい例だったからです。ともあれ、まずは、下記に引用してあるニュースの動画(5分ぐらいです)をご覧ください。

http://jp.techcrunch.com/2013/09/18/20130917disney-researchers-create-a-way-to-make-geared-figures-that-look-amazingly-life-like/

いかがでした?タイトル通り歯車と棒だけで、滑らかな動きがいともたやすく再現できることに驚きませんか?動画説明の順番がわかりやすいので、簡単におさらいしてみましょう。

①    20秒あたりに“Parameter Space Exploration”というタイトルとともに、歯車の径、位置や棒の長さと結合位置を変化させると、終点のカーブが変わる場面がでてきます。歯車の径、棒の長さ、結合位置というパラメータが決まると、動作シミュレーション(といってもこの場合簡単な幾何関数ではありますが)が行われ、その出力値であるカーブ座標が得られるということです。順問題として見ていることになります。

②    40秒のところからは、“Assembly Database Curve Queries”とあり、カーブを包含する領域をざくっと決めるとそれを導く歯車の棒の組み合わせが出現します。ここには事前に用意されたライブラリからふさわしいモデルを選択するAI的な機能とDBがあることをうかがわせます。まずは大ざっぱに”モデルを選択する”というステップになります。絞り込みのプロセスと考えていいでしょう。

③    1分5秒の画面に、”TARGET CURVE”というタイトルとともに、赤いターゲット曲線に正確に合うように歯車の大きさや位置、棒の長さを変化させる様子が出てきて、1分48秒あたりまでいくつかのパターンが示されています。ここが、まさにパラメータ同定、いわば逆問題を解いているところです。ここのからくりは、TARGET CURVEと与えられたモデルの曲線との面積差分を計算し、その面積が最少(すなわちゼロ)になるような、歯車の位置と径、棒の長さ、結合位置というパラメータを、最適化アルゴリズムで求めるというロジックになってるはずです。

④    1分50秒からは、犬が走る足の動きの軌道形状を設定する様子が見られます。“Phase Shift Manipuration”で四足のタイミングを合わせるために、ギアじょうの開始位置を調整しています。2分30秒からはいろんな動物のうごく様子が示されていて楽しいです。

コメントを引用しましょう。

デザイナーは動かそうとする部品のデザインを入力し、続いていくつかの点を指定して、それぞれのの大まかな動作曲線を描く。ソフトウェアはデータベースからその動作を実現するもっとも近い歯車と連接棒の組み合わせを提示する。デザイナーはその後シミュレーション機能を用いて修正を加え、所望の動きを正確に実現するメカニズムを完成することができる。

数式は簡単ですし、パラメータは歯車の位置と径、棒の長さ、結合位置ぐらいなので、高々7~8個、最適問題としては簡単な部類です。数十回ぐらいの最適探索計算であっという間に解けてしまうはずです。シミュレーションを仕事で活用されている方にとっても、たいへんわかりやすいパラメータ同定の例だと思うのですね。歯車と棒の動きを、シミュレーション・ソフトに、TARGET CURVEを実験結果や目標性能と置き換えることで、アナロジーとしてはまったく同じ考え方で適用できてしまいます。

ただ、実際の設計問題はもちろん、パラメータは多いし、計算時間はかかるし、合わせ込むケース数もたくさんありますから、そう単純ではないと思いますが、実用として使われているシミュレーション・モデルには、必ずこの技術が一度は適用されているということを、お伝えしておきたいと思います。それは、開発ベンダーが実施して標準モデルやライブラリとして提供されている場合もあれば、社内のエキスパートが苦労して実施する場合もあれば、誰かがどこかで行っています。実験と(それなりに/ある程度/かなり厳密に)合うという検証を経て使われているのです。

この記事を、前々回と前回といっしょに読んでいただけると、紹介した事例の素晴らしさと面白さがわかると思います。

【デザインとシミュレーションを語る】27 : シミュレーション(CAE) の精度向上という根本問題ーその1

【デザインとシミュレーションを語る】28 : シミュレーション(CAE) の精度向上という根本問題ーその2

【SIMULIA 工藤】

バックナンバー

【デザインとシミュレーションを語る】第一回:イントロダクション 【デザインとシミュレーションを語る】第二回:シミュレーションの分類 【デザインとシミュレーションを語る】第三回:シミュレーションは実験と比べて何がいい? 【デザインとシミュレーションを語る】第四回:シミュレーションは緻密な統合技術 【デザインとシミュレーションを語る】第五回:リアルとバーチャルの垣根をなくせたら?(1) 【デザインとシミュレーションを語る】第六回:リアルとバーチャルの垣根をなくせたら?(2) 【デザインとシミュレーションを語る】第七回:3D-CADは何のため? 【デザインとシミュレーションを語る】第八回 : CAE を志す人へのメッセージ(1) 【デザインとシミュレーションを語る】第九回 : CAEを志す人へのメッセージ(2) 【デザインとシミュレーションを語る】第十回: ソフトウエア・ロボットの誕生 【デザインとシミュレーションを語る】第十一回: 作業を自動化すること、その真の価値とは 【デザインとシミュレーションを語る】第十二回: “自動化を進めると設計者が考えなくなる?"への回答 【デザインとシミュレーションを語る】第十三回 : パラメトリック性の本質は新しい組み合わせ 【デザインとシミュレーションを語る】第十四回 : Zero Design Cycle Timeの衝撃 【デザインとシミュレーションを語る】第十五回 : 「設計とは最適化」の奥深い意味を教えてくれた技術者 【デザインとシミュレーションを語る】第十六回 : スーパーコンピュータで行われていた大量の計算とは 【デザインとシミュレーションを語る】第十七回 : 最適設計支援ソフトウエアの衝撃的な登場 【デザインとシミュレーションを語る】第十八回 : サンプリングって、偵察のことです 【デザインとシミュレーションを語る】第十九回 :  設計空間でシミュレーションを考える 【デザインとシミュレーションを語る】第二十回 : 安易に使うと誤解を招く言葉“最適化 【デザインとシミュレーションを語る】第二十一回 : 世の中すべてはトレードオフ問題 【デザインとシミュレーションを語る】第二十二回 : Optimization、Trade-off、Synthesis 【デザインとシミュレーションを語る】第二十三回 : 最適解は失敗の学習結果 【デザインとシミュレーションを語る】第二十四回 : ”設計とは逆問題”のココロは?(1)-森を見る利点 【デザインとシミュレーションを語る】第二十五回 : ”設計とは逆問題”のココロは?(2)-解空間から設計空間を絞り込む 【デザインとシミュレーションを語る】第二十六回 : 100倍性能の高いコンピュータがあったら?―森と木の視点 【デザインとシミュレーションを語る】第二十七回 : シミュレーション(CAE) の精度向上という根本問題ーその1 【デザインとシミュレーションを語る】第二十八回 : シミュレーション(CAE) の精度向上という根本問題ーその2

読者登録はこちら

ブログの更新情報を毎月お届けします

読者登録

読者登録はこちら