[choreonoid-users-ja 00038] Re: キーフレームからmotionを作成する際の動作について

Shin'ichiro Nakaoka s.nakaoka @ aist.go.jp
2012年 7月 24日 (火) 09:35:38 JST


小島さん

中岡です。

本件ですが、以下の修正が今回リリースした1.2.0に入っていますので、よろし
ければお試しください。小島さんが最初に作られたデータでも、補正が効くよう
になると良いのですが…。

以下の2については、バランサに関するツールバーの設定ボタンを押すと出てく
る「ボディモーション生成の設定」で「腰高さの緩和」にチェックを入れておく
と、効くようになります。まだ実験的なもので、補正処理の速度も遅くなってし
まいますが、もし足が伸びてしまうようでしたら、こちらもお試しください。


(06/22/12 12:00), Shin'ichiro Nakaoka wrote:
> 
> 小島さん
> 
> 産総研の中岡です。
> 
>> 1.motionではzmpがノイズが入ったように何回も瞬間的に支持平面からかなり離れた場所に表示される
>> 2.motionでのロボットの2次元位置がキーフレームでの位置とかけ離れたところに勝手に移動する瞬間がある
>> 3.motionでの姿勢が直感的にバランスがとれていない(悪魔で直感的に)
> 
> ご指摘ありがとうございます。
> また、面倒をおかけしてごめんなさい。
> 
> 原因はいくつかあって、なんとかしたいと思っていたのですが、
> 実はこれも今行なっている研究でも何とかする必要があり、
> ちょうと昨日、ほぼこの症状を抑える改良をすることができました。
> 
> 主な原因は、以下の2点でした。
> 
> 1. 垂直方向の重心加速度が重力加速度に近くなったり、超えたりする場合に、
> 扱えなくなる
> 2. 補正のための腰水平移動で、脚のIKが届かなくなると、脚の動きもおかしく
> なるが、それによって加速度にも悪影響があり、バランス補正も破綻する
> 
> 1については、そもそもZMPは(正の)床反力があることが前提の概念なので、
> 床反力が微小になったり、(あり得ない)負になったりすると、計算が破綻しま
> す。つまり、身体が浮いたり、足裏が床と接着しているかのような軌道が瞬間的
> にも含まれていると、破綻する可能性があります。お恥ずかしいことに、以前の
> コードではこのことの考慮がほとんどされていなかったのですが、そこを適当に
> 考慮して、破綻もしないような改良をしてみました。
> 
>> 同じキーフレームを0.4秒ごとに送ると症状が無くなりはしないものの、かな
> り軽くなります。
> 
> そうですね、これも動きを遅くすることで重心の垂直加速度も小さくなるので、
> 症状がおさまったのだと思われます。
> 
> 2についても以前よりなんとかしたいと思っていたのですが、とりあえず適当な
> 補正を入れることで、破綻を防ぐことができてきました。
> 
> ただ、昨日試したばかりですので、まだ問題があるかもしれません。
> もし問題がなさそうでしたら、以上の改良を行ったBalancePluginについて、次
> 期バージョンに含めたいと思いますので、よろしくお願いします。
> 
> ちなみに次期バージョンのリリースは、なるべく早く行いたいと思っているので
> すが、Humanoids2012の締め切りが伸びたため、その後で手をつけることになり
> そうです。次期バージョンではOpenHRP3と同様のシミュレーションをより快適で
> きるようにもなります。
> 
> すみませんが、以上よろしくお願いいたします。
> 
> 
> (06/18/12 01:54), KUNIO KOJIMA wrote:
>> 小島です。
>>
>> 度々、失礼いたします。
>>
>> 以前述べたとおり、bvhをpseqに変換してchoreonoidで読み込もうとしています。
>> 足裏フィッティング補正は限られた状況にてどうにかできるようになり、キーフレームからmotionを作成することができましたが、
>> 作成したmotionで表示されるzmpとロボットの動きがどう考えてもおかしなものになってしまいます。
>>
>> 詳しい症状としては、
>> 1.motionではzmpがノイズが入ったように何回も瞬間的に支持平面からかなり離れた場所に表示される
>> 2.motionでのロボットの2次元位置がキーフレームでの位置とかけ離れたところに勝手に移動する瞬間がある
>> 3.motionでの姿勢が直感的にバランスがとれていない(悪魔で直感的に)
>> です。
>>
>> ちなみに元のbvhのframe-timeが0.025なので、キーフレームを0.025秒ごとに送っていましたが、
>> 同じキーフレームを0.4秒ごとに送ると症状が無くなりはしないものの、かなり軽くなります。
>>
>> 原因として
>> キーフレームの最短周期が決まっている(zmpの計算的な意味で)
>> そもそもバランスの取り得ないキーフレームを送っている
>> 接地足が接地はしているが滑っている
>> ところどころ足が接地していない瞬間がある
>> などを考えていますが、よくわかりません。
>>
>> 何か解決策のある方はぜひご連絡ください。
>> また、ファイルのサイズ制限の関係で何も添付していませんが、
>> 言葉だけでは意味が分からないという方がいれば必要なファイルも添付いたします。
>>
>> よろしくお願いします。
>>
> 
> 


-- 
Shin'ichiro Nakaoka <s.nakaoka @ aist.go.jp>


choreonoid-users-ja メーリングリストの案内