基于MATLAB/Simulink的嵌入式魯棒控制系統(tǒng)設(shè)計(jì)
定 價(jià):149 元
叢書名:電子與嵌入式系統(tǒng)設(shè)計(jì)譯叢
本書面向現(xiàn)代控制理論在高性能控制律開發(fā)中的應(yīng)用,主要基于MATLAB和Simulink編程環(huán)境,介紹如何設(shè)計(jì)并實(shí)現(xiàn)嵌入式魯棒控制系統(tǒng)。書中包含許多重要的示例,用以說明理論結(jié)果的實(shí)際實(shí)現(xiàn)。
本書旨在提供有關(guān)基于MATLAB和Simulink實(shí)現(xiàn)嵌入式控制系統(tǒng)開發(fā)的必要知識(shí),本書面向現(xiàn)代控制理論在高性能控制律(這些控制律確保閉環(huán)系統(tǒng)對(duì)被控對(duì)象不確定性具有良好的動(dòng)態(tài)性和魯棒性)開發(fā)中的應(yīng)用,將重點(diǎn)放在應(yīng)用開發(fā)問題上,主要介紹實(shí)際中常用的線性控制器的設(shè)計(jì)。書中包含了許多重要的示例,用以說明理論結(jié)果的實(shí)際實(shí)現(xiàn)。隨書提供可免費(fèi)下載的資料,其中包含相應(yīng)章節(jié)中所有示例的MATLAB和Simulink文件。本書可以作為在控制工程領(lǐng)域?qū)W習(xí)的碩士生和博士生以及在該行業(yè)工作的控制工程師的參考資料,也可供對(duì)MATLAB和Simulink在控制系統(tǒng)設(shè)計(jì)中的實(shí)現(xiàn)感興趣的控制工程研究人員參考。
前 言本書的宗旨本書旨在提供有關(guān)基于MATLAB和Simulink實(shí)現(xiàn)嵌入式控制系統(tǒng)開發(fā)的必要知識(shí)。同時(shí),MATLAB和Simulink提供了一個(gè)復(fù)雜的編程環(huán)境,該環(huán)境可用于嵌入式控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。在本書中,利用 Simulink 模型自動(dòng)生成和嵌入控制代碼的方式,可以快速開發(fā)高效且無錯(cuò)誤的代碼。自動(dòng)代碼生成和可用的強(qiáng)大處理器使得復(fù)雜高階控制器的實(shí)現(xiàn)成為可能,從而可以實(shí)現(xiàn)快速和高性能的閉環(huán)動(dòng)態(tài)。本書面向現(xiàn)代控制理論在高性能控制律(這些控制律確保閉環(huán)系統(tǒng)對(duì)被控對(duì)象不確定性具有良好的動(dòng)態(tài)性和魯棒性)開發(fā)中的應(yīng)用,因此以盡可能少的篇幅介紹理論開發(fā)方面的內(nèi)容,而將重點(diǎn)放在應(yīng)用開發(fā)問題上。控制理論的基本結(jié)果沒有給出證明,若想要獲取更多相關(guān)信息,建議讀者查閱相應(yīng)章節(jié)結(jié)尾處的注釋和參考文獻(xiàn)。本書包含了許多重要的示例,用以說明理論結(jié)果的實(shí)際實(shí)現(xiàn)。雖然書中大多數(shù)例子取自運(yùn)動(dòng)控制領(lǐng)域,但也可供其他領(lǐng)域的設(shè)計(jì)師使用。本書主要介紹了實(shí)際中常用的線性控制器的設(shè)計(jì)。這種線性控制方法已經(jīng)被小增量線性化原理證明是合理的,該原理指出幾乎任何自然過程在任何地方都是小量線性的。幸運(yùn)的是,正如 Kostrikin和Manin [1]所指出的那樣,該原理存在的有效小鄰域是足夠大的。本書的一個(gè)重要部分是可免費(fèi)下載的資料,其中包含相應(yīng)章節(jié)中所有示例的MATLAB和Simulink文件。 使用這些材料有助于理解嵌入式控制系統(tǒng)分析和設(shè)計(jì)中出現(xiàn)的不同問題。讀者對(duì)象本書可以作為在控制工程領(lǐng)域?qū)W習(xí)的碩士生和博士生以及在該行業(yè)工作的控制工程師的參考資料,也可供對(duì)MATLAB和Simulink在控制系統(tǒng)設(shè)計(jì)中的實(shí)現(xiàn)感興趣的控制工程研究人員參考。前4章也適用于嵌入式控制系統(tǒng)設(shè)計(jì)方面的研究生課程。本書內(nèi)容本書由7章和6個(gè)附錄組成。第1章簡(jiǎn)要介紹嵌入式控制系統(tǒng)和相應(yīng)的設(shè)計(jì)過程。第2章描述與被控對(duì)象模型開發(fā)相關(guān)的幾個(gè)基本問題,如線性化、離散化、隨機(jī)建模和辨識(shí)等。本章還包含一節(jié)關(guān)于不確定性建模的內(nèi)容。第3章關(guān)注嵌入式控制器設(shè)計(jì)中的性能要求和設(shè)計(jì)限制。本章的重要部分是關(guān)于不確定性系統(tǒng)的魯棒穩(wěn)定性和魯棒性能分析的幾節(jié)。第4章詳細(xì)介紹現(xiàn)代控制理論中使用的5種基本控制器的設(shè)計(jì):比例積分導(dǎo)數(shù)(PID)控制器、線性二次高斯(LQG)控制器、帶有H?濾波器的線性二次(LQ)調(diào)節(jié)器、H?控制器和控制器。出于比較的目的,所有控制器都在同一個(gè)被控對(duì)象著名的小車單擺系統(tǒng)上實(shí)現(xiàn)。 我們考慮了這些控制器設(shè)計(jì)中可能存在的困難,并比較了相應(yīng)閉環(huán)系統(tǒng)的特性。針對(duì)被控對(duì)象參數(shù)值的最壞組合情況,這些特性通過閉環(huán)系統(tǒng)的硬件在回路(HIL)仿真中進(jìn)行了展示。在后面的3章中,我們介紹3個(gè)案例,詳細(xì)描述3個(gè)嵌入式控制系統(tǒng)設(shè)計(jì)中存在的理論和實(shí)踐問題。第5章介紹水箱作為被控對(duì)象的低成本控制系統(tǒng)的設(shè)計(jì)。想要在嵌入式系統(tǒng)設(shè)計(jì)中使用低成本處理器的讀者應(yīng)該會(huì)對(duì)本章感興趣。第6章專門討論微型直升機(jī)的魯棒控制。我們考慮高階控制器的實(shí)現(xiàn),以確保閉環(huán)系統(tǒng)在嚴(yán)重風(fēng)干擾情況下的魯棒性能。第7章介紹兩輪機(jī)器人嵌入式控制系統(tǒng)的設(shè)計(jì)。在這種情況下,我們通過實(shí)驗(yàn)演示了 30 階控制器的實(shí)現(xiàn),該控制器可確保閉環(huán)系統(tǒng)在被控對(duì)象存在不確定性的情況下的魯棒穩(wěn)定性和控制性能。在附錄A~附錄D中,我們分別從矩陣分析、線性系統(tǒng)理論、隨機(jī)過程和線性模型辨識(shí)等方面給出一些必要的基礎(chǔ)知識(shí)。在附錄E和附錄F中,我們分別討論一些重要的實(shí)際問題,例如,傳感器和DSP之間的連接以及霍爾編碼器對(duì)角速度的測(cè)量等。致謝在此要感謝在本書的準(zhǔn)備過程中提供過幫助的一些人和機(jī)構(gòu)。特別感謝MathWorks公司的持續(xù)支持,感謝萊斯特大學(xué)的 DaWei Gu 教授和賓夕法尼亞大學(xué)的 Nicolai Christov 教授的多次討論和幫助。非常感謝 IET 編輯人員的協(xié)助和審稿人提出的意見。我們也非常感謝索非亞技術(shù)大學(xué)工程英語(yǔ)系主任Tasho Tashev教授近年來對(duì)我們工作的持續(xù)支持。如何使用可下載的資料我們提供250多個(gè) .m和 .slx格式的文件,用于嵌入式控制系統(tǒng)的設(shè)計(jì)、分析和HIL仿真,這些資料可以從www.cmpreading.com獲取。為了使用 .m 和 .slx格式的文件,讀者應(yīng)該擁有 MATLAB 和 Simulink R2016a(或更高版本),以及控制系統(tǒng)工具箱(Control System Toolbox)和魯棒控制工具箱(Robust Control Toolbox)。第5章中描述的程序需要利用Arduino Hardware和 Arduino IDE 的仿真支持包(Simulink Support Package)。第6章和第7章需要安裝代碼調(diào)試器(Code Composer Studio)6.0.0版、控制套裝軟件(Control Suite)3.3.9 版和 C2000代碼生成工具(Code Generation Tools)6.4.6版。
佩特科·H.佩特科夫 索尼奧·N.斯拉沃夫 喬丹·K.克拉列夫 2017年12月于保加利亞索非亞
目 錄譯者序前言第1章 嵌入式控制系統(tǒng) 11.1 引言 11.2 嵌入式控制系統(tǒng)的結(jié)構(gòu)和組成 21.2.1 典型框圖 21.2.2 A/D和D/A轉(zhuǎn)換 31.2.3 傳感器 41.2.4 執(zhí)行器 41.2.5 處理器 51.2.6 軟件 61.3 采樣和混疊 71.4 定點(diǎn)運(yùn)算 91.4.1 定點(diǎn)數(shù) 91.4.2 縮放 111.4.3 范圍和精度 141.4.4 定點(diǎn)算術(shù)運(yùn)算 151.5 浮點(diǎn)運(yùn)算 171.5.1 浮點(diǎn)數(shù) 171.5.2 IEEE運(yùn)算 181.5.3 浮點(diǎn)算術(shù)運(yùn)算 201.6 量化效應(yīng) 201.6.1 截?cái)嗪蜕崛搿 ?01.6.2 A/D轉(zhuǎn)換中的量化誤差 221.7 設(shè)計(jì)階段 231.7.1 控制器設(shè)計(jì) 251.7.2 閉環(huán)系統(tǒng)仿真 271.7.3 嵌入式代碼生成 281.8 硬件配置 291.8.1 微處理架構(gòu) 291.8.2 硬件描述語(yǔ)言 321.8.3 模塊級(jí)開發(fā) 351.8.4 系統(tǒng)級(jí)開發(fā) 391.9 軟件配置 421.9.1 板級(jí)支持包 431.9.2 應(yīng)用程序接口 441.9.3 代碼生成 451.9.4 代碼驗(yàn)證 471.10 注釋和參考文獻(xiàn) 48第2章 系統(tǒng)建! 492.1 被控對(duì)象建! 492.2 線性化 512.2.1 解析線性化 512.2.2 符號(hào)線性化 532.2.3 數(shù)值線性化 552.3 離散化 572.3.1 離散時(shí)間模型 572.3.2 離散時(shí)間頻率響應(yīng) 582.3.3 連續(xù)時(shí)間模型的離散化 602.3.4 時(shí)滯系統(tǒng)的離散化 632.3.5 采樣周期的選擇 642.3.6 非線性模型的離散化 652.4 隨機(jī)建模 662.4.1 隨機(jī)線性系統(tǒng) 662.4.2 隨機(jī)模型的離散化 682.4.3 最優(yōu)估計(jì) 702.5 被控對(duì)象辨識(shí) 732.5.1 黑箱模型辨識(shí) 732.5.2 灰箱模型辨識(shí) 862.6 不確定性建! 902.6.1 結(jié)構(gòu)化不確定性模型 912.6.2 LFT表示的不確定性模型 972.6.3 從Simulink模型導(dǎo)出不確定性狀態(tài)空間模型 982.6.4 非結(jié)構(gòu)化不確定性模型 982.6.5 混合不確定性模型 1022.6.6 不確定性模型的離散化 1022.6.7 通過辨識(shí)得出不確定性模型 1052.7 傳感器建模 1072.7.1 Allan方差 1082.7.2 隨機(jī)陀螺模型 1092.7.3 隨機(jī)加速計(jì)模型 1142.7.4 傳感器數(shù)據(jù)濾波 1162.8 注釋和參考文獻(xiàn) 119第3章 性能要求和設(shè)計(jì)限制 1213.1 SISO閉環(huán)系統(tǒng) 1213.2 SISO系統(tǒng)性能指標(biāo) 1243.2.1 時(shí)域指標(biāo) 1243.2.2 頻域指標(biāo) 1243.3 SISO系統(tǒng)設(shè)計(jì)中的折中 1273.3.1 對(duì)S和T的限制 1273.3.2 右半平面極點(diǎn)和零點(diǎn) 1283.3.3 時(shí)滯引起的限制 1293.3.4 測(cè)量噪聲引起的限制 1303.3.5 干擾引起的限制 1313.3.6 控制作用引起的限制 1313.3.7 模型誤差引起的限制 1323.4 MIMO 閉環(huán)系統(tǒng) 1383.5 MIMO系統(tǒng)的性能指標(biāo) 1403.5.1 使用奇異值進(jìn)行性能分析 1403.5.2 系統(tǒng)的H范數(shù) 1423.5.3 Hankel范數(shù) 1443.6 MIMO系統(tǒng)設(shè)計(jì)中的折中 1453.6.1 干擾抑制 1453.6.2 噪聲抑制 1463.6.3 模型誤差 1463.7 不確定性系統(tǒng) 1473.8 魯棒穩(wěn)定性分析 1493.8.1 非結(jié)構(gòu)化不確定性 1493.8.2 結(jié)構(gòu)化奇異值 1503.8.3 使用進(jìn)行魯棒穩(wěn)定性分析 1513.9 魯棒性能分析 1543.9.1 使用進(jìn)行魯棒性能分析 1553.9.2 最壞情況下的增益 1593.9.3 最壞情況下的裕度 1603.10 魯棒性分析中的數(shù)值問題 1613.11 注釋和參考文獻(xiàn) 165第4章 控制器設(shè)計(jì) 1664.1 PID控制器 1674.2 帶積分作用的LQG控制器 1804.2.1 離散時(shí)間LQG控制器 1814.2.2 有色測(cè)量噪聲 1834.2.3 帶偏置補(bǔ)償?shù)腖QG控制器 1924.3 帶H濾波器的LQ調(diào)節(jié)器 1994.3.1 離散時(shí)間H濾波器 1994.3.2 帶偏置補(bǔ)償?shù)腍濾波器 2044.4 H設(shè)計(jì) 2094.4.1 H設(shè)計(jì)問題 2094.4.2 混合靈敏度H控制 2144.4.3 二自由度控制器 2174.4.4 H設(shè)計(jì)中的數(shù)值問題 2184.5 綜合 2274.5.1 綜合問題 2274.5.2 用的上界替換 2284.5.3 DK迭代 2304.5.4 綜合中的數(shù)值問題 2314.6 控制器比較 2384.7 HIL仿真 2394.8 注釋和參考文獻(xiàn) 245第5章 案例研究1:水箱物理模型的嵌入式控制 2465.1 嵌入式控制系統(tǒng)的硬件配置 2475.1.1 水箱 2475.1.2 Arduino Mega 2560 2485.1.3 分壓器 2495.1.4 繼電器塊 2495.2 被控對(duì)象辨識(shí) 2515.3 LQR 和 LQG 控制器設(shè)計(jì) 2585.4 H控制器設(shè)計(jì) 2625.5 實(shí)驗(yàn)評(píng)估 2665.6 注釋和參考文獻(xiàn) 273第6章 案例研究2:微型直升機(jī)的魯棒控制 2746.1 直升機(jī)模型 2756.1.1 非線性直升機(jī)模型 2756.1.2 線性化模型 2806.1.3 不確定性模型 2856.2 姿態(tài)控制器的綜合 2866.2.1 性能要求 2876.2.2 控制器設(shè)計(jì) 2896.2.3 頻率響應(yīng) 2936.2.4 線性系統(tǒng)的暫態(tài)響應(yīng) 2986.2.5 位置控制器設(shè)計(jì) 2996.3 HIL仿真 3006.3.1 非線性系統(tǒng)仿真 3016.3.2 HIL仿真設(shè)置 3026.3.3 HIL 仿真結(jié)果 3046.4 注釋和參考文獻(xiàn) 310第7章 案例研究3:兩輪機(jī)器人的魯棒控制 3117.1 機(jī)器人描述 3117.2 機(jī)器人模型的閉環(huán)辨識(shí) 3137.2.1 從u到.?的動(dòng)態(tài)模型 3177.2.2 從.?到.的動(dòng)態(tài)模型 3207.2.3 偏航運(yùn)動(dòng)的動(dòng)態(tài)模型 3227.3 不確定性模型的推導(dǎo) 3267.3.1 基于信號(hào)的不確定性表示 3267.3.2 輸入乘性不確定性表示 3267.4 LQG控制器設(shè)計(jì) 3297.5 控制器設(shè)計(jì) 3337.6 設(shè)計(jì)控制器的比較 3367.7 實(shí)驗(yàn)評(píng)估 3397.8 注釋和參考文獻(xiàn) 344附錄A 矩陣分析基礎(chǔ) 346附錄B 線性系統(tǒng)理論基礎(chǔ) 354附錄C 隨機(jī)過程 361附錄D 線性模型辨識(shí) 372附錄E IMU與目標(biāo)微控制器的接口 393附錄F 用霍爾編碼器測(cè)量角速度 399參考文獻(xiàn) 404