基本信息
多旋翼無人飛行器嵌入式飛控開發指南
入選教育部高等學校電子信息類專業教學指導委員會規劃教材!北京威航世紀教育科技有限公司推薦用書!提供教學課件(PPT)!課件下載處為本書源程式,更新時間2017-11-14 。
作者:林慶峰、諶利、奚海蛟
定價:69元
印次:1-1
ISBN:9787302472568
出版日期:2017.09.01
印刷日期:2017.08.03
內容簡介
隨著積體電路、微控制器以及微機電技術的發展,多旋翼無人飛行器的控制技術得到了蓬勃的發展。隨著大疆、派諾特、3DR等國內外一系列無人機公司推出針對普通大眾的消費級無人機產品,無人機作為一個普通消費套用也得到了大眾的認可和接受,越來越多的工程技術人員將多旋翼無人飛行器作為一個經典的控制系統來進行學習和研究。
本書主要圍繞多旋翼無人機的飛控系統設計,從嵌入式的基礎知識開始,深入淺出地介紹了無人機的基本知識和硬體構成,重點介紹了無人機的飛控系統原理、基礎和開發流程,針對飛行器系統的狀態解算介紹了幾種不同的解算方法,並給出相應的實際代碼例程。本書從各方面對無人機系統的設計進行闡述,並提供了最前沿的知識和信息,既有初學者希望了解的基礎知識,也有行業研究者所希望深入了解的算法分析,以及室內定位SLAM原理等 。
前言
萊特兄弟發明飛機的17年後(即1920年),多旋翼無人飛行器誕生,此後便經歷了漫長的沉默期和醞釀期。隨著現代控制理論和技術的發展,以及積體電路、嵌入式微處理器和微機電技術的成功套用,在多旋翼飛行器軟硬體和算法兩方面均發展成熟的情況下,眾多和無人機產業相關的公司如雨後春筍般湧現,同時風險投資等各類資本也都紛紛湧入無人機產業。隨著多旋翼無人飛行器在民用及消費類市場的普及和套用,整個行業對無人機相關專業領域的人才需求也呈爆發式增長。無人機系統作為一個先進複雜的現代控制系統,涵蓋了材料、通信、電子、控制、數位訊號處理和感測器技術等各方面的專業技術套用,因此也需要各個專業領域的技術人才,很多高校也同時開設了相關專業。
現在,國內外與多旋翼無人飛行器相關的研究論文尤其是針對飛控系統的論文非常豐富,但是國內針對飛控系統的教材和書籍以介紹理論知識居多,偏向套用的資料不夠豐富,而套用級別的教材書籍正是廣大無人飛行器愛好者和基礎研究人員迫切需要的資料。正是在這個背景下,北京航空航天大學的林慶峰老師與武漢飛航科技有限公司共同合作推出了這本開發指南,希望能夠結合國內外的研究成果和各自的研究技術及產品,為業界提供一個基礎學習和入門的資料。
本書為讀者提供了可以從零基礎開始學習的多旋翼無人飛行器的基礎知識,包括無人機所涉及的機架、動力系統、飛控系統、遙控遙測系統、感測器、衛星導航定位系統、光流定位系統、無線圖傳系統和地面測控站等方面的基礎知識,這些內容主要在第1章介紹,是針對航模愛好者與初學者的入門參考資料。需要了解飛控系統硬體設計的讀者可以重點閱讀第2章,該章深入淺出地介紹無人機飛控系統的硬體設計,處理器的選型和套用。在此基礎上,讀者可以進一步學習無人機飛控系統軟體開發的詳細流程與方法,包括嵌入式實時作業系統的相關知識、飛控系統的各種感測器的數據採集和處理、自動控制的核心(即控制系統的狀態估計在無人機系統中的套用和開發),以及PID線性控制規律的設計核心方案,這些內容主要在第6章、第7章和第8章中介紹,這一部分也是本書的重點內容。此外,通過本書,讀者還能夠了解到無人機的自主導航的相關知識,包括室內導航和室外導航的一些核心知識,以及避障系統的相關介紹。本書還介紹了針對無人機地面測控站設計的核心技術、遙測數據鏈路的通信原理設計、飛控參數存儲載入與更新以及其他一些輔助功能的相關介紹。此外,本書還對無人機飛控系統的套用調試與檢測設備進行了詳細的介紹,因此對於希望學習了解無人機飛控軟體算法並且需要進行深入研究的讀者和愛好者,本書都是一種非常有價值的參考書籍。
本書主要由北京航空航天大學林慶峰老師及武漢飛航科技有限公司研發人員編寫而成,所有作者均有多年從事無人機設計研發及套用方面的經驗。除三位主要作者的工作之外,本書還凝聚了武漢飛航科技有限公司技術團隊的眾多工程師的辛勤勞動,他們是徐凡、鄭森林、徐仕斌、吳志雄、雷航、王飛、魏德明、畢野、楊金星、奚天麒、張瑋和張偉,在此對他們一一表示感謝。此外,本書還得到了鄭州航空工業管理學院電子通信工程學院的陳宇老師的支持和指導。本書所介紹和闡述的飛控系統和其他各部分無人機設備及檢測設備均由武漢飛航科技有限公司提供,所介紹的實驗案例均可在該公司的游標系列飛控設備上運行 。
目錄
第1章多旋翼無人機基礎知識
1.1無人機的介紹
1.2無人機的分類與管理
1.3無人機與航空模型的區別
1.4多旋翼無人機的發展歷史
1.5多旋翼無人機的組成
1.5.1機架系統
1.5.2動力系統
1.5.3動力電源與充電系統
1.5.4電子調速器
1.5.5飛行控制系統
1.5.6遙控器和遙控接收機
1.5.7遙測鏈路數傳系統
1.5.8光流定位系統
1.5.9全球衛星導航系統
1.5.10高度計
1.5.11導航系統
1.5.12無線圖傳系統
1.5.13地面站控制系統
1.5.14任務載荷雲台和攝像頭
1.5.15避障系統
1.5.16虛擬現實和增強現實系統
1.6多旋翼飛行器的結構和飛行原理
1.6.1多旋翼飛行器的機身布局
1.6.2多旋翼飛行器的旋翼結構
1.6.3多旋翼飛行器的飛行原理
1.6.4多旋翼的優缺點
1.7開源飛控簡介
第2章飛行控制系統核心硬體
2.1ARMCortexM4架構
2.1.1ARM核心
2.1.2CortexM4核心
2.1.3以ARMCortexM4為核心的微控制器
2.2STM32F4系列微控制器
2.3飛行控制系統硬體架構設計與原理
2.3.1遙控接收機接口
2.3.2電調輸出接口
2.3.3感測器接口
2.3.4GNSS接口
2.3.5SWD調試口
2.3.6超音波接口
2.3.7系統供電
2.3.8遙測數傳
2.3.9其他功能和擴展接口
2.4“游標”飛控PCB的布局設計
2.5飛控系統硬體設計注意事項
第3章嵌入式實時作業系統和FreeRTOS
3.1實時作業系統簡介
3.1.1實時作業系統的定義
3.1.2實時作業系統的特徵
3.2實時作業系統在飛控系統中的重要性
3.3FreeRTOS實時作業系統
3.3.1FreeRTOS簡介
3.3.2FreeRTOS的特點
3.3.3FreeRTOS架構概述
3.4調度策略
3.4.1FreeRTOS支持的調度方式
3.4.2調度器簡介
3.4.3搶占式調度器
3.4.4時間片調度器
3.5任務及任務優先權
3.5.1任務和協程(Coroutines)
3.5.2任務狀態
3.5.3任務優先權
3.5.4任務優先權分配方案
3.6任務間通信——信號量
3.6.1信號量的概念及其作用
3.6.2FreeRTOS任務間計數信號量的實現
3.6.3FreeRTOS中斷方式計數信號量的實現
3.6.4計數信號量API函式
3.7任務間通信—訊息佇列
3.7.1訊息佇列的概念及其作用
3.7.2FreeRTOS任務間訊息佇列的實現
3.7.3FreeRTOS中斷方式訊息佇列的實現
3.7.4訊息佇列API函式
3.8任務間通信——互斥信號量
3.8.1互斥信號量的概念及其作用
3.8.2優先權翻轉問題
3.8.3FreeRTOS互斥信號量的實現
3.8.4互斥信號量API函式
3.9飛控系統的任務規劃與5環控制
第4章飛行控制系統的定時器
4.1STM32F407的系統時鐘配置
4.1.1STM32F4的系統時鐘樹
4.1.2STM32F4的系統時鐘初始化
4.1.3STM32F4的系統時鐘使能和配置
4.2ST微控制器的定時器模組
4.2.1高級控制定時器(AdvancedcontrolTimers)
4.2.2通用定時器(GeneralpurposeTimers)
4.2.3基本定時器(BasicTimers)
4.3任務調度定時器
4.4遙控器PWM編碼和定時器輸入捕獲
4.5電子調試器的輸出控制PWM和定時器輸出比較模式
第5章飛控系統的感測器
5.1飛控系統的感測器
5.2ST微控制器的I2C驅動
5.2.1I2C簡介
5.2.2I2C驅動在STM32中的硬體實現
5.2.3I2C驅動在STM32中的軟體實現
5.3加速度計的原理和測量信息
5.3.1加速度計的原理
5.3.2加速度計的測量信息
5.4加速度計原始數據採集、校準和濾波
5.4.1加速度計原始數據採集
5.4.2加速度計校準
5.5陀螺儀的原理和測量信息
5.5.1陀螺儀的原理
5.5.2陀螺儀的測量信息
5.6陀螺儀的原始數據採集、校準和濾波
5.6.1陀螺儀原始數據採集
5.6.2陀螺儀校準
5.6.3加速度計與陀螺儀的濾波
5.7磁力計的工作原理和測量信息
5.7.1磁力計的原理
5.7.2磁力計的測量信息
5.8磁力計的原始數據採集、校準和濾波
5.8.1磁力計原始數據採集
5.8.2磁力計校準
5.8.3磁力計的濾波
5.9超音波感測器簡介
5.9.1超音波感測器原理
5.9.2超音波感測器簡介
5.10超音波感測器的數據採集驅動和濾波
5.10.1超音波感測器數據採集驅動
5.10.2超音波感測器的濾波
5.11氣壓感測器簡介
5.12氣壓感測器的數據採集驅動
5.13雷射測距測高感測器
5.14視覺感測器
5.14.1光流
5.14.2視覺里程計
第6章狀態估計
6.1組合導航
6.2飛行器的坐標系
6.3方向餘弦矩陣和歐拉角
6.3.1方向餘弦矩陣
6.3.2姿態與歐拉角
6.3.3歐拉角的定軸轉動表示矩陣
6.4四元數
6.4.1四元數的定義
6.4.2四元數與旋轉的關係
6.5四元數的姿態估計
6.6卡爾曼濾波
6.7擴展卡爾曼濾波
6.8幾種算法的總結比較
第7章線性控制系統PID控制算法
7.1控制理論與PID線性控制系統原理
7.1.1比例控制
7.1.2積分控制
7.1.3微分控制
7.2飛控算法PID框架設計
7.3飛控算法外環PID實現
7.4飛控算法內環PID實現
7.5信號濾波
7.5.1移動平滑濾波
7.5.2FIR濾波
7.5.3IIR濾波
7.6PID參數的調試
7.6.1飛控的PID參數
7.6.2調試步驟
第8章油門和高度控制
8.1油門輸入曲線
8.2油門解鎖功能
8.3油門權重分配和電調輸出
8.4高度控制
第9章自主導航系統
9.1自主導航概述
9.2室內定位
9.2.1室內定位技術
9.2.2視覺導航
9.2.3SLAM簡介
9.2.4視覺SLAM閉環檢測與後端最佳化
9.3室外GPS定位和NEMA實現
9.3.1GPS定位系統的基本工作原理
9.3.2單點定位
9.3.3相對定位
9.3.4差分定位
9.3.5GPS標準協定NEMA
9.4航路規劃
9.4.1航線規劃
9.4.2軌跡規劃
9.5SINS/GPS組合導航的模型和算法
9.5.1SINS和GPS接收機的誤差模型
9.5.2SINS/GPS松組合的狀態方程和量測方程
9.5.3SINS/GPS緊組合的狀態方程和量測方程
9.5.4方程離散化和卡爾曼濾波
9.6避障系統
9.6.1避障使用的感測器
9.6.2避障算法
9.6.3避障過程中存在的問題
第10章遙測數傳通信鏈路
10.1通用數傳模組分類及其性能
10.1.1無人機數傳模組簡介
10.1.2調製方式的劃分
10.1.3傳輸距離及其影響因素
10.2ST微控制器的串口通信和數傳模組硬體接口
10.2.1ST微控制器的串口通信
10.2.2數傳模組的硬體接口
10.3簡單通信信源編碼協定及其實現
10.3.1信源編碼
10.3.2串口通信協定
10.4MAVLink協定實現
10.4.1MAVLink協定簡介
10.4.2MAVLink數據包結構
10.4.3MAVLink訊息幀講解
10.4.4MAVLink訊息幀傳送與解析
10.5地面站數據接收與數據解析
10.5.1PC端地面站數據採集與存儲
10.5.2Android地面站數據接收
10.5.3Android地面站數據存儲與分析
第11章其他輔助功能
11.1參數存儲、線上更新與載入
11.2調試LED
11.3失控保護功能
11.4手機WiFi控制
11.5手機藍牙控制
11.6第一人稱視角FPV控制
11.6.1FPV的定義
11.6.2FPV的設備組成
11.6.3FPV眼鏡與VR眼鏡的區別
11.7無人機套用領域
11.7.1拍照攝影
11.7.2植保無人機
11.7.3電力巡檢
11.7.4環保領域的套用
第12章基於STM32F4的基礎程式開發
12.1處理器STM32F4簡介
12.1.1系統匯流排
12.1.2系統接口
12.2開發環境簡介
12.2.1軟體安裝
12.2.2工程創建
12.2.3軟體介紹
12.2.4程式調試
12.3STM32固件庫
12.3.1固件庫介紹
12.3.2固件庫移植
12.4LED顯示
12.4.1硬體設計
12.4.2軟體設計
12.4.3實驗現象
12.5USART串口的使用
12.5.1硬體設計
12.5.2軟體設計
12.5.3實驗現象
12.6ADC模數轉換器
12.6.1軟體設計
12.6.2實驗現象
12.7定時器中斷
12.7.1定時器中斷的原理
12.7.2軟體設計
12.7.3實驗現象
12.8FreeRTOS實時作業系統簡介
12.8.1FreeRTOS基礎套用
12.8.2FreeRTOS實例
12.8.3實驗現象
12.9FreeRTOS操作EEPROM
12.9.1程式設計
12.9.2實驗現象
12.10FreeRTOS操作MPU6050
12.10.1軟體設計
12.10.2實驗現象
12.11FreeRTOS操作磁力計
12.11.1軟體設計
12.11.2實驗現象
12.12FreeRTOS操作氣壓計
12.12.1軟體設計
12.12.2實驗現象
附錄AF450四旋翼飛行器DIY組裝流程
A.1材料清單
A.2焊接電機
A.3機架的安裝
A.4飛控模組安裝
A.5電調行程校準
A.6電調、遙控接收機、數傳模組與飛控的連線
A.7遙控操作說明
A.8圖傳系統連線
附錄B無刷電機與電子調速器介紹
B.1無刷直流電機
B.2電子調速器換相的相關知識
B.3電調啟動頻率
附錄C無人機實驗室研發調試設備
C.1FH550四旋翼無人機研發系統
C.2套用級無人機系統
C.3高級航拍數字圖傳系統
C.4攜帶型地面測控站系統
C.5高級飛行器3自由度姿態算法驗證系統
C.6高級飛行器動力系統扭矩測量系統
C.7高級飛行器動力系統拉力測量系統
C.8微機電感測器測量校準平台
C.9工業級數據處理中心
附錄D電子羅盤橢球校準算法代碼實例
參考文獻