買い物かごへ

MATLABと実験でわかるはじめての自動制御

定価(税込)  2,970円

著者
著者
サイズ B5判
ページ数 208頁
ISBNコード 978-4-526-06098-4
コード C3053
発行月 2008年07月
ジャンル 機械

内容

本書は、MATLABを使ってシミュレーションや実験により自動制御をやさしく解説するもの。システムのモデリングや運動モデルの表現方法といったシミュレーションをおこなう重要項目をはじめ、実際にSimulink上に構成する各種手法を取り上げる。自動制御を構築する実践的な技術や制御理論の基本を身につけられる。

目次

目 次

はじめに/i

第1編 自動制御のためのMATLAB入門



第1章 MATLABのコマンドラインを使ったプログラミング

1.1 MATLABの起動とコマンドウィンドウ

1.2 コマンドラインを使った演算方法と行列

1.2.1 数値の四則演算

1.2.2 行列の表現方法と行列の演算

1.2.3 行列の加算と減算

1.2.4 行列の積算

1.2.5 行列の除算

1.3 グラフ表示と繰り返し演算

1.4 既定の定数と演算子

1.4.1 定数と一般演算子

1.4.2 条件分岐命令と繰り返し演算

1.4.3 その他の関数





第2章 M―fileを使ったプログラムの作成



第2編 自動制御のためのSimulink



第1章 はじめてのSimulink

1.1 Simulinkの特徴

1.2 Simulinkの起動

1.3 ブロック線図によるシミュレーションプログラムの作成





第2章 ブロック線図とシミュレーション

2.1 ブロックの機能と設定

2.2 よく利用されるブロック

2.2.1 Sourcesグループのブロック

2.2.2 Sinksグループのブロック

2.2.3 Math Operationsグループのブロック

2.2.4 Continuousグループのブロック





第3章 Simulinkによる制御システムのシミュレーション

3.1 伝達関数を使ったシミュレーション

3.2 フィードバック制御系のシミュレーション



第3編 自動制御システムのシミュレーションと周波数解析



第1章 Simulinkによるシステムの記述と制御

1.1 簡単なシステムのブロック線図表現





第2章 オンオフ制御とフィードバック制御のシミュレーション

2.1 シミュレーションするシステムの構成

2.2 オンオフ制御のシミュレーション

2.3 連続制御のシミュレーション(比例制御)

2.4 PI制御のシミュレーション





第3章 PID制御実験とシミュレーション

3.1 実際に制御するための計測制御装置

3.2 実験モデル

3.3 PID制御のシミュレーション

3.4 PIDコントローラを使った自動制御装置





第4章 周波数応答特性と安定性の解析

4.1 伝達関数と周波数特性

4.2 ナイキスト線図

4.3 ナイキストの安定判別法

4.4 ボード線図

4.5 実際のフィードバックシステムの解析

4.6 ナイキスト線図とボード線図の関係



第4編 MATLABを使ったDSP制御



第1章 MATLABによるDSPの入出力制御

1.1 MATLABを利用したDSP制御

1.2 DSP制御装置の構成

1.3 DSPの制御に必要なソフトウェアのインストール

1.4 S―BOXの入出力を制御するデバイスブロック

1.5 Simulinkによるアナログ入出力プログラム

1.6 SimulinkモデルのCコード生成とコンパイル

1.7 DSPプログラムの書き込み

1.8 プログラムの実行





第2章 自動制御システムの記述とDSP制御

2.1 モータ制御の実験装置

2.2 制御対象の特性実験

2.3 制御対象のシミュレーション



第3章 DSPによるPID制御実験

3.1 実験装置の構成

3.2 DSP制御プログラムの作成

3.3 実験結果とシミュレーションの比較



第5編 Visual C#によるPID制御



第1章 ActiveXを使ったアナログ入出力ボードの制御

1.1 アナログ入出力ボードの設定

1.2 Visual C#の起動

1.3 ActiveXコンポーネントの組み込み

1.4 ActiveXコンポーネントのメソッド





第2章 アナログ入出力ボードを使ったフィードバック制御

2.1 フィードバック制御システムの構成

2.2 比例フィードバック制御プログラム

2.3 PIDフィードバック制御プログラム



第6編 Visual C++を使ったモータのPID制御



第1章 実験装置の概要とプログラム作成

1.1 実験装置の概要

1.2 実験装置の構成

1.3 プログラムの作成のための準備

1.3.1 プロジェクトの作成

1.3.2 ActiveXのインストールと参照の設定

1.4 モータのPID制御プログラム

1.4.1 ActiveXコントロールの設定

1.4.2 ポテンショメータからの信号の取得

1.4.3 取得データをファイルに保存するための準備

1.4.4 各種パラメータの設定

1.4.5 実験開始プログラムの作成

1.4.6 実験結果のグラフ





第2章 モータのPID制御のシミュレーション

2.1 MATLAB Simulinkを使ったシミュレーションモデル

2.2 自動制御における微分回路の影響



第7編 ロバストな制御系の構築と実験



第1章 制御対象のモデリングと制御系設計

1.1 制御対象のモデリング

1.2 制御対象のブロック線図表現

1.3 リニアモータの位置フィードバック制御系の設計

1.4 PD制御器とPID制御器における外乱に対する応答の比較

1.5 位置制御系の実装実験

1.6 MATLABを使ったPID制御のシミュレーション

1.7 RT―Linuxを使ったPID制御プログラム





第2章 外乱オブザーバを用いたロバストな制御系の構築

2.1 制御系のロバスト性

2.2 外乱オブザーバの基本原理

2.3 外乱オブザーバによる加速度制御系の構築

2.4 位置から加速度を推定した制御

2.5 外乱オブザーバとフィードバック制御





第3章 外乱オブザーバを用いたロバストな位置制御の実験

3.1 外乱オブザーバを用いたロバストな位置制御系の設計

3.2 外乱オブザーバを用いたロバストな位置制御系の実装実験



第8編 状態変数を使ったフィードバック制御



第1章 運動方程式と状態変数



第2章 リニアモータの状態変数表現



第3章 倒立振子の状態変数表現



第4章 状態フィードバック

4.1 状態フィードバックと極配置

4.2 状態フィードバックゲインの計算

4.3 定常偏差の処理

4.4 状態方程式から伝達関数への変換



第9編 状態フィードバックを使った実験とシミュレーション



第1章 倒立振子のモデリング

1.1 倒立振子の制御問題

1.2 倒立振子の数学モデル表現

1.3 可制御性の検討

1.4 安定性

1.5 状態フィードバック制御系の構成

1.6 実験装置の概要





第2章 MATLABによる数値シミュレーション





第3章 倒立振子の制御実験

3.1 Visual Basicを使った実験

3.2 Visual Basicによる実験用プログラム

3.2.1 正確なサンプリングタイムの設定

3.2.2 計測データの初期値設定

3.2.3 タイマイベントによる振子角度と台車変位のモニタリングと初期値設定

3.2.4 指令電圧値の計算手順とACサーボモータへ与える制御入力指令電圧値の出力

3.3 制御実験結果





第4章 状態空間モデルに関する数学的表現

4.1 行列による表現方法

4.2 固有値と固有ベクトル

4.3 モード行列と対角化

4.4 状態方程式の解

4.5 状態方程式と伝達関数表現の関係





参考文献



索 引

はじめに

は じ め に

本書は、はじめて自動制御を勉強する方のために、やさしく書かれた入門書です。特に、即効的に実践で使えるように、数学的な理論や証明の理解に時間をかけることなく、自動制御を具体的なイメージを描いて理解してもらうことを優先しています。実験やシミュレーションについては図表を多く使い、パソコンの画面をそのまま掲載するなどして、できるだけわかりやすく説明しました。

自動制御の理論は良くわからないが、とりあえず実験してみたい、初めて自動制御を学ぶのだけれども、まずどのようなものか知ってみたい、学生に自動制御をやさしく教えたい、といった場合などにも効果的に利用できます。

従来、自動制御の教科書の多くが、数式や行列演算を使って理論から記述されていて、数学にあまり強くない勉学者には高い壁となっていました。本書は、もっとやさしく自動制御を理解するために、数学の勉強からはじめるのではなく、制御の動作やシステム構成をやさしいイメージで捉えられるように工夫して、簡単に理解することにこだわって執筆しました。また、誌上実験を数多く行い、実験を通して理解度を深めてもらえるように構成しています。実験に使ったプログラムはそのまま掲載してありますので、パソコンが手元にあれば、市販のインターフェイスなどを準備することで、学校の教室などでも簡単に実験できるようになっています。実験と並行してシミュレーションを行い、実験結果の解析と解説を行っています。

もちろん、記載されている実験手順や解説を読まれるだけでも理解ができるように詳しく述べてありますが、もし読者が実験かシミュレーションを行える環境にあれば、より早く自動制御のイメージを自分のものにすることができるでしょう。実験道具を準備することが難しいという読者であれば、掲載されたシミュレーションのプログラムを実行するだけでも十分に理解度が深まります。

シミュレーションにはMATLABとSimulinkを利用しています。MATLABの操作方法から勉強しようとしている初学者でも、自動制御のシミュレーションを無理なく導入できるように初歩からわかりやすく説明してあります。本書では、MATLABをシミュレーションに利用するだけでなく、機械制御にも利用する方法も紹介してあります。

MATLABは2つの強力なプログラミングツールを持っています。ひとつはコマンドラインで、もうひとつがSimulink(シミュリンク)です。コマンドラインを使ったプログラミングはMATLABの演算の基本です。コマンドラインの演算方法を知ることはMATLABそのものを理解するのに役立ち、シミュレーションの応用に役立ちます。

SimulinkはパソコンのGUIを使って視覚的にプログラミングできる優れたシミュレーションツールです。Simulinkの中には信号を発生するブロックや、波形表示するブロックなどが用意されていて、そのブロックを画面に貼り付けてお互いに線でつなぐだけで簡単にシミュレーションができるようになっています。

そこで、Simulinkの機能を使ってシミュレーションをする方法を解説し、Simulink上に制御システムのモデルとコントローラを記述してPID制御や状態フィードバック制御のシミュレーションを行っています。

実験にはWindowsを搭載したパソコンを使用しました。市販のアナログ入出力ボードを使って自動制御の実験をする具体的な手順とC言語などの制御プログラムを掲載していますので、同じ環境を整えればすぐに実験結果が得られるようになっています。

初心者が自動制御の基本を勉強するには古典制御と呼ばれている、PID制御の手法をしっかり勉強するのが近道です。この意味で、PID制御についてはいくつもの例と実験とシミュレーションを掲載し、さまざまな角度からアプローチして解説しています。

古典制御の考え方をマスターしたら、これを導入として、現代制御理論を使った応用手法まで学習できるような構成にしました。

現代制御理論については、外乱と呼ばれる負荷やシステムの変化に対して、位置、速度、力などの出力が変動しないようにするロバスト性を高めるための手段である、外乱オブザーバの考え方とそれを制御装置に実装するロバスト制御の作り方を紹介しています。さらに現代制御理論の要である状態フィードバック制御について解説し、実験とシミュレーションを使って容易に理解できるように工夫しました。

この本に書かれている内容をひと通りマスターすることで、自動制御システムを構築する実践的な技術や、制御理論の基本を身に付けることができます。



本書の各項目は、下記の執筆者によって分担して書かれ、熊谷英樹と大石潔が編纂しました。

各編の著者と主な執筆内容は以下の通りです。

第1編 自動制御のためのMATLAB入門 (熊谷英樹)

第2編 自動制御のためのSimulink (成田義也・熊谷英樹)

第3編 自動制御システムのシミュレーションと周波数解析 (熊谷英樹)

第4編 MATLABを使ったDSP制御 (熊谷英樹)

第5編 Visual C#によるPID制御 (熊谷英樹)

第6編 Visual C++を使ったモータのPID制御 (武村史朗・熊谷英樹)

第7編 ロバストな制御系の構築と実験 (桂誠一郎・熊谷英樹)

第8編 状態変数を使ったフィードバック制御 (大石 潔・熊谷英樹)

第9編 状態フィードバックを使った実験とシミュレーション (日野満司・小笠原健一)



本書が読者諸賢の参考書として大いに活用されることを心から望んでいます。



平成20年7月

編者代表 熊谷 英樹

買い物かごへ