以下はサーボに起きる問題とこの負荷を軽減する施策
スマホの揺らし台 |
サーボモータのハンチング
ハンチングとはサーボの停止角が定まらずに±1度の振動が発生する現象
経験則的にまとまった時間使い続けると発生する
Botシステムでは動作上は問題ないのだが、非常にうるさいし部品の摩耗も怖い
サーボモータの発熱
これはモータよりもシェル内の制御用ICの発熱
数時間単位の連続使用を行うとシェルよ溶けよ!と言わんばかりの高熱が発生
SG90ではこれでよくサーボが破損した
問題点の対策
長時間停止角を維持するようなシーケンスをやめればよい
ポケモンGoBotの例ではスイングする数秒のみアタッチして動作を行う
次にスイングするまでの数十秒間はデタッチしてフリーにしてしまう
この間は当然回転角維持のトルクは働かないのだが、それを許容する機構にすればいい
この間は当然回転角維持のトルクは働かないのだが、それを許容する機構にすればいい
これでハンチングも発熱も解決
サーボモータを数時間連速動作させること自体がそもそも筋悪であった
・稼働後しばらくしてからハンチングが起きる理由
→ギアの摩耗などが原因
新品が一番精度がよく、摩耗により検知/制御精度が落ちる
アタリが出て負荷が下がるのもハンチングの原因になり得る(後述)
・チューニングによる対策
→ハンチングが起きるメカニズムは『オーバーラン』である
目標角度まで回転→行き過ぎる→戻し方向に回転→行き過ぎる…
制御パラメータのチューニングでオーバーラン対策となる(ゲイン調整)
一番簡単な方法は回転速度を下げてしまうこと
(簡易的な機構のサーボやその制御の場合は調整できない)
・回転軸への対策
→オーバーラン対策として回転軸に摩擦や軽い負荷をかける対策
ブレーキをかけてから実際に軸が停止するまでの制動距離(角)を短くする
常に余計な力がかかるということなのでロスは増える
追記:その他のハンチングについて
その後調べたハンチング関連の情報を追記する・稼働後しばらくしてからハンチングが起きる理由
→ギアの摩耗などが原因
新品が一番精度がよく、摩耗により検知/制御精度が落ちる
アタリが出て負荷が下がるのもハンチングの原因になり得る(後述)
・チューニングによる対策
→ハンチングが起きるメカニズムは『オーバーラン』である
目標角度まで回転→行き過ぎる→戻し方向に回転→行き過ぎる…
制御パラメータのチューニングでオーバーラン対策となる(ゲイン調整)
一番簡単な方法は回転速度を下げてしまうこと
(簡易的な機構のサーボやその制御の場合は調整できない)
・回転軸への対策
→オーバーラン対策として回転軸に摩擦や軽い負荷をかける対策
ブレーキをかけてから実際に軸が停止するまでの制動距離(角)を短くする
常に余計な力がかかるということなのでロスは増える