Octaveによる計算歩行の確認

Posted at 06/07/15

逆運動学の中でも足の長さを同じにした簡易計算歩行としてまずはこちらからトライしてみようと思います。

これが既に第3回のテクニカルカンファレンスで紹介されていたんですね。
規定演技が「走る」や「うさぎ跳び」だというのに私はまだまだROBO-ONEの歴史の復習中といった感じです。

OctaveにてどのようにCで実装するかを検討してみました。
とりあえずあまり難しいことは考えずに、パラパラ漫画方式のパラメータを計算で算出する方向で計算してみました。

直立→左足前上げ→左足接地→右足後上げ→右足中上げ→右足前上げ→右足接地→左足後上げ→左足中上げ→左足前上げへ・・・

といった感じでそれぞれのポイントでの足の関節角度を計算で算出しています。前と後ろに開く歩幅は同じ、両足の重なったときの足の高さが一番高くなるように計算してみました。みなさんはこのあたりはどのように計算されているんでしょうかね?それからとりあえずXZ方向の計算だけを確認してみました。Y方向はゆらゆらゆれるだけなのでこのような確認はいらない気がします。

それにしてもOctaveってすごいです。しちめんどくさい行列計算とか三角関数計算とか
さらさらっと書くだけでこんな風に確認できるんですから。
正直いって数学はあまり好きではないのですが、こうやって目で見える形でわかると
計算式の確認とかもいつもよりは気合をいれてやれます。おかげで理解も深まりました。

まだまだナゾが多くてなんとなくで使っているのですがこのまま
Cで実装できたらよいのにと思うほどです。

とりあえずこんな感じです。当たり前ですが歩幅や足上げの数値を変えればいろいろな動作を生成できます。描画の仕方を工夫して前に進んでいるかのようにしてみました。ちょっとずれているところもありますが雰囲気が大切ってことで深追いしていません。なんとなく左から右へ2歩歩いているような感じなのがわかりますでしょうか?

歩幅=40mm 足上げ=30mm

X40mm_z30mm

歩幅=60mm 足上げ=20mm

X60mm_z20mm

歩幅=80mm 足上げ=40mm

X80mm_z40mm

スポンサードリンク