【制御工学】Pythonによる伝達関数や状態空間モデルの計算
はじめに
仕事でロボット制御をやることになったので、以下のことを知るためにまとめた。
・制御工学の基礎知識の復習
・pythonで制御システムやPID制御をどう描くのか
・状態空間モデルを理解することでカルマンフィルタや自己位置推定を理解するため
参考文献
南裕樹 著、オーム社、「Pythonによる制御工学入門」
内容
「Pythonによる制御工学入門」の第3章の内容
共通
以下のライブラリをimport
import sympy
import control
伝達関数
以下にコードを記載
# chapter 3-2 伝達関数モデル
Np = [0,1]
Dp = [1,2,3]
P = control.tf(Np, Dp)
print(P)
出力
1
-------------
s^2 + 2 s + 3
状態空間
以下にコードを記載
#3-3 状態空間モデル
A = '1 1 2; 2 1 1; 3 4 5'
B = '2; 0; 1'
C = '1 1 0'
D = '0'
P = control.ss(A,B,C,D)
print(P)
sysA, sysB, sysC, sysD = control.ssdata(P)
print(sysA)
出力
A = [[1. 1. 2.]
[2. 1. 1.]
[3. 4. 5.]]
B = [[2.]
[0.]
[1.]]
C = [[1. 1. 0.]]
D = [[0.]]
[[1. 1. 2.]
[2. 1. 1.]
[3. 4. 5.]]
まとめ
・controlやsympyといったライブラリを使うと、ラプラス変換や伝達関数表記がこんなに簡単にできる。
Author And Source
この問題について(【制御工学】Pythonによる伝達関数や状態空間モデルの計算), 我々は、より多くの情報をここで見つけました https://qiita.com/sato235/items/f991411074c578d1640c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .