« 256b | メイン | ワンチャの歯 »

2006年02月11日

物理シミュの実装は難しい

「Springheadのソースを見ながら自分なりの実装ができるくらいには理解できたと思う」とか書きましたが、全然ダメだった…。締め切りまでに出来上がりそうにないので、Featherstone法はあきらめました。
論文が理解できるという段階と、実際に動くものが作れるという段階では、大きな開きがあるということを思い知りました。

物理シミュレーションの実装の困難さの一つの理由に、うまく動かないときに原因を探すのが難しいという事があります。
特に、連結剛体のシミュレーションの場合、複数の物体の相互作用により式が複雑になり、式の構成要素の意味があいまいで、その値を見ても正しいのか間違っているのか判別が難しいです。
また、本来連続的な時間の流れを、飛び飛びの時間の流れで近似しているため、プログラムにバグがなくても、パラメータ次第で不安定な動作になることもあります。

今回の仕事ではまともなデバッガが使えないので、いわゆる printf デバッグになっているのも、より状況を困難にしています。
パラメータを観察しながらステップ実行していけば5分で簡単に見つかるようなバグが、printf を仕込み再コンパイル→実行 を何度も何度も繰り返し、数時間かかってしまいます。

全員に一本くれとは言いませんが、チームに一本くらいデバッガを買っておいて欲しいものです。
今度、別の仕事するときは絶対そう主張しようと固く誓うのでした。

投稿者 sike : 2006年02月11日 23:47

トラックバック

このエントリーのトラックバックURL:
http://ashiato.jp/mt33/mt-tb.cgi/56

コメント

コメントしてください




保存しますか?