質問コーナー No.2 どうやってモーション作っているの?」

No.1 2012/12/06 miconoさんより
「どこまで自動で何処からコントロール操作してるモーションなのかとか、どうやってモーション作っているのか、知りたくなります」 とのご意見を頂きました。

∞……∞……∞……∞……∞……∞……∞……∞……∞ 

 「・・・どうやってモーション作っているのか、」とのご質問に焦点を当てることで、その他のご質問にもお答えできると思います。

 ちなみに、いままでのコウヘイ君の全ての動作は、それぞれが一つのプログラムで完結しています。つまり、コントロール操作してるモーションはありません。モーションのパーツがたくさんできたら、コントローラで操作してみたいとと思っていますが、まだそのレベルに達していません。
 そのレベルになったら、またご紹介させて頂きたいと思っています。そのときには、また、見てやって下さい。

(話は戻って)クマゲラが行っている方法はこんな感じです。「こんなことやってんだ。へんなの?」くらいなノリで読んで頂き、何か参考になるものあれば、嬉しいです。

 大まかな手順としては、Step-1で全体のイメージを作り、部分(パート)に分割します。次に、Step-2でパートごとにモーションを作っていきます。このフェースがほとんどの作業となります。必要なパートのモーションができたら、Step-3でパートを連結しながら、接続の部分を作成(調整)していきます。最後に、Step-4で全体のバランスをみながら、細部の調整や、時間配分を調整します。

 言葉で話す(書く)とこんな感じになりますが、図で表したほうがイメージが分かるかも知れません。図で表すとこんな感じになります。

◆Step-1 イメージをつくる

先ず、「どんなことをさせたいか」をイメージします。 当然ですね、これがないと何もできないですね。

[全体をイメージする]

最初は、なるべく簡単なものがいいと思います。この段階では、まだ、大きなイメージです。鉄棒なら、『振り子から、逆上がりして、回って降りる。』とか。ブランコなら、『後ろに下がって、漕ぎだして、ブランコする。』なと゛、一連の動きをイメージします。
場合によっては、ブランコの漕ぐ部分だけでも良いかも知れません。

 空中ブランコなら、『上でブランコして、逆さになって振り子して、姿勢を戻して終わる。』くらいのイメージします。

[イメージをパートに分割する]

このときに、全体のイメージとともに、だいたい「何をどうする」そして、「次に何して」、「最後にどうする」といった部分(パート)に分けてイメージしていきます。
 

 例えば、空中フランコでは、『バーの上で前振りと後振りのブランコ、逆さで振り子でブランコ、フィニッシュで1回転』など、パートに分けてイメージを作ります。この段階では、パートの中身 はまだ詳細にはできていないと思いますが、それぞれのパートは2から3ステップ程度で構成できる程度のものがよいと思います。パートによっては、分割できないものもあると思いますが、目安として、6ステップ以上ある場合には、全体を二つに分割できるか検討してみたほうが良いかも知れません。

◆Step-2 パートをつくる 

パートごとにモーションを作っていきます。

 具体的には、パートの一つひとつについて、教示、モーションの記録、プログラム化、ステップごとの微調整、最後にパートの仕上げと行っていきます。

 ここでは、姿勢と教示を繰り返しながら、モーションを作っていきます。クマゲラ流では、細かい調整は、あとから何回も行うので、ここでは、「こんな感じ」くらいのイメージでパートの各ステップについてモーションを作成します。

 クマゲラ流では、作成する動作全てを教示とモーションエディタで作成して、モーションエディタでテストを繰り返しながら、モーション(動作)を仕上げていくことはしていません。

 逆に、パートごとにモーションを作って、その後は、プログラムエディタを用いて、ステップごとに調整(バラメータの修正と実行)を繰り返しながら、パート単位で完成させていきます。

 モーションエディタでいくつかのパートで構成されている比較的大きなモーションを作成していくと、後ろほうのモーションをテストする場合に、モーションエディタでは途中からのテストが難しいため、クマゲラは、パートごとに作成しています。

 モーションエディタでモーションの保存と読出しを行うとうまく行きそうな気がしますが、クマゲラのPCでモーションを保存の操作を行うと、モーションデータが保存されることなく、RXコントローラが終了してしまう不都合が頻発していたたため、このような方法になってしまいました。(本件は、PCとRXコントローラとの相性が悪いとのサポートさんの説明でした。)

 モーションエディタでテストを繰り返す方法は、工夫次第では、もっとうまくできる方法があるのかも知れません。
それぞれ、自分やり易い方法を探してみてください。また、「私は、こんな方法がいいよ。」がありましたら、是非、ご紹介頂けると嬉しいです。

バートごとのモーションの作成手順は、図で書くとこんな感じになります。

[モーションエディタでモーションを作る]

◇教示する

各パートのイメージをステップごとに教示を使って作成します。
 パートを構成する各ステップについて、教示を繰り返しながら、姿勢をイメージに合わせ込んでいきます。
 ここでは、イメージを可視化するとともに、イメージがロボゼロ君の構造上実現できないなど、イメージ自体の思い違いを見つけ、イメージの修正を行います。
 作成するモーションによりますが、上半身、下半身、腰などそれぞれの部分に分けて、教示を繰り返しながらモーション(姿勢)を作っていきます。

◇モーションを登録する

イメージに合った姿勢ができたら、モーションエディタに登録します。
 作成したモーションが後の操作でなくならないように、頻繁に登録することをお勧めします。


◇モーションを転記し、値を補正する

ステップごとにモーションができたら、データシートに(手で)転記します。このときのデータシートは、モーションの左右の値が対比できる様式のシートを使用しています。
 転記した後に、左右のデータの値と各サーボの姿勢を比べながら適切な値をつくります。
このとき、左右対称の姿勢であれば、左右同じ値にする、端数をまるめ、きりの良い数値にする。などの数値の調整を行います。

[プログラムエディタで仕上げる]

◇ブログラムに登録する

修正したモーションの値をプログラムエディタに転記します。プログラムエディタの[モーションデータの取り込み]で自動的に取り込んだ場合には、修正したモーションの値が反映していない(値の対称性や、端数の丸めなど)ようであれば、ここでその修正を行います。

◇ステップ毎に調整する

プログラムのステップごと(1行ごと)に、別のワーク用のプログラムにコピーし、そのステップの実行と修正を繰り返しながら、そのステップの各バラメータの値を修正していきます。(第6回のモーションの可視化のページも参考にして下さい。)

 ステップの値(姿勢)が、ほどほど満足のいくものとなったら、その都度、前後のステップと連続させて実行せます。そして、ステップ同士の移行の動きの確認を行います。ほとんどの場合、この段階で前後のステップも合わせて再度の調整が必要になります。

 当然、パートのステップが全て調整が終わったら、パートの全体を通して動きの確認と調整を行います。

◇パート毎に仕上げる

このように、それぞれのパートに関して、モーション作成、教示、モーション登録、モーション転記・修正、プログラム登録、ステップごとに調整・実行、パートを通して調整・実行を繰り返し、パートのレベルで完成度を上げます。

◆Step-3 パートを連結する 

パートごとに調整が終わったら、いよいよ最後の調整に入ります。ここでは、各パートを全て連続して、動作させ、パートとハートのつなぎの部分や、それぞれの時間配分やスピードなどの確認と調整をおこないます。

 ここまで来て、パートとパートのつなぎが悪いとか、うまくできないこともあります。そのようなときには、前のフェーズに戻り、うまくいかないパートを作り直すこともあります。

 このようなことが起こらないように、パートの最初のステップのモーションの値は、前のパートの最後のステップのモーションの値を使うようにしています。しかし、調整をしていくと、そのうちにこれらが変わっていってしまうことがよくあります。

 これは、たぶん、全体の動作のイメージがしっかりてぎていなかったり、途中で方針変更してしまうからです、また、場当たり的に作り込みをはじめ、状況次第で調整しなから、変更を繰り返していくうちに、大きなところで変わっててしまうために起こります。

 しかし、この変更は、至極当然のことと認識しています。作業を進めるに当たり、理解が進むため当初イメージしたものより、途中に変更を加えることで格段にいいものになっています。納得できるまで、変更や手戻りを加えることが、楽しみでもあります。

 吊り輪や空中ブランコの途中では、イメージが実現できない場面がいくつもありました。ブランコでさえ、かっこ(姿勢)はできても、全く振れないことから始まりました。「あれ~っ! これどぉすっか・・・・・。」そんなときには、早く寝ることにしています。

 そして、翌日またトライします。そんなことを繰り返していると、あるとき迷名(?)が解決してくれます。それを乗り越えた時の満足感たげを頼りに試行錯誤を繰り返します。正に自己満足の世界ですね。その過程が楽しくてやめられません。(また、横道にそれてしまいました。)

◆Step-4 全体のバランスをとる

ここまでくると、いくつかの山を越え、ほぼ完成の域に入りつつあります。全体の時間的なバランスや、動作の微調整の段階です。
ここで、ちょっとした変更が全体のバランスを崩してしまうこともあります。この段階では、頻繁に保存を繰り返し、いつでも元に戻れるような配慮が必要かもしれません。

「ちっとだけだからいつでも戻れるよ」みたいなノリで修正を加えていくと、イザというとき、元に戻しても「何か変だな?」となっては手遅れです。

∞……∞……∞……∞……∞……∞……∞……∞……∞
 
 
長文になってしまいました。文章にするとなかなか難しいものです。 舌足らずで、読みずらいところも多々あったと思いますが、意図は伝わったでしょうか。ご不明な点がりましたら遠慮なくお問い合わせ下さい。 また、「ここが変だよ。」 「私はこうやっているよ。」 「それならこうするといいよ。」みたいなご意見がありましたら、ご紹介頂ければ嬉しいです。
 お付き合い頂きありがとうございました。

0 件のコメント:

コメントを投稿