[choreonoid-users-ja 00025] Re: 足裏フィッティング補正のやり方について

Shin'ichiro Nakaoka s.nakaoka @ aist.go.jp
2012年 6月 22日 (金) 19:39:09 JST


小島さん

産総研の中岡です。
すみません、MLのチェックをしばらく忘れていました。

> 自由度が足りなかったり、接触している足の判定(私の場合は元データがbvhでセンサ情報はないので)が難しかったりといった理由で、
> まだ、全然ダメですが、全キーポーズの6割くらいは足がきちんと接地するようになりました。

トライしていただいたようで、ありがとうございます。
実は私も以前の研究の時に、この点でも苦労しました。
元の動きが行儀良いものだとやりやすいのですが、少し複雑になってくると、難
しくなってしまいますよね。
実は私も今行なっている研究で、またこの問題に直面しております。

> 足裏が床面と接地はしているが、滑りを含む場合、choreonoidはバランス補正の面ではどのような処理を行うのか。

滑りに関しては、今のところ前提として想定していません。
滑りが入ってくるとZMPだけでは正確に扱えなくなるので、なかなか難しい問題
です。とりあえず、滑りがあろうと、支持領域内にZMPを拘束することで、そん
なに滑りが激しくなければそこそこ動くとは思うのですが、保証はありません。

> motion作成の際に、自己干渉を検知する(緑色の線が表示される)だけではなく、干渉を自動で解決するchoreonoidのツールはあるのか。(少し調べた感じだと見つかりませんでした)

すみません、これも今のところありません。
実はここのところもなんとかしたいと思って、今研究を進めてます。
しかし、今のバランス補正機能のように瞬間的に補正していくというのは、なか
なか難しいかと思います。

というわけなのですが、これらの課題を解決する手法を研究していただけると、
とてもよいと思います。


(06/15/12 04:19), KUNIO KOJIMA wrote:
> 小島です。
> 
> 米倉さんのやりかたを参考にして足裏フィッティング補正を自ら行ってみています。
> 自由度が足りなかったり、接触している足の判定(私の場合は元データがbvhでセンサ情報はないので)が難しかったりといった理由で、
> まだ、全然ダメですが、全キーポーズの6割くらいは足がきちんと接地するようになりました。
> 
> ここまできて、以下のような疑問点ができました。
> 足裏が床面と接地はしているが、滑りを含む場合、choreonoidはバランス補正の面ではどのような処理を行うのか。
> motion作成の際に、自己干渉を検知する(緑色の線が表示される)だけではなく、干渉を自動で解決するchoreonoidのツールはあるのか。(少し調べた感じだと見つかりませんでした)
> 
> 以上2点について、ご存知の方はご連絡いただけると幸いです。
> 
> 追伸
>> bvhファイルからpseqファイルへのコンバートができたら,とっても
>> おもしろそうですね!Perfumeダンスとかも読み込めるようになるのかな??
> はい、手ごろなので、今はまさにPerfumeダンスのbvhを読み込み対象として用いています。
> 
> 
> 2012年6月7日 17:54 Kenta Yonekura <yoneken @ ni.aist.go.jp>:
>> 小島さん, 中岡さん
>>
>> 横合いから失礼します.
>> 筑波大の米倉です.
>>
>> bvhファイルからpseqファイルへのコンバートができたら,とっても
>> おもしろそうですね!Perfumeダンスとかも読み込めるようになるのかな??
>>
>>
>> 前に僕がKinectからChoreonoidにポーズを読み込ませた時(SI2011)は,
>> 接触センサを用いて床面と足の接触を判定し,接触している足について,
>>
>> ・リンク姿勢は床面と並行
>> ・z位置はロボットのデフォルト足リンク高さ
>>
>> という補正を行いました.
>> pseqファイルで言うと,例えば,右足が接地している場合,refer:ikLinks:を以下のように補正します.
>>
>> name: R_ANKLE_R
>> index: 6
>> translation: [ 任意のx座標, 任意のy座標, 0.021(GR001のデフォルト足リンク高さ) ]
>> rotation: [
>>  cosθ, -sinθ, 0,
>>  sinθ, cosθ, 0,
>>  0, 0, 1 ](θはz軸まわりの回転角)
>>
>> あと,refer:q:の対応する関節角度も補正する必要がありそうですが,僕のときは
>> Choreonoidのプラグインで実装してしまって,そっちは触らなかったので,よくわかりません.
>>
>>
>> これだけでも,おそらくGR001のような足裏が大きく,摩擦が少ない機体であれば
>> 動作すると思います.
>> 僕の場合は,これに加えて,”足が接触している間は足の姿勢を動かさない”という
>> 拘束を入れる必要がありました.
>> ロボットは人のように,接触している足を床面で滑らせる(擦り足)ができないので..
>>
>> 参考になれば幸いです.
>>
>> よろしくお願いします.
>>
>>
>>
>> On Thu, 07 Jun 2012 16:18:38 +0900, KUNIO KOJIMA <kunio.einstein @ gmail.com>
>> wrote:
>>
>>> 中岡さん
>>>
>>> 小島です
>>> 丁寧なご返事、ありがとうございました。
>>>
>>>>> しかし、GR001のモデルにて添付した画像のように足裏を地面にめり込んだり、斜めに接地したりしたキーポーズを入力して
>>>>> Motionを作成しましたが、motionでも足裏は地面に綺麗に接地しないままでした。
>>>>
>>>>
>>>> すみません、斜めに接地しそうなのをなめしながらちゃんと接地させる機能は、
>>>> まだ完全に実装できていないところがあり、公開版では簡易的な機能としています。
>>>
>>> 分かりました。
>>>
>>> 簡易的な機能についてですが、
>>> 今回はbvhファイルからpseqファイルを作ってchoreonoidで読み込んで、
>>> 足裏フィティングやZMP補正を行ったmotionを作成しようとしています。
>>> 全てのキーポーズ(0.025secごと)について、手作業で足裏フィッティングを行うのは大変なので、
>>> 残念ながら簡易的な機能を用いるのは少し難しく、足裏フィッティングに関しては別の方法で対処することになると思います。
>>>
>>> では、足裏フィッティング補正が公開されるのをお待ちしています。
>>>
>>>
>>>
>>> 2012年6月6日 19:59 Shin'ichiro Nakaoka <s.nakaoka @ aist.go.jp>:
>>>>
>>>>
>>>> 小島さん
>>>>
>>>> 産総研の中岡です。
>>>> 先ほどのご質問への回答です。
>>>>
>>>>> しかし、GR001のモデルにて添付した画像のように足裏を地面にめり込んだり、斜めに接地したりしたキーポーズを入力して
>>>>> Motionを作成しましたが、motionでも足裏は地面に綺麗に接地しないままでした。
>>>>
>>>>
>>>> すみません、斜めに接地しそうなのをなめしながらちゃんと接地させる機能は、
>>>> まだ完全に実装できていないところがあり、公開版では簡易的な機能としています。
>>>>
>>>> やり方ですが、「貫通ブロック機能」を用います。
>>>> このやり方を事前設定も含めて以下説明します。
>>>>
>>>> ・WorldItemを作成し、その中にロボットモデルのBodyItemと、適当な床モデル
>>>> (share/model/misc/floor.wrl等)のBodyItemを小アイテムとして入れておく。
>>>>
>>>> ・WorldItemの「干渉検出」という属性を「プロパティビュー」にて"true"とし
>>>> ておくと、WorldItemが含むBodyItem間で干渉検出を行うようになる。
>>>>
>>>> ・WorldItemのチェックを入れた上で、さらにシーンビューのツールバーにあ
>>>> る、「干渉線の表示」(緑の爆発みたいなアイコン)をオンにすると、モデル間
>>>> の干渉を緑色の線で表示するようになり、干渉検出がオンになっていることを確
>>>> 認できます。ただ、見にくくなるようでしたら、オフにしておいて結構です。
>>>>
>>>> ・キネマティクスツールバー(FKやIKを切り替えるバー)にある、「貫通ブロッ
>>>> クモード」というボタンをオンにしておくと、干渉が生じた時にそれ以上その方
>>>> 向に動かせなくなります。
>>>>
>>>> ・後は、足裏面を水平にする必要があります。これをやるには、シーンビュー上
>>>> で足のリンクを右クリックして、「水平姿勢に」というメニューを実行します。
>>>>
>>>> というわけで、上記の必要な設定をした上で、設置させたい足をまず水平姿勢に
>>>> し、その後床の方にドラッグすることで、いちおうフィッティングを行うことが
>>>> できます。また、「ボディ/リンク」ビュー上では対象リンクのIKを数値入力で
>>>> 行うこともでき、ここでZ軸座標を床方向に変化させてやることで、より正確な
>>>> 足裏位置の調整/フィッティングができます。
>>>>
>>>> また、床モデルは必ずしも表示させなくてよいので、私は通常床のアイテムの
>>>> チェックを外して、表示をオフにして使っています。その際に、キネマティクス
>>>> バーの「干渉リンクのハイライト表示」というのをオンにしておくと、接地して
>>>> いるときに足が黄色くハイライトされて、分かりやすいかと思います。
>>>>
>>>> 以上のようになっていますが、少々ややこしく、ホームページも説明不足ですみ
>>>> ません。
>>>>
>>>>> 現在、choreonoidを用いてロボットのダンスモーションを作成しようとしています。
>>>>
>>>>
>>>> ありがとうございます。
>>>> おもしろいモーションが出来たらお知らせいただけるとうれしいです。
>>>>
>>>> 以上よろしくお願いいたします。
>>>>
>>>>
>>>> (06/06/12 06:28), KUNIO KOJIMA wrote:
>>>>>
>>>>> はじめまして、小島と申します。
>>>>>
>>>>> 現在、choreonoidを用いてロボットのダンスモーションを作成しようとしています。
>>>>>
>>>>> 産総研のホームページ
>>>>>
>>>>> http://www.aist.go.jp/aist_j/press_release/pr2010/pr20101016/pr20101016.html
>>>>> にて、choreonoidでは足裏フィッティング補正がなされると知りました。
>>>>>
>>>>> しかし、GR001のモデルにて添付した画像のように足裏を地面にめり込んだり、斜めに接地したりしたキーポーズを入力して
>>>>> Motionを作成しましたが、motionでも足裏は地面に綺麗に接地しないままでした。
>>>>>
>>>>> キーポーズは公式サイトのチュートリアルビデオと同じ操作をしたつもりです。
>>>>> 作成したファイルは添付いたしました。
>>>>>
>>>>> どのように操作すれば、足裏が地面に面と面で接するようになるでしょうか。
>>>>> よろしくお願いします。
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> choreonoid-users-ja mailing list
>>>>> choreonoid-users-ja @ choreonoid.org
>>>>> https://choreonoid.org/mailman/listinfo/choreonoid-users-ja
>>>>
>>>>
>>>>
>>>> --
>>>> Shin'ichiro Nakaoka <s.nakaoka @ aist.go.jp>
>>>> _______________________________________________
>>>> choreonoid-users-ja mailing list
>>>> choreonoid-users-ja @ choreonoid.org
>>>> https://choreonoid.org/mailman/listinfo/choreonoid-users-ja
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Kenta Yonekura
>>
>> Visiting Student, Humanoid Research Group,
>> Intelligent Systems Research Institute,
>> National Institute of Advanced Industrial Science and Technology (AIST).
>>
>> Ph.D Student, Humanoid Laboratory (Yokoi Lab.),
>> Department of Intelligent Interaction Technologies,
>> Graduate School of Systems and Information Engineering,
>> University of Tsukuba.
>>
>> Research Fellow of the Japan Society for the Promotion of Science(DC1).
> 
> 
> 


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


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