2003/04/21 【アクチュエータ編TOPに戻る】
モーメントの基本についての最後は、ロボットが左右方向に体重移動を行う時のモーメントについて考えて見ましょう。2足歩行ロボットでは、必ず支持脚に体重を載せ、遊脚を持ち上げて前に振り出すことで歩行を行います。支持脚に体重を載せるとき、支持脚の足首やモモの付け根には、どのようなモーメントが加わるのでしょうか。また、片足立ちで静止するためには、どのような条件が揃っていなければいけないのでしょうか。これらについて考えることができれば、今までの記事と合わせて、足腰の各関節に必要な最低限のトルクが求められることになります。左右方向の体重移動については簡単そうに見えますが、なかなかの奥深さを感じます。
203−1.左右の体重移動とは
左右に体重移動を行うということはどういうことなのでしょう。
![]() |
左の図は日曜大工で作ったイスです。腰掛け部分の木が2本の脚で支えられて立っています。腰掛けと脚とは、それぞれ黒いクギ1本で止めてあるだけなのでちょっと頼りないように見えますが、実はその通りで腰掛けと脚は物凄くにグラグラしてます。 それでも脚を真っ直ぐにしてバランスを取っているので、辛うじて立っている状態です。
|
![]() |
これを横からちょっと押して見ると、左図のように一気に傾いて倒れようとします。このまま放っておくと、脚は完全に倒れて腰掛け部分が地面に落ちてしまうということは容易に想像できます。 左図のように倒れようとしている時、イスにはどんな力が加わっているのでしょうか。
|
![]() |
脚の重さをそれぞれW1、腰掛けの重さをW2とし、それらの重心位置を青いポイントで示したのが左の図です。 腰掛けと脚との関係は、止めてあるクギ(関節軸)を中心にしてグラグラ(自由に動く)なので、1本の脚に加わる重力はW1とW2/2だけと考えられます。更にこれが左図のように傾いているので、脚の一番下の部分では、これらの重力によるモーメントが発生していることになります。201.屈伸運動時に加わる各関節のモーメントのページを参照して下さい。
|
さて、見た目は歩き出そうとするロボットの格好に似ていますが、倒れかけたイスの動きは体重移動とはいえません。なぜなら、両脚の接地部分(足の裏)に掛かる力は、完全に倒れるまで左右とも同じだからです。そもそもバランスを崩して倒れるだけの機構では、全く意味がありません。
![]() |
ここで、倒れかけているイスのクギの部分を瞬間接着剤で固めてしまいましょう。この時、3個の重心によって右足の裏を軸としたモーメントと、左足の裏を軸としたモーメントが発生します。 右足の裏を軸としたモーメントは左回転方向に働き、左足の接地によって支えられて打ち消されます。同様に、左足の裏を軸としたモーメントは右回転方向に働き、右足の接地にって支えられて打ち消されます。したがって、多分この姿勢でのイスは倒れることなく、このまま立っていられることでしょう。
|
![]() |
では、左図のあたりまで傾いたときに瞬間接着剤で固めたとするとどうでしょう。向かって左足の裏を軸としたモーメントは、今度は先ほどとは逆の左回転方向に働き、そのままの姿勢で左側に倒れ込む結果になるでしょう。 単純に言うと全体の重心が支持面から外れるために、バランスを崩して倒れてしまうということですが、それはモーメントが姿勢の変化によって軸足の内側から外側に変化したということです。つまりこの過程が左右への体重移動ということになります。 |
■片足立ちの姿勢を取るには...
脚の傾きを微調整できると、軸足に掛かるモーメントを左右均等にしてゼロにすることができます。遊脚を持ち上げた状態で支持脚に掛かるモーメントが左右均等にできれば、その姿勢が片足立ちの状態であるということになります。
ただし、上図のように足の裏が丸い形のものを片足立ちさせるには、非常に高度なバランス制御が必要になるはずです。それは、接地部分を点で支えることになるためで、ちょっとした振動やガタなどの影響ですぐにモーメントは均等ではなくなり、微小な不均衡がすぐに増大して大きくバランスを崩すためです。
では、もう少し楽に片足立ちさせるためにはどうしたら良いのでしょう。答えは簡単で、足の裏を面にすることです。つまり、私たちと同じ「足」を付けることです。接地部分を面で支えることによって、ごく微小なモーメントの不均衡を足首のトルクで支えることが出来るようになります。自分の足の裏を見れば分かりますが、横幅はそんなに広くありません。2足歩行ロボットにしてみても、前後方向の幅に比べると狭く作るのが一般的と思います。片足立ちで静止するときの条件として、体全体の重心の投影点が支持面の内側になければなりません。足裏の横幅が狭いということは、そもそも重心を崩しやすいという構造的な特徴があり、それは足首の左右方向はそれほど大きなトルクを必要としないことを意味します。つまり、足首の左右方向のトルクと足裏の横幅の寸法は、片足立ち姿勢で静止するときに、どれくらいまでの左右モーメントの不均衡を補正させる必要があるかで決まると言えます。
■体重移動の途中の場合は...
では、体を傾けて左右の体重移動を行っている途中の状態はどうでしょう。この状態では、まだ片足に体重が乗り切らずに、両足に体重が乗っているはずです。この時に姿勢を維持するために必要なのが太モモの付け根の関節のトルクです。極端な話をすると足首の左右方向のトルクは必要ありません。それは上のイスの絵を見て頂けると分かるかと思います。イスに足首はありませんから...
つまり、太モモの関節トルクが弱いと、始めにご紹介したグラグラなイスと同じく姿勢が保てずに倒れるだけのロボットになります。逆に十分なトルクで姿勢が維持できれば、瞬間接着剤で固めたイスと同じく、左右への体重移動を実現することができます。
太モモの関節トルクは直立状態で最小のゼロで、体重移動を行うにしたがって増え、軸足に体重が乗り切ったところで最大になります。細かい話をすると、足裏の横幅と足首の左右方向のトルクで支えることができる範囲の「更なる体重移動分」が最大ということになるのでしょうが、それを超えるとロボットはバランスを崩して倒れてしまうので、それ以上のトルクは不要ということになります。なので、太モモの関節のトルクは、軸足に体重が乗り切った状態、つまり片足立ちの姿勢が保てるトルクが最低限必要であるという事ができます。
203−2.モーメントの計算式
では、以下のモデルを使って正面から見た時の左右体重移動時に掛かる各関節のモーメントを計算してみましょう。なお、モーメント計算の基礎的な解説は201.屈伸運動時に加わる各関節のモーメントのページでご紹介していますので、先ずはそちらを参照して下さい。
また、BROKENさんのBROKEN'S Advanced Vehicle Laboratoryでも詳しい解説が載っていますので、ご参照下さい。
![]() |
![]() |
左の図が正面から見たロボットのモデルです。 各部には以下のような名前を付けています。 W1:スネの重量[Kg] L1:スネの長さ[cm] l1:スネの重心位置[cm] W2:モモの重量[Kg] L2:モモの長さ[cm] l2:モモの重心位置[cm] W3:上半身の重量[Kg] l3:上半身の重心位置[cm] L4:両脚の間隔[cm] θ1:体重移動の傾斜角度[度]
|
上でご紹介したモデルにおける各関節モーメントの計算方法は、201.屈伸運動時に加わる各関節のモーメントと同じ考えに基づきます。本来は、直立姿勢から少しずつ体重移動をさせて行き、片足立ちさせて遊脚を持ち上げてゆく、などといった一連の動作におけるモーメントを連続的に計算させたいのですが、それは意外と難しく今の力弥の頭では追いつきません。ここでは支持脚だけに体重が乗っていることを前提とした計算を行います。また、支持脚の足は地面に根が生えている(固定されている)という前提で計算します。更に、支持脚と遊脚の傾斜角度は常に一定として計算します。つまり両脚と地面と腰で囲まれる部分は常に平行四辺形を維持することを前提としていますので、ご了承下さい。
前回の202.片足立ち時の各関節のモーメント(側面)のページで調子に乗り、パラメータの自由度を多くしてしまい非常に疲れたため、今回は大分手抜きをさせて頂きます。すみません...この記事では、モーメントの最大値の目安を探るという趣旨なので、目的は達成できると思います。(^^;;;
以下に、各関節のモーメントの意味合いについてお話しますので、計算式を参照したい方はリンク部分をクリックしてください。
■ポイントP1 支持脚足首の総モーメント 計算式はここをクリック
支持脚の重心W1とW2、遊脚の重心W1とW2、および上半身の重心W3によるモーメントが全て掛かります。なので、それぞれのモーメントを個別に計算した総和で求めます。足に根が生えているという前提なので、急な傾斜角にするほど算出されるモーメントは大きくなります。実際にそれだけの傾斜角度まで補正したい場合には、足首のサーボのトルクをそれに見合う仕様にし、足の横幅も広げる必要があります。
■ポイントP2 支持脚太モモ股関節部分のモーメント 計算式はここをクリック
片足立ちで足首によって支持脚のスネと太モモがしっかり固定されている場合、支持脚の股関節には遊脚の重心W1とW2、および上半身の重心W3によるモーメントが加わります。今回の計算式はそれに基づきます。
ちなみに、両足とも着地していて足首がグラグラな状態であれば、傾斜姿勢時に股関節部分に発生するモーメントは、重心W1とW2、および上半身の重さW3の半分の重力によるモーメントと考えられ、両股関節とも同じモーメントになります。(と思います...)
■ポイントP3 遊脚太モモ股関節部分のモーメント 計算式はここをクリック
遊脚の股関節に加わるモーメントは、ぶら下がる太モモとスネの重心W1とW2によるものだけです。今回の計算式はそれに基づきます。
■左右方向の総重心位置
ポイントP1の総モーメントの項目で、足首の傾斜角が大きいほど算出されるモーメントが大きくなると言いました。足首に掛かるモーメントが大きいほど足の横幅を広げないとバランスを崩して倒れやすくなります。では、具体的にどれくらいの横幅が必要なのでしょうか。片足立ちで転倒しないためには、その時の姿勢での総重心を地面に投影した位置が、足裏面の内側に無ければいけません。スネ、太モモ、および上半身の各重心からなる左右方向の総重心位置は、以下の式で求められます。
X方向の総重心位置 = (MW1+MW2+MW1'+MW2'+MW3)/(2xW1+2xW2+W3)
MW1 : 支持脚側スネW1により支持脚足首に掛かるモーメント
MW2 : 支持脚側太モモW2により支持脚足首に掛かるモーメント
MW1’ : 遊脚側スネW1により支持脚足首に掛かるモーメント
MW2’ : 遊脚側太モモW2により支持脚足首に掛かるモーメント
MW3 : 上半身W3により支持脚足首に掛かるモーメント
なので、ある片足立ち姿勢で転倒させないためには、上の式で求めたX方向の総重心位置よりも外側に、足裏の端が無くてはなりません。そうしないと、どんなに足首のトルクが大きくてもロボットはバランスを保てずに転倒してしまうことになります。逆に、足首に加わるモーメントを常にゼロ付近に維持できるように細かく姿勢制御ができれば、足裏の横幅はそれほど大きい必要はありません。実際にはそれが非常に難しいのですが...
203−3.Exelによるモーメントの自動計算ツール
さて、例によってWindowsの表計算ソフトExcelを使って、各関節のモーメントを自動計算をさせることにしましょう。
今回ご紹介する自動計算ツールは、前項でご紹介した正面から見たロボットモデルのボディに関するパラメータを入力して、各関節の角度を表計算形式でズラっと並べてあげると、それらの角度(姿勢)における各関節のモーメントを計算し、角度の推移に伴ったモーメントの変化をグラフで表示してくれます。また今回は、左右方向の総重心位置の計算もさせています。それぞれの姿勢での重心位置を計算してくれるので、目標となる足裏の幅の目安になります。足首の支点から足裏の端までの距離を示します。
ここをクリックするとExcelファイルがダウンロードできます。moment3.xls
Microsoft(R) Excel2000で作成しています。他のバージョンでの動作は検証していませんので、ご了承下さい。画面は以下のようになっています。

■1.ロボットのボディに関するパラメータ入力
画面左上側オレンジの領域に、ロボットの身体に関する値を入力します。ここで入力した値をもとに、各部のモーメントが計算されます。
■2.ロボットの関節角度(姿勢)の入力
画面下側ピンクの領域に、ロボットの足首の傾斜角度を入力します。この時、203−2.の項でご紹介したモデルを参考にして、基準0°は各関節の水平線右側であることを守って下さい。今回パラメータとなる角度はひとつしかありません。90°の時が直立で体重移動をしていないときの姿勢です。
■3.モーメントのグラフ表示
画面右上に大きく表示されているのが、角度の変化に対応した各関節に掛かるモーメントのグラフです。時計廻りに加わるモーメントが正(プラス)の値で、反時計廻りが負(マイナス)の値となります。
グラフの描画としては、ピンク領域に入力した角度の計算結果を、上の行から順に表示しているだけです。
■4.総重心位置の計算結果
総重心位置はグラフ上には表示されません。角度入力の隣の列の薄いグリーンの領域に数値で表示されます。単位は[cm]です。支持脚足首のモーメントがゼロの時にゼロcmになります。支持脚足首のモーメントがゼロでないとき、それを支えるために必要な足首の支点から足裏端までの距離を表します。
パラメータの入力は、オレンジとピンクの領域のみでOKです。下半分の大部分を占めるピンク以外のセルには、各種の計算式が入力されているので、間違って消したり上書きしたりしないように注意して下さい。
角度入力の行数は、勝手に増やしたり減らしたりしてもかまいません。増やす場合には、各セルに入力されている計算式もコピーして下さい。
今回は自分の知識の限界を感じました。正面から見た時の左右体重移動時に生じる各種の力は、側面から見た時のそれに比べると、数段難しい気がします。両足立ちから片足立ちに移行すると、力の関係もまた変化して、同一には扱えなくなります。(と思います...) 力弥的には、まだ不透明な部分を多く残したままですが、ひとまずは、各関節に加わるモーメントの参考値が分かっただけでも良しとしておきましょう。
今回の記事で誤りや補足などがありましたら、是非お教えください。まだまだ勉強不足で申し訳ありません...(- -;