古典制御

センサ

IMUセンサ/オイラー角のジンバルロックの確認

ここではIMUセンサを用いた角度推定方法を紹介する。以前、クォータニオンで拡張カルマンフィルタを使って角度を推定した。その記事は下のようなもの なぜクォータニオンを用いたかというとジンバルロックを防ぐためである。この記事ではクォータニオンで...
古典制御

ノッチフィルタによる共振抑制

今回はバネマスダンパ系のゲイン線図に生じる極大値を除去するノッチフィルタを記述する.周波数特性は状態空間表現からbode関数を使うと容易に求められるが、今回はそのようなメソッドやライブラリを一切使わずにfor文のみでシミュレーションする。そ...
古典制御

伝達関数から周波数解析

今回は伝達関数から周波数解析する方法を書く。パソコンでプログラムからメソッドやライブラリを使うと簡単にできる。しかし、手書きでできるところは手で計算し、プログラムもfor文を使って書いて計算させるとまた理解が深まる。 システム 以下のような...
古典制御

位相遅れ補償の設計

PID制御はよく知られています。この制御手法のメリットは何と言っていも設計パラメータが3つのみである点です。この制御をもっと高い自由度で設計できるのが位相遅れ補償、位相進み補償です。この手法を使うと、PID制御では手の届かなかった痒いところ...
古典制御

bode線図からわかる情報

bode線図を初めて大学で勉強した際には周波数によってゲインや位相が変わることくらいしかわかりませんでした。しかし勉強していくにつれbode線図が持つリッチな情報量に気付き始めました。今回はその内容を書いていきます。 想定する読者 ・bod...
古典制御

2自由度制御(PI-D,I-PD制御)方法

PID制御の発展としてPI-D制御やI-PD制御があります。今回はそれらについて書いていきます。 想定する読者 ・PI-D,I-PDを初めて聞いた制御初学者・制御対象のオーバーシュートをなくしたい方 フィードバックとフォードフォワードのメリ...
古典制御

Pythonで伝達関数の時間応答,周波数特性をシミュレーション

このシステムの時間応答ってどんな感じなんだろか、このフィルタの周波数特性ってどのようになっているのだろうか、と気になることは多いと思います。今回は身近なPythonを用いてシステムのステップ応答や周波数特性を求める方法を書いていきます。 想...
センサ

ローパスフィルタ、ハイパスフィルタのプログラム

センサからデータをとるとどうしても望まないノイズや定常値が出てしまうことがあります。そんな時にフィルタは使われますが、プログラムで書くとどのように表せるのでしょうか。 想定読者 ・ローパスフィルタ、ハイパスフィルタを作りたいが方法を知りたい...
古典制御

モータのモデリング

ものを制御するときにその数理モデルを知っていることは非常に重要です。実機を使った実験ではお金も時間もかかってしまいます。そこで正確な数理モデルが求められます。 今回はDCモータを例に数理モデルの導出方法を紹介します。これを読めば、モデルの導...
古典制御

P制御で定常偏差が出る仕組みとPI制御で解決できるメカニズム

PID制御の基本中の基本であるP制御。 P制御だけで使われる機会はほとんどないと思います。その理由は定常偏差が生まれてしまうからですが、なぜ定常偏差が出てしまうのでしょうか。ふと疑問に思ってよくよく考えてみたら当然であることに気づきました。...