制御工学の基礎あれこれ


In English

■初めに
PID制御や現代制御などの制御工学(理論)の基礎や、制御工学に必要な物理、数学、ツール等について説明します。 私のプロフィールを簡単に説明しますと、私は自動車関連企業に勤めており、そこで日々制御工学(理論)を利用しながら設計開発をしております。 ここで説明する内容は、制御理論を扱い実際にモノに実装していく上で最低限理解しておいた方が良い内容と思います。 少しでも皆様の役に立ち、学力の底上げに貢献し、ひいては日本の発展、ひいては人類の発展に貢献できたらこの上ない喜びです。

内容を説明する際に次のことを心掛けています。

① できるだけシンプルに。より少ない文章で内容を的確に説明する。
② 1ページの記事のボリュームを多くし過ぎない
③ 文字のフォントは大きすぎず、行間を開けすぎない。(画面スクロールが頻繁になると情報が伝わりづらくなる)
④ 内容の説明とは直接関係のないイメージ図は載せない。

また当サイトはリンクフリーです。ただし内容に間違いがあった場合、その情報を利用して何かしらの不利益が発生しても責任は負いかねますのでご了承願います。

■古典(PID)制御
【基本設計】PID制御とは , PID制御の設計 【ゲイン設定方法】ステップ応答法 , 限界感度法 , 極配置法考え方 , P制御 + 1次遅れ , PI + 1次遅れ , PID + 2次遅れ , 安定判別法考え方 , P制御 + 1次遅れ 【PID制御の応用】不完全微分 , 速度型PID制御 , 微分先行型PID , 比例微分先行型PID 【内部モデル制御(IMC)】IMCとは , IMCのテクニック , IMCとPIDの関係 , IMCとオブザーバの違い

■現代制御 現代制御とは , 古典制御との違い
【状態方程式】状態方程式の求め方(RL回路,1次システム) , 2次システム:RL回路+DCモータ , RC回路 , 加速度運動車両 【状態フィードバック】1次システム(RL回路)レギュレータ問題 , サーボ問題(基本 , 内部モデル) , 2次システム(RL回路+DCモータ)レギュレータ問題 , サーボ問題(基本 , 内部モデル) 3次システム(RL回路+DCモータ)レギュレータ問題 【オブザーバ】状態推定方法 , 状態フィードバック方法 , 外乱オブザーバ , カルマンフィルタ , カルマンゲインの導出 【その他】可制御性 , 可観測性 , 可観測正準形(z変換) , 安定性 , 状態方程式の伝達関数

■制御理論(一般)
【伝達関数】伝達関数とは , 伝達関数の合成 , 一巡伝達関数 【ボード線図】描き方の基本(積分系) , Scilabでの描き方 【ローパスフィルタ】1次遅れ(RL回路):伝達関数 , ボード線図 , ネイピア数で表現 , 2次遅れ(RL回路+DCモータ):伝達関数 , ボード線図 , n次遅れ:バターワースフィルタ , ベッセルフィルタ 【ハイパスフィルタ(1次進み)】完全微分 , 不完全微分 【オールパスフィルタ(むだ時間)】伝達関数 , ボード線図 , パデ近似 【バンドストップフィルタ】ノッチフィルタ バンドパスフィルタ

■デジタル信号処理
2進数 , 16進数 , 浮動小数点 , 固定小数点 , 分解能,サンプリング周期 , 標本化定理 , デジタルフィルタ , 差分方程式 , 双一次変換 【周波数分析】周波数分析の方法 , フーリエ変換で自力計算 , 窓関数 , 直流(DC)成分 , トレンド除去方法 , オクターブ分析

■電気・電子回路
【基本】電気回路図の読み方 , キルヒホッフ,オームの法則 , 直列回路,並列回路 , 電力 , 伝送損失 , 交流電流 , インピーダンス 【コンデンサ】コンデンサの原理 , RC回路 , RC回路② , RLC回路 , RLC回路② 【コイル】RL回路 , ソレノイドバルブ , 電磁リレー 【抵抗】プルアップ/プルダウン抵抗 , 終端抵抗 【半導体】半導体の原理 , トランジスタ 【ダイオード】還流ダイオード , ツェナーダイオード , 整流回路 【電圧変換器】コンバータ(AC-AC , AC-DC , DC-DC) , インバータ(DC-AC変換) 【オペアンプ】オペアンプの原理 , 反転増幅回路 , コンパレータ 【デジタル回路】デジタル回路とは , 集積回路用語 , 論理回路 , 加算器,減算器 , フリップフロップ , シフトレジスタ, AD変換, マイコン , メモリ(ROM,RAM,レジスタ.キャッシュ) , DRAM , フラッシュメモリ 【アクチュエータ】モータの種類 , モータの構造, 用語 , モータの損失 , モータの電流位相 , ブラシ付きDCモータ , ブラシレスDCモータ,ステッパモータ , ACモータ(誘導電動機) 【センサ】温度センサ , 圧力センサ , 回転位置検出センサ , 加速度センサ , 角速度(ジャイロ)センサ 【その他】回路の故障検出 , ローサイド/ハイサイド駆動 , ブレッドボード , アース , 漏電ブレーカ , 感電の原理 , サージ電流 , Hブリッジ回路 , PWM , スイッチの種類 , クロック発生器

■通信技術
【シリアル通信】シリアル通信の仕組み , 単向、半二重、全二重通信 , 差動信号伝送 , シングル/マルチマスター方式 , クロック同期式/調歩同期式 , USB , CAN , LIN , SENT , SPI , PLC , Ethernet , パリティ , チェックサム , CRC , データ転送速度 【ネットワーク通信】ドメイン, DNSサーバ , 通信プロトコル , メッセージ認証 , デジタル署名 , SSL/TLS , VPN , 無線通信

■力学・一般物理
ニュートンの法則,万有引力 , 等加速度直線運動 , 力,トルク,仕事,出力 , 慣性モーメント , エネルギーと仕事 , 加速度,角加速度 , 摩擦力 , 遠心力 , 斜面の物体に働く力 , 加速度センサから勾配を求める , ラグランジュ方程式 , 光の性質 , 相対性理論 【運動方程式/微分方程式】バネマスダンパ系 , 回転運動系(RL回路+DCモータ) , 回転運動系(低剛性負荷) , 加速度運動系 , 倒立振子

■熱力学、流体力学
熱量と温度の関係 , 熱の移動(伝熱)の種類 , 熱伝導 , 対流熱伝達 , 熱伝達率の求め方 , ジュール熱, 熱抵抗 , ベルヌーイの定理 , 摂氏, 華氏, ケルビン

■電磁気学
電荷, クーロンの法則, 電界 , 電気力線, ガウスの法則 , 磁界, 磁気 , 透磁率 , 磁性体 , 磁石 , 電磁誘導 , 右ねじ, アンペールの法則 , B-H曲線, ヒステリシス損 , 渦電流 , ローレンツ力, フレミングの左手の法則 , リラクタンス 【応用】電磁波の種類, エネルギー , フェライトコア , 無電源ラジオ, 同調回路 , ワイヤレス充電 , EMC

■数学
【微積分】微分公式 , 偏微分 , 数値微分 , 部分積分 , 微分方程式 , ガウス関数の積分公式 【複素数】複素数とは , 複素数の必要性 【指数,対数】対数関数 , 指数関数, べき関数 , デシベル , ネイピア数 【フーリエ変換】フーリエ変換, FFTとは , FFTの原理 【ラプラス変換】ラプラス変換とは , ラプラス変換の役割 【線形代数】行列を使う目的, 行列の定義 , 逆行列,行列式 , 行列の積 , 転置行列 , 行列の微分 , 固有ベクトル,固有値 , ベクトルの内積 , ベクトルの外積 , ベクトル場 , コサイン類似度 , 連立方程式を行列で解く 【その他】三角関数 , 素数 , 階乗, ガンマ関数 , arctan , tanh , 総和Σ, 総乗Π , ∇, grad, div, rot , 有理関数のマクローリン展開 , ニュートン法 , 重心 , 2乗に比例する関数 , ラグランジュの未定乗数法 , 集合 , 写像 , マンハッタン距離, ユークリッド距離, 帰納法, 演繹法, 仮説推論 , 背理法 , 弧度法 , スプライン曲線 , フィボナッチ数列 , 複利計算 , 「|」バーティカルバー

■確率・統計
【統計/解析】平均値,中央値,最頻値 , 期待値 , 加重移動平均,指数移動平均 , 二乗平均,二乗和 , 分散,標準偏差,共分散 , 偏差値 , 単回帰分析,最小二乗法 , 重回帰分析 , リッジ回帰, ラッソ回帰 , カーネル法 , ガウス過程回帰 , エクセルで回帰分析,決定係数 , 最小二乗法の公式導出 , 主成分分析 , 疑似乱数, 準乱数 , 基底関数 , 仮説検定 , モンテカルロ法 , パレートの法則 , データを正しく読む 【ベイズ理論】ベイズの定理 , ベイズの定理応用形 , 逐次ベイズ推定 , 単純ベイズ分類器 , ベイジアンネットワーク , 確率分布推定 , 確率分布推定(正規分布に従う時) , MAP推定/最尤推定 【確率】同時確率 , 条件付き確率 , 組み合わせの計算方法 , 確率変数 , 確率分布 , ベルヌーイ分布 , 二項分布 , 正規分布 , ポアソン分布 , ベータ分布 , ワイブル分布 , カイ二乗分布 , t分布 , 確率過程

■機械学習 機械学習とは
回帰,分類,クラスタリングの違い , パラメトリックモデルとノンパラメトリックモデル 【分類】分類問題とは , ナイーブベイズフィルタ , 符号関数による分類 , ロジスティック回帰 (線形分離 , 非線形分離) , サポートベクターマシン , 決定木 , k-近傍法 【ニューラルネットワーク(NN)】 NNとは , パーセプトロン , 勾配法(最急降下法) , 勾配法の機械学習への適用 , 誤差関数 (損失関数) , 誤差逆伝番法 , 交差検証,ホールドアウト法 , MNISTデータセット , CIFAR-10データセット , 画像認識方法① , 画像認識方法② , 畳み込みNN(CNN) , 再帰型NN(RNN) , LSTM 【keras実装例】NN , CNN , ディープラーニング 【活性化関数】ステップ , 符号関数 , シグモイド , ReLU , Softmax , tanh 【クラスタリング】k-means 【強化学習】強化学習とは , 価値関数 , ベルマン方程式 , マルコフ決定過程 , ε-greedy法 , TD学習_スキナー箱 , TD学習_cartpole , モンテカルロ法 , Deep Q-Network , DQN_cartpole , Experience Replay 【GAN】GANとは , DCGAN , seqGAN , seqGAN用文章データ作成

■ソフトウェア / 情報工学
アルゴリズムの計算量 , ホーナー法 , 二分探索法 , プログラムとスクリプト , モデルベース開発 , ValidationとVerification , アジャイルとウォーターフォール , ブートローダ , DX , ブロックチェーン , 情報エントロピー 【暗号化技術】エンコード,デコード , ハッシュ関数 , 暗号化の仕組み 【自然言語処理】青空文庫の本文を抽出 , 形態素解析 , 辞書作成, Bag Of Words , Word2Vec 【画像処理】画像フィルタ , パディング処理 , アフィン変換 【スクレイピング】スクレイピングとは , 画像ダウンロード , malformed AAC bitstream

■自動車工学
【エンジン, パワートレイン】1サイクル当たりの燃料量の求め方 , BSFC , IMEP, BMEP , ハイブリッドシステム 【車両運動】車の加速度の求め方 , トルクと出力の関係 , 回転数と車速 , タイヤサイズ , ディスクブレーキ , 走行抵抗 , PWR,PMR , コーナリングフォース , ロール, ピッチ, ヨー , 旋回半径 【認証試験,法規制】WLTCモード , 認証試験モード , CD/CSモード , 2サイクル, 5サイクル試験 , モデルイヤー , OBD , 法規制, 規格 , AC電費, DC電費 【バッテリー】バッテリー容量の比較 , バッテリーの充電時間 , バッテリー関連用語 , 普通充電, 急速充電 【部品, その他】オルタネータ , エアコン,チラーの原理 , フェイルセーフ, フールプルーフ, インターロック , ギアの種類, スプライン , ラジアル, スラスト , バックラッシュ , WL方向, BL方向, TL方向 , デフ, LSD 【プラントモデル】車両加減速運動 , 電気自動車の車両加減速運動 , ハイブリッド車の加減速運動 【生産技術】溶接の種類 , 加工, 成形の種類

■化学
原子, 元素 , 素粒子 , 酸化還元反応 , 反応熱 , 金属のイオン化傾向 , 活性化エネルギー , 分極と過電圧 , ボルタ電池,ダニエル電池 , 鉛電池 , リチウムイオン電池 , アレニウスの式 , アルコールとエタノール , レアメタル, レアアース, 貴金属

■Python Pythonとは
【ライブラリのインストール方法】pipの使い方, numpy, matplotlib等, Mecab, pytorch, graphviz 【基本的な使い方】IDLE, Jupyter Notebook, Markdown, コマンドプロンプトで実行, 仮想環境の構築, 仮想環境でIDLEの実行 【Pythonの関数】関数一覧, append, extend, class, copy, csv.writer, csv.reader, dict, def, return, enumerate, exit, for, if, import, in, input, lambda, len, list, min/max, OrderedDict, open/close, os, pickle, print, range, re.split, read/readline, round, floor, ceil, split, sys.argv, time, while, write, zip, __iter__, __next__, __name__, 正規表現,メタ文字, データ型の種類, 四則演算, コメントアウト 【numpy】append, arange, argmax/argmin, array, asfarray, astype,dtype, digitize, dot, hstack/vstack, linspace, linalg.solve, mean, max,min, meshgrid, mgrid, ndim, ndmin, pad, poly1d, polyfit, prod, random, reshape, savetxt, loadtxt, shape, std, transpose, where, zeros , zeros_like 【scipy】expit, imread, interpolate 【matplotlib】imshow, figure, pcolormesh, plot, quiver, scatter 【scikit-learn】GaussianNB, KMeans, KNeighborsClassifier, SVC, tree chaospy keras chainer chainerrl tensorflow 【pytorch】device, BCELoss, MSELoss, Embedding, RNN, LSTM, Sequential, TensorDataset, Dataloader 【OpenAI】Blackjack-v0, CartPole-v0 【tkinter】frame , grid, 画像表示, 画像切り取り, 画像保存 【目的別】ステップ関数, 1 of K 法, 線形補間, 配列に番号を付与, ヒステリシススイッチ, ベクトル場を描く, 線形回帰, 多項式回帰

■Scilab Scilabとは , インストール/起動方法 , 起動画面
【XCOS】使い方の基本 , シミュレーション方法 , パラメータ設定方法 , スーパーブロック化 , 信号線,ブロックの整列 ブロック:一覧 , CLOCK , CLR , CLSS ,CONST , CMSCOPE , CSCOPE , DEMUX , DERIV , GAIN , GENSQR , GENSIN , HYSTHERESIS , INTEGRAL , INTERLBLK , MUX , PRODUCT , PULSE , RELATIONALOP , RFILE_f , STEP_FUNCTION , SUMMATION , SWITCH2 , TIME_DELAY , TOWS エラーへの対応:添え字エラー , シミュレーションフリーズ
【コンソール】使い方の基本 , ボード線図の描き方 , 行列, 逆行列の定義 関数一覧 , bode , cat , csvWrite , poly , syslin , ppol

■Arduino UNO , Arduino UNOとは
Arduino UNOのスペック , インストール手順 , 簡単な動作確認 , LEDを点滅させる , データを時間軸で表示 , モーターを駆動する 【角速度センサを使う】角速度情報を入力 , 入力情報を時間軸で表示 , 角速度に変換 , 傾斜角を計算

■Excel
【設定】データ分析タブ追加 【関数】COUNT, COUNTIF, IMEXP, INDEX, MATCH, VLOOKUP, INDEX vs VLOOKUP 【オブジェクト】オブジェクトの結合,切り抜き









サブチャンネルあります。⇒ 何かのお役に立てればと