Skip to content

Doanobu-k/Control_system_design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Control_system_design

制御系設計用Pythonコードと実験用のESP32のコードです。

使い方

Control_design

制御系設計に使用してください。

Control_System_design.py

シミュレーション条件と状態方程式、非線形システムを、任意のシステムのものに書き換えてやるとシミュレーションできます。非線形システムの運動方程式は下記のような関数の形で定義してください。

# 非線形システムの定義
def nonlinear_system(x, u):
    """
    非線形システムの運動方程式
    x : 状態ベクトル
    u : 制御入力
    """
    x1, x2 = x
    dx1 = x2
    dx2 = -alpha * x2 - beta * np.sign(x1) + gamma * u
    return np.array([dx1, dx2])  # 1次元配列として返す

定常カルマンフィルタを動作させたい場合は84行目のコメントアウトを外し、85行目をコメントアウトして下さい。極配置法により設計したオブザーバを動作させたい場合はその逆です。

シミュレーション結果をCSVで保存したい場合は136行目のコメントアウトを外してください。

ctrl_utils.py

Qiitaに記述した関数は大体この中に記述されています。

sim_utils.py

私が普段使いする便利そうな関数をまとめたライブラリです。

About

Python for control system design & C for experiments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published