忍者ブログ

Fグループ電子工作講座

秋月電子SH7125ボードで始めるマイコン開発

倒立制御解説(諸元測定)

前回、センシングの準備ができました。
センシングができていればあとは気合で制御ゲインを調整すれば立つのですが、
物理学に則って動かしたいので装置の諸元を測定します。
若干怪しいですが、ジャイロを使って慣性モーメントを測定します。

関連:
ハード選定
センシング準備
制御方法基礎

装置質量:料理量り等で量って下さい
頂点までの距離:物差しで測って下さい
重心までの距離:物差しで測って下さい
タイヤ直径:物差しで測って下さい
おおよその直立角度:立ちそうな角度を調べます
PWM速度特性:前回準備したエンコーダから速度を求めます ※最重要
加速特性:前回準備したエンコーダから速度を求めます ※かなり重要
転倒角速度:ジャイロで最大速度を調べます

これで諸元が揃いました。

諸元確認

装置質量:0.232 [㎏]
頂点までの距離:0.15 [m]
重心までの距離:0.055 [m]
タイヤ直径:0.054 [m]
おおよその直立角度:89.5 [deg]

PWM速度特性


加速特性


転倒角速度

ナイキスト線図みたいな特性になります。
ここから慣性モーメントを計算します。

さて、直接測定した値から関連するパラメータを計算してみます。
加速性能から停動トルク、転倒角速度から慣性モーメントを求める事ができそうです。



停動トルク
まず加速性能から加速力を求めてみます。
ニュートンの運動方程式
 F = m*a
より
 F = 0.232*2.4 = 0.557[N] =0.0568[kgf]
さらにこれがタイヤの軸によって発生しているので力のモーメントの式
 N = r*F
より
 N = 0.027*0.557 = 0.015[N m] = 153[gf cm]
カタログスペック809[gf cm]よりずいぶん小さな値になりました。
これはモーター自体の加速性能の問題かもしれません。
モーターおよびギヤの慣性モーメントの影響の様な気がします。
台車を加速させるには台車の質量と同時にモーターの回転自体も加速させる必要があり、
ギヤ比が大きいときは車両質量よりモーター自体の慣性モーメントの影響が大きいのでは
ないかと思います。
タイヤを浮かせた状態と実際に走らせた場合を比較すれば何かパラメータを推定できそうです。



慣性モーメント(最大角速度から)
二点吊り法だと揺れ方が不安定で再現性を得られなかったので、
転倒角速度から車軸周りの慣性モーメントを求めてみます。
※空気抵抗の影響が含まれます
※支点を手で持って測定したのでその分の誤差があります

ロボットが90度の状態から-90度まで変化しました。
この時の位置エネルギーと回転運動エネルギーを考えます。

一番上から一番下まで位置エネルギーは重心位置の変化により
 U = 2 m g Lg
回転運動エネルギーは-90度の点で最大になり
 T = 1/2 I ω2
位置エネルギーが運動エネルギーに変換されるので
 U = T = 2 m g Lg = 1/2 I ω2
慣性モーメントIについて整理すると
 I = 4 m g Lg / ω2
ここに転倒角速度960[deg/s]=16.76[rad/s]を代入すると
 I = 4 * 0.232 * 9.806 * 0.055 / 16.762 = 0.00178[kg m2]
と出ました。
転倒角速度1000[deg/s]=17.45[rad/s]だとすると
 I = 4 * 0.232 * 9.806 * 0.055 / 17.452 = 0.00165[kg m2]
となり、8%ぐらい計算値が違います。

これに対して質点で考えると
 I = 1/2 m r2 =0.232 * 0.0552 = 0.0003509[kg m2]
5倍ぐらい違いますが果たして・・・



慣性モーメント(転倒開始速度から)
※2023/01/26 追記
一度書いてから気になっている事がありました。
転倒開始時に
 ω/θ = 10[deg/s / deg] = 10[rad/s / rad]
ってな感じの特性が出ているのが、物理的に何を意味するのか。
なんだか慣性モーメントに関連してそうな気がします。
そこで、再度位置エネルギーと運動エネルギーを比較してみます。

前項では位置エネルギーを U = 2 m g Lg としていましたがもう少し細かく考えます。

角度θを真上からの変化角度として、重心の高さを角度の関数で書くと
 h = Lg cos(θ)
となります。

真上のとき θ = 0、真下の時 θ = 180[deg] = π[rad] となり、
高さは真上 Lg cos(0) から真下 Lg cos(π) = -1 へ変化するので、
位置エネルギーの変化量は
 U = m g Lg cos(0) - m g Lg cos(π) = 2 m g Lg
ということで前項の式が出てきます。

真上は0として、変化後の角度をそのままθとするので位置エネルギーは
 U = m g Lg cos(0) - m g Lg cos(θ) = m g Lg (1 - cos(θ))
となります。
さて、今回は真上付近の特性なので、(1 - cos(θ))を線型近似することができます。
 (1 - cos(θ)) ≒ 1/2 θ2
との事なので、まずはどれぐらいの範囲まで近似して良さそうか確認します。

0.5[rad]辺りまでならなんとか使えそうです。
具体的には30[deg]=0.52[rad]で誤差2%程度です。
ということで30度を限度として(1 - cos(θ)) ≒ 1/2 θ2と線形近似します。

位置エネルギーと運動エネルギーのつり合いから
 U = T = 1/2 m g Lg θ2 = 1/2 I ω2
これを慣性モーメントIについて整理すると
 I = m g Lg (θ/ω)2
と何やらそれっぽい値が出てきました。
これを使って慣性モーメントを求めてみると
 I = m g Lg (θ/ω)2 = 0.232 * 9.806 * 0.055 / 102 = 0.001251[kg m2]
と出ました。
おそらくこちらの方がより正確な値です。

既に何か呼び名があるかもしれませんが転倒特性法とでも呼んどきます。


まとめ等

お手軽な手段で慣性モーメントを求める事ができました。
また、渦巻きの減速特性から空気抵抗+軸抵抗も計算できそうです。
実は物理バランス式で倒立制御を行うと慣性モーメントはほとんど気にする必要は
なさそうなのですが、日頃しない行動を行ったことで面白い副産物が得られました。
PR

コメント

プロフィール

HN:
ぼんどF博士
性別:
男性
自己紹介:

最新コメント