- 締切済み
回転型倒立振子のPID制御でアームの動きを停止させる方法
- 回転型倒立振子のPID制御において、振り子の安定化はできたものの、アームが低速で回転し続ける問題が発生しました。
- アームの動きを停止させるためには、PIDパラメータの一部を調整する必要があります。
- 具体的には、どのゲインを上げてどのゲインを下げるかを判断する必要があります。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- lumiheart
- ベストアンサー率47% (1141/2405)
LEGO Mindstormsを用いた回転型倒立振子(石塚・篠﨑・山﨑) https://hinf.ee.utsunomiya-u.ac.jp/introduction/project/opencampas2014/lego.html#section6 このビデオには何やら余分な霊みたいなのが振り子に憑いてる! 問題はこの余分なのは霊体とかで質量がゼロでは無いのが恐らくミソ! どーゆーことか? イナーシャ比 https://www.orientalmotor.co.jp/tech/webseminar/st_sizing_5_2/ サーボモータやステッピングモータには「イナーシャ比」と呼ぶパラメータが重要! 難しそうですが一言で済ませれば 駆動モータのイナーシャと負荷イナーシャの比率 一般的にイナーシャ比は小さい方が制御性は良くなる ただ小さければ小さいほど良いと言うものでもない このサイトに記載してるモータ事例で 対象機種 取付角寸法 [mm] イナーシャ比 αSTEP 28、42、60、85 30以下 と、あるけど 30以下なので30は行けるとして1以下はアリなのか? 極端に小さくして0.1とかもありえる で、小さすぎて制御性が悪くなる場合も無きにしも非ず 話は初めに戻るけど あの霊体は実は鉛で出来ていて質量は100gを超えてるかもしれない 何が言いたいのか? ですが、PIDパラメータだけに固執しないで モータ容量と負荷質量のバランスを考慮してねって事 100wのモータで100gの負荷質量でアーム長100mm 100wのモータで1000gの負荷質量でアーム長100mm 100wのモータで1000gの負荷質量でアーム長10mm イナーシャの別の考え方でGD^2(昔の技術者はジーデースケアと呼ぶ) http://kousyoudesignco.dip.jp/mecha9-1.html
- TIGANS
- ベストアンサー率35% (245/681)
それだけの説明では・・・ サンプリング周期や分解能が足りてなくてもそうなりますし ゲインを下げるべきでしょうけど応答性も下がるしねえ。 どの挙動に一番ちかいですかね? https://www.maizuru-ct.ac.jp/control/kawata/study/book_lego/nxt_PID_ZN.html 調整手順は以下の動画が参考になるかも https://www.maizuru-ct.ac.jp/control/kawata/study/book_lego/nxt_modern_ip.html
- lumiheart
- ベストアンサー率47% (1141/2405)
速度ループ、位置ループ https://www.fa.omron.co.jp/guide/faq/detail/faq02262.html 憶測ですが、位置ループのみの簡略版で速度ループしてないんじゃあないかな? https://qiita.com/asahi4549/items/e3f26e0ccc0c233795ad 理想的には3つのループを作ります <コスパそのもの https://amc-drive.jp/howto/close_loop/ 3個のループを作ると当然の事ながらコストアップ でも、そのコストに見合う性能を確保できる カスケード制御の解説 https://www.chino.co.jp/support/technique/controllers_index/control_controllers/cascade_foundation/ https://www.rkcinst.co.jp/technical_commentary/14294/ これらは温度制御の例ですが、やはり位置制御も同様です って言うかぁ、精密な位置制御にはカスケード制御必須! 所謂、現代制御ってヤツは上記3ループにそれなりの機能を加えたもの http://www.mech.tohoku-gakuin.ac.jp/rde//contents/course/controlII/statefeedback.html
- ohkawa3
- ベストアンサー率59% (1508/2538)
素人回答です・・・・。 倒立振子の傾斜角を検出してPID制御なさっているのでしょうか? もしそうだとすれば、制御システムは、回転方向の動きを把握できないので、ご質問のような挙動が起こる可能性があると思います。 見当違いであれば読み飛ばしてください。