メインカテゴリーを選択しなおす
※可制御正準形への変換に関しては、12. 可制御正準形を参照。対象とする状態方程式と出力方程式は$$\dot{x}(t) = Ax(t) + bu(t) \\ y(t) = Cx(t) \quad \cdots (1)$$である。ここで、議論を簡単にするために\((A,b)\)は可制御な1入力システムとする。可制御正準形の\(A_c, \; b_c\)元のシステムの特性多項式を\( sI - A = s^n + a_n s^{n-1} + \cdots + a_
13-1. オブザーバ併合型状態フィードバックによるデッドビート制御
デッドビート制御(有限時間整定制御)は、離散時間システム特有の制御手法で、「サンプリング周期の整数倍という有限の時間内に、状態誤差を完全にゼロにする」という強力な応答特性を持つ制御である。ここでは、これを状態観測器(オブザーバ)を用いた状態フィードバックで実現する方法を考える。デッドビート制御の原理※デッドビート制御の基本は、13. デッドビート制御 を参照してください。連続時間システムでは応答を速くしても偏差を完全にゼロにするには無限の時間がかかる。これに
外乱オブザーバ(Disturbance Observer: DOB)は、モータ制御などの精密なモーションコントロールにおいて、負荷トルクの変動や摩擦、モデルの不確かさを「外乱」として一括して推定し、その「外乱」打ち消すための強力な手法である。外乱オブザーバの基本外乱オブザーバの基本概念では、「実際の出力と理想的なモデル(公称モデル)から予想される出力の差は、すべて外乱によるものである」という考えに基づいている。従って、図1に示すような構成が考えられる。1
加速度制御(Acceleration Control)は、精密モーションコントロールの基盤となる技術で、その本質は、複雑な物理特性を持つモータやロボットアームを、「ニュートンの運動方程式(\(F=ma\))通りに動く、理想的な物体」に見なせるようにすることにある。例えば、モータへの指令値(操作量)は「電流(=トルク)」だが、現実のモータでは摩擦、重力、慣性変動、外乱トルクが影響するため、電流を流しても期待通りの加速度が得られるわけではない。加速度制御の目的は、これらすべての
インピーダンス制御(Impedance Control)は、ロボットの先端(エンドエフェクタ)と環境との間の「動的な関係(力と運動の関係)」を操るための制御手法である。これまでの「位置制御」や「力制御」とは異なり、ロボットに「仮想的なバネ・マス・ダンパ系(機械インピーダンス)」の性質を持たせることが最大の特徴となっている。ロボットやメカトロ系が「どれくらい柔らかく/硬く振る舞うか」を制御する手法といえ、人と接触するロボットや力制御の中核技術となっている。インピーダンス制御は
MATLAB,Python,Scilab,Julia比較 第5章 その106【フーリエ変換②】
フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
MATLAB,Python,Scilab,Julia比較 第5章 その105【フーリエ変換①】
フーリエ変換を定義。フーリエの積分公式の一部を抜き出す。逆フーリエ変換を定義。フーリエの積分公式にフーリエ変換を代入するだけ。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。区分求積法とリーマン積分について。フーリエの積分公式を導出した。
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
MATLAB,Python,Scilab,Julia比較 第5章 その104【フーリエの積分公式⑤】
区分求積法とリーマン積分について。離散と連続の分け目。フーリエの積分公式を導出した。演算したはずなのに変化しない。つまり変換、逆変換が成立することを示している。
MATLAB,Python,Scilab,Julia比較 第5章 その103【フーリエの積分公式④】
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。よって、一般的な表現に書き換える必要がある。
MATLAB,Python,Scilab,Julia比較 第5章 その102【フーリエの積分公式③】
角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
MATLAB,Python,Scilab,Julia比較 第5章 その101【フーリエの積分公式②】
周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。ω=nπ/Lを使用して変換するだけ。これにより少し数式がシンプルになった。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
MATLAB,Python,Scilab,Julia比較 第5章 その99【各種フーリエの関係性】
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
※離散時間システムの応答に関しては、5. 離散時間システムの応答、9. 離散時間システムの構造を参照願います。8-1. 固有値が正または零の実数固有値\(\lambda_i\)が正または零の実数のとき、\(\lambda_i^k x_i(0)\)の振る舞いを図示せよ。ただし、\(x_i(0) = 8\)とする。解答例: 固有値\(\lambda_i\)が正の実数なので、固有値の大きさが1よりも大きい場合は、\(\lambda_i^k\)は発散する。1
※離散時間系に関しては、 4. 連続時間システムの離散化 を参照願います。7-1. 差分方程式からパルス伝達関数へ離散時間システムの差分方程式が式(1)で与えられている。このシステムのパルス伝達関数を求めよ。$$y(k+n) + a_1y(k+n-1) + \cdots + a_{n-1}y(k+1) +a_n y(k) \\ = b_0 u(k+m) + b_1 u(k+m-1) + \cdots + b_m u(k) \quad(n \gt m) \;\
※定常特性に関しては、27. 定常特性と内部モデル原理 を参照願います。5-1. 定常位置偏差の計算フィードバック制御系の開ループ伝達関数\(L(s)\)が式(1)で与えられているとき、目標値が大きさ\(5\)でステップ状に変化したときの定常位置偏差\(e(\infty)\)を求めよ。$$L(s) = \frac{40(s+5)}{s^3 + 7s^2 + 18s +24} \;\;\; \cdots (1)$$図1 フィードバック制御系
ロートルが生成AIを使ったプログラミングを経験している話。なお、私の使い方が正しいのか分からないので、正しいエンジニアを目指す人は、正しい学習に励んでください。ChatGPT(無料版)やGemini(当然、無料版)、Google Colabを適当に使ってプログラミングをしている。成果はこちらへ。スクリプトの作成手順としては、まずChatGPTに問題を与えて、プログラミング言語を指定する。これだけでスクリプトを作成してくれる。プログラミング言語は、分野が制御工学系なので主にS
※\(\mathcal{Z}\)変換に関することは 2. Z変換法 を参照願います。6-1. 指数関数の\(\mathcal{Z}\)変換指数関数\(x(t) = e^{\alpha t},\; t \ge 0\) を周期\(T\)でサンプルして得た信号値系列を\(\mathcal{Z}\)変換せよ。解答例: 周期\(T\)でサンプルして得た信号値系列は、\(e^0,\;e^{\alpha T},\; e^{2\alpha T},\; e^{3\al
4-1. 安定なシステム特性方程式が式(1)のとき、このシステムの安定判別を行え。$$s^5 +8s^4 + 25s^3 + 40s^2 + 34 s + 12=0 \;\;\; \cdots (1)$$解答例: 式(1)は、安定であるための必要条件が成り立っている。つまり特性方程式の係数が全て「正」である。次に、ラウス表を作成する。※ラウス表の作成方法に関しては、17. 安定判別 を参照願います。\(s^5\)行12534\(s^4\)行84012
3-1. オーバーシュートする要素の時間応答式(1)の伝達関数の単位ステップ応答を計算せよ。また、\(T_1 = 1,\;T_2=2,\;T_3=0.5,5,10\)としたときの、極と零点の位置、ボード線図と時間応答を示せ。$$G(s)=\frac{1+ T_3 s}{(1+T_1 s)(1+T_2 s)} \;\;\; \cdots (1)$$解答例:単位ステップ信号のラプラス変換は、\(U(s) = 1/s\)なので、単位ステップ応答は、$$Y(s) =
2-1 1次遅れ要素のベクトル軌跡次の式で示す1次遅れ要素のベクトル軌跡を作成せよ。$$G(s) = \frac{3}{1 + 4s}$$解答例:1次遅れ要素のゲインと位相を求める。\(s \to j\omega\)により、$$G(j \omega) = \frac{3}{1 + j 4 \omega}$$と周波数伝達関数となる。従って、ゲインは$$ G(j \omega) = \frac{3}{\sqrt{1 + (4 \omega)^2}}$$また、位
1-1 インパルス応答から伝達関数インパルス応答が、$$y(t) = 4e^{-2t} + 3e^{-5t}$$であるとき、システムの伝達関数を求めよ。解答例:インパルス応答が\(y(t) = 4e^{-2t} + 3e^{-5t}\)なので、このラプラス変換が伝達関数となる。$$G(s) = \mathcal{L}\{g(t)\} = 4\mathcal{L}\{e^{-2t}\} + 3\mathcal{L}\{e^{-5t}\} = \frac{4}{
※本編に合わせて、以下虚数単位は\(j\)とします。複素数は、実数と虚数を組み合わせた数、つまり「数」全体のことである。具体的には、「\(x+jy\)」という形で表される数である。\(x,y \)は実数で、\(j\)は虚数単位(2乗すると-1になる数、つまり\(j^2 = -1\) )と高校数学で学ぶ。複素数は、2次元平面(複素数平面、ガウス平面とも)で表現できる。複素数平面では、複素数は点またはベクトルとして表現でき、複素数の加算、減算、乗算、除算などの演算を視覚
熱伝導方程式は、物体内の温度分布の時間変化を記述する偏微分方程式である。熱の伝わり方を理解し、予測するために不可欠なツールであり、工学、物理学、材料科学など、さまざまな分野で応用される。制御工学では、温度制御や熱管理が必要なシステムにおいて、熱伝導方程式を使ってプロセスの動作をモデル化し、制御設計を行う。熱伝導は、高温の物体から低温の物体へと熱エネルギーが移動する現象である。この熱の移動は、原子や分子の振動、自由電子の運動などによって起こる。熱伝導の基本的な法則は、
MATLAB,Python,Scilab,Julia比較 第5章 その98【複素フーリエ係数(周期2L)⑦】
複素フーリエ周期2LをJuliaで確認。実数フーリエの時と同じ結果が得られた。
MATLAB,Python,Scilab,Julia比較 第5章 その97【複素フーリエ係数(周期2L)⑥】
複素フーリエ周期2LをScilabで確認。実数フーリエの時と同じ結果が得られた。
2次形式表現を用いることで、最小二乗法をより簡潔に表現し、計算を効率化することができる。2次形式を利用した最小二乗法は、機械学習や統計モデル、時系列分析、信号処理など幅広い分野で応用されている。ここでは、その表現形式とScilabによる実装を紹介する。最小二乗法は、観測データに対して最適なモデルをフィットさせるための方法で、誤差の二乗和を最小化することでパラメータを推定する。特に、線形回帰のような問題で広く使われる。基本的な最小二乗法は、次の形で表される線形モデルを考える。
MATLAB,Python,Scilab,Julia比較 第5章 その96【複素フーリエ係数(周期2L)⑤】
複素フーリエ周期2LをPythonで確認。実数フーリエの時と同じ結果が得られた。
MATLAB,Python,Scilab,Julia比較 第5章 その95【複素フーリエ係数(周期2L)④】
複素フーリエ周期2LをMATLABで確認。実数フーリエの時と同じ結果が得られた。
前回までの複素フーリエは、周期が2πという制約がある。2πを2Lに変換することで任意周期に対応させこのアプローチは実数フーリエの時と同じ。
MATLAB,Python,Scilab,Julia比較 第5章 その94【複素フーリエ係数(周期2L)③】
複素フーリエの周期2Lのプログラム化検討。プログラムフローは以前からのものと一緒。一緒の方が比較しやすい。
MATLAB,Python,Scilab,Julia比較 第5章 その93【複素フーリエ係数(周期2L)②】
複素フーリエを周期2πから周期2Lへ。変換の流れは実数フーリエの時と全く同じ。
MATLAB,Python,Scilab,Julia比較 第5章 その92【複素フーリエ係数(周期2L)①】
前回までの複素フーリエは、周期が2πという制約がある。2πを2Lに変換することで任意周期に対応させる。このアプローチは実数フーリエの時と同じ。
任意波形から複素フーリエ係数抽出し、それを元に元波形を複素フーリエ級数で再現をJuliaで実施。実数フーリエと同じ結果が得られた。係数は複素数であり、偏角から位相を求めることも可能。
任意波形から複素フーリエ係数抽出し、それを元に元波形を複素フーリエ級数で再現をScilabで実施。実数フーリエと同じ結果が得られた。係数は複素数であり、偏角から位相を求めることも可能。
任意波形から複素フーリエ係数抽出し、それを元に元波形を複素フーリエ級数で再現をPythonで実施。実数フーリエと同じ結果が得られた。係数は複素数であり、偏角から位相を求めることも可能。
任意波形から複素フーリエ係数抽出し、それを元に元波形を複素フーリエ級数で再現をMATLABで実施。実数フーリエと同じ結果が得られた。係数は複素数であり、偏角から位相を求めることも可能。
MATLAB,Python,Scilab,Julia比較 第5章 その91【複素フーリエ係数⑯】
任意波形から複素フーリエ係数抽出し、それを元に元波形を複素フーリエ級数で再現をJuliaで実施。実数フーリエと同じ結果が得られた。係数は複素数であり、偏角から位相を求めることも可能。
MATLAB,Python,Scilab,Julia比較 第5章 その90【複素フーリエ係数⑮】
任意波形から複素フーリエ係数抽出し、それを元に元波形を複素フーリエ級数で再現をScilabで実施。実数フーリエと同じ結果が得られた。係数は複素数であり、偏角から位相を求めることも可能。
MATLAB,Python,Scilab,Julia比較 第5章 その89【複素フーリエ係数⑭】
任意波形から複素フーリエ係数抽出し、それを元に元波形を複素フーリエ級数で再現をPythonで実施。実数フーリエと同じ結果が得られた。係数は複素数であり、偏角から位相を求めることも可能。
MATLAB,Python,Scilab,Julia比較 第5章 その88【複素フーリエ係数⑬】
任意波形から複素フーリエ係数抽出し、それを元に元波形を複素フーリエ級数で再現をMATLABで実施。実数フーリエと同じ結果が得られた。係数は複素数であり、偏角から位相を求めることも可能。
フーリエ係数のC0について言及。結果としてC0は関数f(x)の平均値を示す。離散関数の平均と連続関数の平均の関係性。結局C0は三角関数では表現できない関数のオフセット成分となる。
複素フーリエ級数の数式を導出。「複素フーリエ係数」を解析したい数式と見なし、「複素指数関数の直交性」を利用して、直交している部分を0に、直交していない部分だけを抽出する。
このブログをアプリでフォローする
XXXさん
ブログをみる無料アプリ
ブログみるはブログ村の姉妹アプリです