4L1、6L1共にサーボモーターを最大負荷に近いところで使っていますので、
特に体重を支えるサーボは無負荷で動かしたときより大分ずれた位置に止まります。
このズレを考慮して、沈み込みの分だけ足先の移動目標位置を加減することにより
力を加減しています。こうして1本の足が地面から浮くようなこと無しに
全ての足を同時に接地できます。同様な考え方で車輪と足に加重を分配することも行いました。
今後の課題としては、積極的に各脚の負荷配分を制御し(力を加減し)不整地の走破性を
高めて行きたいと考えています。
軌道を使った歩行プログラムの処理の流れは、以下のようになっています。
1.軌道を発生する。
2.軌道上の点を取り出す。
3.足先が軌道上の各点に来る関節角度を求める。(計算手順の説明)
4.各関節角度に対応するサーボデータを求める。
5.軌道上の点列の順にサーボへサーボデータを出力する。
滑走歩行
不整地歩行
通常の歩き方
この歩き方では、支持脚を切り替える時以外は2本脚で立つような形となります。 また、4L1の足先はスポンジの半球になっており、また動的にバランスをとる 制御も行っていないため遊脚(前に送っている途中の脚)の足先は遊脚サイクルの 半分くらいの間地面をこすっています。
しかし、足先を持ち上げる高さが数ミリ程度の場合は、自重のほとんどが支持脚に かかるため、支持脚の足先接地点を結ぶ線を、ロボットの重心が横切るときの姿勢変化 も、こすっている足の摩擦も小さなものとなるため歩くことが出来ます。
直進
- 旋回半径を決める
- 旋回中心を決める
- 1サイクルの移動距離を決める
- 1サイクルの移動距離で旋回円の周上を進むときの中心角を求める
- 旋回中心から各足先を通る円を描き、その円周上で上の中心角の円弧の長さを求める。
- 足先の円弧を接地部分とする足先軌道を生成する
- 全ての足先軌道を同じポイント数に分割する
緩旋回
超信地旋回
1.”旋回の中心”(接地中の足が作る3角形の内側)を決めます。下図では、緑色の線が軌道の接地部分になります。 例では、「ロボットの中心」を「旋回の中心」としていますので、 ロボットの中心は移動しません。 パワーショベル等が、左右の覆帯を逆方向に回転させた時の様に旋回します。
2.接地中の足が作る3角形を、”旋回の中心”を中心として回転させます。
(この時に3角形の各頂点が描く軌跡が、足先軌道の接地部分となります。)
3.脚先が接地せずに移動する部分を計算する。