出版社内容情報
本書は、制御対象のふるまいを予測しながら最適な操作量を計算する「モデル予測制御」を題材に、理論だけで終わらせず、実際に動く高速で読みやすいC++コードとして実装するための実践書です。スパース行列を活用した効率的な行列演算、制御アルゴリズムのライブラリ設計、Pythonによるモデル化・検証からC++コード生成、組込みシステムへの実装までを一気通貫で解説します。生成AIも設計・実装の補助として取り入れながら、現場で再利用できる開発ワークフローと高速化の考え方を身につけます。制御の知識をソフトウェアとして形にしたいエンジニア、研究者、大学院生に向けて、自ら実装し、検証し、改善できる力を育てる一冊です。
【目次】
### ライブラリとサンプルコード
### 動作環境
### 本書をお読みになる前に
### はじめに
### 目次
# 第1章:制御系設計の目的
## 制御とは
### フィードバック制御
### 物理を理解し、操る
### ラプラス変換によるダイナミクス表現
### 制御工学最大の発明「PID制御」
### 制御器の汎用化
## 制御アルゴリズムのソフトウェア実装
### ハードウェア実装の限界
### z変換を使ったプログラム化
### ソフトウェア実装のメリット、デメリット
### アナログとデジタル、連続と離散
## 組み込み実装の難しさ
### メモリ、計算速度の制約
### リアルタイム実行の必要性
### 実機デバッグの困難さ
### 安全性の要求
## モデルベース開発
### シミュレーションの活用
### 設計フェーズをレイヤに分ける
### コード生成
### MBDの課題
## 本書のゴール
### 実現すること
### モデル予測制御を高い計算効率で実装する
### 本書の内容
### 生成AI時代にあるべきMBDの姿
### 生成AIがあれば技術者は不要なのか
## 参考資料
# 第2章:制御系設計ワークフローを理解する
## 制御プログラムの参照モデル
### 1層:物理層
### 2層:論理回路層
### 3層:プロセッサ層
### 4層:アセンブル層
### 5層:コンパイル層
### 6層:振る舞い層
### 7層:アルゴリズム層
## アルゴリズム実装の観点
### 物理量を表すデータ型
### 固定小数点数
### 浮動小数点数の数値計算不安定問題
### 行列の条件数で不安定性を調べる
### 浮動小数点数のゼロ除算回避
### 浮動小数点数の論理演算
## 言語実装の観点
### メモリ範囲外アクセスの保護
### 無限ループの回避
### 制御実行時におけるメモリ動的割り当ての禁止
### 可能ならRustを使いたい
## ワークフローの設計
### MPC実装の流れ
### C++による実装の流れ
### 開発フェーズの違い
### 開発環境を提案
## ライブラリのアーキテクチャ設計
### MPCの学問体系
### 既存Pythonライブラリの現状
### G



