モデル予測制御のソフトウェア設計と実装──Pythonによるモデル化・検証とC++ライブラリ開発 [単行本]
    • モデル予測制御のソフトウェア設計と実装──Pythonによるモデル化・検証とC++ライブラリ開発 [単行本]

    • ¥3,520106 ゴールドポイント(3%還元)
    • 在庫あり2026年11月9日月曜日までにヨドバシエクストリームサービス便(無料)がお届け

モデル予測制御のソフトウェア設計と実装──Pythonによるモデル化・検証とC++ライブラリ開発 [単行本]



ゴールドポイントカード・プラスのクレジット決済で「書籍」を購入すると合計12%ゴールドポイント還元!【合計12%還元】書籍の購入はゴールドポイントカード・プラスのクレジット決済がお得です。
通常3%ゴールドポイント還元のところ、後日付与されるクレジット決済ポイント(1%)と特典ポイント(6%)、さらにご利用明細WEBチェックにご登録いただくと2%追加して合計12%ゴールドポイント還元!詳しくはこちら

価格:¥3,520(税込)
ゴールドポイント:106 ゴールドポイント(3%還元)(¥106相当)
フォーマット:
お届け日:在庫あり今すぐのご注文で、2026年11月9日月曜日までにヨドバシエクストリームサービス便(無料)がお届けします。[届け先変更]詳しくはこちら
出版社:技術評論社
販売開始日: 2026/11/07
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可
店舗受け取りが可能です
マルチメディアAkiba、マルチメディア梅田、マルチメディア博多では24時間営業時間外でもお受け取りいただけます マルチメディア池袋では朝6:00〜23:30の間、営業時間外でもお受け取りいただけます

モデル予測制御のソフトウェア設計と実装──Pythonによるモデル化・検証とC++ライブラリ開発 の 商品概要

  • 目次

    ■第1章:制御系設計の目的
    フィードバック制御
    物理を理解し、操る
    ラプラス変換によるダイナミクス表現
    制御工学最大の発明「PID制御」
    制御器の汎用化
    ハードウェア実装の限界
    z変換を使ったプログラム化
    ソフトウェア実装のメリット、デメリット
    アナログとデジタル、連続と離散
    メモリ、計算速度の制約
    リアルタイム実行の必要性
    実機デバッグの困難さ
    安全性の要求
    シミュレーションの活用
    設計フェーズをレイヤに分ける
    コード生成
    MBDの課題
    実現すること
    モデル予測制御を高い計算効率で実装する
    本書の内容
    生成AI時代にあるべきMBDの姿
    生成AIがあれば技術者は不要なのか

    ■第2章:制御系設計ワークフローを理解する
    1層:物理層
    2層:論理回路層
    3層:プロセッサ層
    4層:アセンブル層
    5層:コンパイル層
    6層:振る舞い層
    7層:アルゴリズム層
    物理量を表すデータ型
    固定小数点数
    浮動小数点数の数値計算不安定問題
    行列の条件数で不安定性を調べる
    浮動小数点数のゼロ除算回避
    浮動小数点数の論理演算
    メモリ範囲外アクセスの保護
    無限ループの回避
    制御実行時におけるメモリ動的割り当ての禁止
    可能ならRustを使いたい
    MPC実装の流れ
    C++による実装の流れ
    開発フェーズの違い
    開発環境を提案
    MPCの学問体系
    既存Pythonライブラリの現状
    Gitリポジトリ構造
    数学計算ライブラリ
    オブジェクト指向とクラス設計

    ■第3章:行列計算のライブラリ化とC++実装
    分かりやすい、かつ速い「ゼロコスト抽象」
    行列の定義
    行列同士の演算
    制御工学で扱う行列の特徴
    行列計算のライブラリ構造
    C++バージョンについて
    メモリのどこに格納するか
    行優先と列優先──データをどう並べるか
    テンプレートクラスによる汎化
    行列の演算を定義
    インライン展開と参照渡し
    for文の効率化
    テンプレートメタプログラミング
    範囲外アクセスの保護
    転置行列の定義
    対角行列の定義
    スパース行列の表現方法「CSR形式」
    スパース行列の加算
    スパース行列の行列積
    CSR形式のテンプレートメタプログラミング
    コンパイル時展開型CSR形式スパース行列の定義
    スパース行列のループアンローリング
    逆行列の定義
    効率的な逆行列計算「GMRES法」
    GMRES法の実装
    3種類の行列クラスを使い分ける
    機能の構造化
    「名前空間」による名前被り防止
    逆行列計算クラスの定義

    ■第4章:制御工学計算のライブラリ化とC++実装
    離散時間かつ線形の状態空間を実装
    テンプレート関数の型推論
    クラスに属する型エイリアスと定数
    型と実体の作り方を統一する
    状態空間クラスインスタンスを自動コード生成
    行列クラスインスタンスを自動コード生成
    空のスパース行列
    コード生成スクリプト
    カルマンフィルタの機能
    カルマンフィルタの計算の流れ
    カルマンフィルタクラスを定義(Python)
    カルマンゲインGの収束演算
    カルマンフィルタクラスを定義(C++)
    C++カルマンフィルタのクラスインスタンスコード生成
    むだ時間の実装

    ■第5章:モデル予測制御計算のライブラリ化とC++実装
    1. プラントモデリング
    2. MPCの定義とシミュレーション
    3. C++コード生成と動作確認
    4.実機実装
    メンバー変数を作る
    指令値軌道Rの作り方
    むだ時間を補償する機能
    最適化アルゴリズム「アクティブセット法」
    最適化計算を実現する「KKT連立方程式」
    可変サイズの行列計算
    制約を管理する「アクティブセット」クラス
    最適化の反復計算
    実現したいコード
    関数オブジェクト
    数式計算の実装
    数式計算から数値計算へ変換
    関数化とクラス化
    数式からC++までコード生成
    抽象構文木によるPythonコード解析
    C++の関数オブジェクト

    ■Appendix:開発環境の構築とNMPC実装
    コード実行環境
    1. WSLの有効化
    2. Ubuntu 24.04をインストール
    3. Visual Studio Code(VSCode)をインストール
    4. WSL Ubuntuの起動
    5. Dockerのインストール
    6. Dockerイメージを作成
    7. ライブラリのサンプルコードを実行
    C++デバッガのバグ
    環境の準備
    計測実行
    NMPCの設計内容
  • 内容紹介

    本書は、制御対象のふるまいを予測しながら最適な操作量を計算する「モデル予測制御」を題材に、理論だけで終わらせず、実際に動く高速で読みやすいC++コードとして実装するための実践書です。スパース行列を活用した効率的な行列演算、制御アルゴリズムのライブラリ設計、Pythonによるモデル化・検証からC++コード生成、組込みシステムへの実装までを一気通貫で解説します。生成AIも設計・実装の補助として取り入れながら、現場で再利用できる開発ワークフローと高速化の考え方を身につけます。制御の知識をソフトウェアとして形にしたいエンジニア、研究者、大学院生に向けて、自ら実装し、検証し、改善できる力を育てる一冊です。
  • 著者について

    新帯 俊信 (シンタイ トシノブ)
    電気電子工学系の大学院修士課程修了。メーカーに就職後、制御理論・制御工学、強化学習などを活用し、電力変換器や移動体などの制御設計と開発に従事。先行開発から量産開発まで、効率良く開発を進める「モデルベース開発」の基盤技術構築に貢献。数社転職の後、現在は自動車業界の大手メーカーにて自動運転制御機能の開発設計に従事。

モデル予測制御のソフトウェア設計と実装──Pythonによるモデル化・検証とC++ライブラリ開発 の商品スペック

商品仕様
出版社名:技術評論社
著者名:新帯俊信(著)
発行年月日:2026/11
ISBN-10:4297160455
ISBN-13:9784297160456
判型:A5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:296ページ
他の技術評論社の書籍を探す

    技術評論社 モデル予測制御のソフトウェア設計と実装──Pythonによるモデル化・検証とC++ライブラリ開発 [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!