版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
緒論多旋翼無(wú)人機(jī)遠(yuǎn)程控制實(shí)踐第1章01什么是多旋翼常見(jiàn)飛機(jī)分類(lèi)固體翼飛行器直升機(jī)多旋翼1)固定翼飛行器如圖1.2(a)所示,固定翼飛行器的機(jī)翼位置和后掠角等參數(shù)基本固定不變,民航飛機(jī)和戰(zhàn)斗機(jī)大多數(shù)都是固定翼飛行器。它們通常由推力系統(tǒng)產(chǎn)生前向的空速,進(jìn)而通過(guò)機(jī)翼產(chǎn)生升力來(lái)平衡飛行器的重力?;谶@個(gè)原理,固定翼飛行器需要保持一定的前飛速度,因此很難垂直起降。與傳統(tǒng)的直升機(jī)相比,固定翼飛行器的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、載荷更大、飛行距離更長(zhǎng)而耗能更少,缺點(diǎn)是起飛和降落的時(shí)候一般需要跑道或彈射器。常見(jiàn)飛機(jī)分類(lèi)2)直升機(jī)如圖1.2(b)所示,直升機(jī)是一種由旋翼直接提供升力的旋翼飛行器。直升機(jī)有四個(gè)控制輸入,分別是周期變距桿、總距操縱桿、航向和油門(mén)??偩嗖倏v桿控制旋翼的迎角(或攻角)。直升機(jī)的升力主要由總距操縱桿和油門(mén)控制,姿態(tài)由周期變距桿控制。由前面的介紹可知,直升機(jī)可以垂直起降,無(wú)須跑道或彈射器。與固定翼飛行器相比,直升機(jī)的續(xù)航時(shí)間更短,而且復(fù)雜的機(jī)械結(jié)構(gòu)會(huì)帶來(lái)很高的維護(hù)成本。常見(jiàn)飛機(jī)分類(lèi)3)多旋翼(Multicopter,Multirotor或Multirocopter)多旋翼可以視為一類(lèi)有三個(gè)或者更多螺旋槳的直升機(jī),也具備垂直起降能力,最常見(jiàn)的是四旋翼,如圖1.2(c)所示。與直升機(jī)不同的是,多旋翼通過(guò)控制螺旋槳的轉(zhuǎn)速來(lái)實(shí)現(xiàn)拉力的快速調(diào)節(jié)。由于多旋翼結(jié)構(gòu)具有對(duì)稱性,所以螺旋獎(jiǎng)之間的反扭矩可以相互抵消。多旋翼的結(jié)構(gòu)非常簡(jiǎn)單,由此具有各通道之間耦合弱、可靠性高和維護(hù)成本低等優(yōu)勢(shì)。常見(jiàn)飛機(jī)分類(lèi)無(wú)人駕駛飛機(jī)和航空模型飛機(jī)無(wú)人駕駛飛機(jī)無(wú)人駕駛飛機(jī)是由動(dòng)力驅(qū)動(dòng)、機(jī)上無(wú)人駕駛的航空器,簡(jiǎn)稱“無(wú)人機(jī)”(UnmannedAerialVehicle,UAV),軍事或民用領(lǐng)域常見(jiàn)的無(wú)人機(jī)包括無(wú)人直升機(jī)、無(wú)人飛艇、無(wú)人固定翼飛機(jī)等。的飛行可以通過(guò)機(jī)載電腦自動(dòng)控制,也可以由地面或其他平臺(tái)上的操縱人員(有時(shí)也稱為駕駛員)遠(yuǎn)程控制。英文中有時(shí)也用“Drones”來(lái)表示無(wú)人機(jī)。本書(shū)中主要考慮微小型無(wú)人機(jī)。無(wú)人駕駛飛機(jī)和航空模型飛機(jī)航空模型航空模型在后文中簡(jiǎn)稱“航?!保袝r(shí)也稱為“遙控飛行器”“遙控模型”。航模是一種有尺寸限制的、帶有或不帶有發(fā)動(dòng)機(jī)的、不能載人的飛行器,可以用于空中比賽.運(yùn)動(dòng)或者娛樂(lè)”。它也指無(wú)線控制航?;蛘邿o(wú)線控制飛行器。在整個(gè)飛行過(guò)程中,它必須位于飛行器操縱人員的視距內(nèi)。無(wú)人駕駛飛機(jī)和航空模型飛機(jī)航空模型從廣義的角度來(lái)講,“無(wú)人機(jī)”可以認(rèn)為是一個(gè)一般化的稱謂,無(wú)人駕駛的飛行器都可以稱為“無(wú)人機(jī)”,但“無(wú)人機(jī)”與“航模”之間也有一定的區(qū)別,具體總結(jié)如表1.1所示。02為什么選擇多旋翼1、多旋翼除了能夠由自駕儀自主控制飛行,還能由操作員通過(guò)地面站或者遙控器(對(duì)應(yīng)于信息與通信工程學(xué)科)進(jìn)行遠(yuǎn)程控制。2、多旋翼本身涉及很多電子設(shè)備(對(duì)應(yīng)于電子科學(xué)與技術(shù)學(xué)科)。我們希望電子電路穩(wěn)定可靠,不受外界電磁輻射影響。3、多旋翼系統(tǒng)需要軟件環(huán)境來(lái)運(yùn)行控制算法(對(duì)應(yīng)于計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科),般需要實(shí)時(shí)操作系統(tǒng)來(lái)提供軟件運(yùn)行環(huán)境并提供與機(jī)載硬件通信的接口。為什么選擇多旋翼4、在多旋翼設(shè)計(jì)上,需要考慮材料、布局和結(jié)構(gòu)(對(duì)應(yīng)于力學(xué)、機(jī)械工程學(xué)科),還要考慮動(dòng)力系統(tǒng)選型(對(duì)應(yīng)于力學(xué)、電氣工程學(xué)科)等。5、在狀態(tài)估計(jì)上需要考慮多個(gè)傳感器(如GPS、光電傳感器等)信號(hào)不同步、數(shù)據(jù)延遲以等問(wèn)題,最終魯棒且高性能地估計(jì)相應(yīng)狀態(tài)(對(duì)應(yīng)于儀器科學(xué)與技術(shù)學(xué)科)。6、多旋翼作為一個(gè)典型的閉環(huán)控制系統(tǒng)(對(duì)應(yīng)于控制科學(xué)與工程學(xué)科),具有很多有趣的特性,例如它是一個(gè)不穩(wěn)定、非線性、欠驅(qū)動(dòng)和執(zhí)行器控制量受限系統(tǒng)。為什么選擇多旋翼為什么選擇多旋翼7、多旋翼價(jià)格便宜,飛行實(shí)驗(yàn)簡(jiǎn)單,可以較為容易地得到大量相關(guān)飛行數(shù)據(jù),這也為多旋翼的健康評(píng)估提供了較好的基礎(chǔ)條件。多旋翼的上述特點(diǎn)可以為相應(yīng)學(xué)科方法測(cè)試提供看得見(jiàn)摸得著的實(shí)踐,特別是控制方面的實(shí)踐。無(wú)論從教育還是科研的角度來(lái)看,多旋翼系統(tǒng)都是一個(gè)非常好的研究對(duì)象。傳統(tǒng)飛行器開(kāi)發(fā)主要集中在航空航天院所,人力、財(cái)力、經(jīng)驗(yàn)與資源都比較充裕。為什么選擇多旋翼在開(kāi)放的市場(chǎng)以及日益激烈的競(jìng)爭(zhēng)環(huán)境下,相關(guān)創(chuàng)業(yè)公司面臨人員少、一肩挑、經(jīng)驗(yàn)少和資源少等問(wèn)題。這就要求核心工程師團(tuán)隊(duì)能夠同時(shí)掌握:機(jī)架的布局和結(jié)構(gòu)設(shè)計(jì)、動(dòng)力系統(tǒng)設(shè)計(jì)、健康評(píng)估和失效保護(hù)設(shè)計(jì)等理論知識(shí),同時(shí)需要具備豐富的操作系統(tǒng)開(kāi)發(fā)、軟件編寫(xiě)調(diào)試以及實(shí)飛實(shí)驗(yàn)等實(shí)踐經(jīng)驗(yàn)。多旋翼這個(gè)平臺(tái)可以培養(yǎng)工業(yè)界需要的跨專業(yè)復(fù)合型人才,提升其軟件開(kāi)發(fā)能力、分析能力、算法設(shè)計(jì)能力、管理能力以及展示能力。03本書(shū)內(nèi)容簡(jiǎn)介實(shí)驗(yàn)二:濾波器設(shè)計(jì)具體實(shí)驗(yàn)實(shí)驗(yàn)四:路徑跟隨控制器設(shè)計(jì)實(shí)驗(yàn)一:系統(tǒng)辨識(shí)實(shí)驗(yàn)三:跟蹤控制器設(shè)計(jì)實(shí)驗(yàn)五:避障控制器設(shè)計(jì)本書(shū)內(nèi)容簡(jiǎn)介01020304打開(kāi)例程,閱讀并運(yùn)行程序代碼,然后觀察并記錄分析數(shù)據(jù)?;A(chǔ)實(shí)驗(yàn)在上述兩個(gè)實(shí)驗(yàn)的基礎(chǔ)上,針對(duì)給定的任務(wù),進(jìn)行獨(dú)立設(shè)計(jì)。設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)讀者修改例程,運(yùn)行修改后的程序并收集和分析數(shù)據(jù)。分析實(shí)驗(yàn)在設(shè)計(jì)實(shí)驗(yàn)的基礎(chǔ)上,針對(duì)給定的任務(wù),進(jìn)行獨(dú)立設(shè)計(jì)并運(yùn)用于真實(shí)的多旋翼。實(shí)飛實(shí)驗(yàn)本書(shū)內(nèi)容簡(jiǎn)介本書(shū)內(nèi)容簡(jiǎn)介仿真階段總得來(lái)說(shuō),實(shí)驗(yàn)可以劃分為兩個(gè)階段:仿真階段和實(shí)飛階段。仿真階段需要經(jīng)歷“仿真1.0→仿真2.0→硬件在環(huán)仿真”。仿真1.0采用的多旋翼模型是設(shè)計(jì)模型,而仿真2.0使用的是一個(gè)高保真的非線性模型。通過(guò)“系統(tǒng)辨識(shí)”實(shí)驗(yàn),對(duì)仿真2.0使用的高保真非線性模型進(jìn)行系統(tǒng)辨識(shí),可以得到傳遞函數(shù)模型,也稱為設(shè)計(jì)模型。本書(shū)內(nèi)容簡(jiǎn)介實(shí)飛階段實(shí)飛階段需要經(jīng)歷“仿真1.0→實(shí)飛實(shí)驗(yàn)”。仿真1.0采用對(duì)真實(shí)多旋翼進(jìn)行“系統(tǒng)辨識(shí)”實(shí)驗(yàn)得到的設(shè)計(jì)模型,而實(shí)飛實(shí)驗(yàn)是在真實(shí)多旋翼上進(jìn)行的。在每個(gè)實(shí)驗(yàn)設(shè)計(jì)完成后,需要在MATLAB/Simulink中實(shí)現(xiàn),并在搭建好的設(shè)計(jì)模型仿真平臺(tái)中進(jìn)行仿真測(cè)試。之后,讀者需要將通過(guò)仿真測(cè)試的控制器,應(yīng)用于真實(shí)的多旋翼。04工程教育認(rèn)證標(biāo)準(zhǔn)覆蓋介紹多旋翼設(shè)計(jì)和控制屬于復(fù)雜工程問(wèn)題,它完全覆蓋工程教育認(rèn)證標(biāo)準(zhǔn)所有內(nèi)容,下面選擇主要的幾點(diǎn)進(jìn)行說(shuō)明。(1)工程知識(shí)。多旋翼各類(lèi)需求的建模以及濾波、控制和決策算法設(shè)計(jì)可以體現(xiàn)“能夠?qū)?shù)學(xué)、自然科學(xué)、工程基礎(chǔ)和專業(yè)知識(shí)用于解決復(fù)雜工程問(wèn)題”。(2)問(wèn)題分析。多旋翼建模和算法設(shè)計(jì)以及調(diào)試可以體現(xiàn)“能夠應(yīng)用數(shù)學(xué)、自然科學(xué)和工程科學(xué)的基本原理,識(shí)別、表達(dá)、并通過(guò)文獻(xiàn)研究分析復(fù)雜工程問(wèn)題,以獲得有效結(jié)論”。工程教育認(rèn)證標(biāo)準(zhǔn)覆蓋介紹(3)設(shè)計(jì)/開(kāi)發(fā)解決方案。多旋翼整個(gè)系統(tǒng)設(shè)計(jì)以及測(cè)試飛行可以體現(xiàn)“將能夠設(shè)計(jì)針對(duì)復(fù)雜工程問(wèn)題的解決方案,設(shè)計(jì)滿足特定需求的系統(tǒng)、單元(部件)或工藝流程”因?yàn)槎嘈砭哂形kU(xiǎn)性,需要使用者遵守相關(guān)法律法規(guī),進(jìn)行合法測(cè)試和飛行,可以體現(xiàn)“并能夠在設(shè)計(jì)環(huán)節(jié)中體現(xiàn)創(chuàng)新意識(shí),考慮社會(huì)、健康、安全、法律、文化以及環(huán)境等因素”工程教育認(rèn)證標(biāo)準(zhǔn)覆蓋介紹(4)研究。多旋翼建模和算法設(shè)計(jì)可以體現(xiàn)“能夠基于科學(xué)原理并采用科學(xué)方法對(duì)復(fù)雜工程問(wèn)題進(jìn)行研究,包括設(shè)計(jì)實(shí)驗(yàn)、分析與解釋數(shù)據(jù),并通過(guò)信息綜合得到合理有效的結(jié)論”。(5)使用現(xiàn)代工具。在多旋翼系統(tǒng)開(kāi)發(fā)過(guò)程中,需要很多工具,這可以體現(xiàn)“能夠針對(duì)復(fù)雜工程問(wèn)題,開(kāi)發(fā)、選擇與使用恰當(dāng)?shù)募夹g(shù)、資源、現(xiàn)代工程工具和信息技術(shù)工具,包括對(duì)復(fù)雜工程問(wèn)題的預(yù)測(cè)與模擬并能夠理解其局限性”。工程教育認(rèn)證標(biāo)準(zhǔn)覆蓋介紹工程教育認(rèn)證標(biāo)準(zhǔn)覆蓋介紹(6)工程與社會(huì)。需要設(shè)計(jì)者有一定的創(chuàng)新能力,挖掘多旋翼的應(yīng)用場(chǎng)景。這能體現(xiàn)“能夠基于工程相關(guān)背景知識(shí)進(jìn)行合理分析,評(píng)價(jià)專業(yè)工程實(shí)踐和復(fù)雜工程問(wèn)題解決方案對(duì)社會(huì)、健康、安全、法律以及文化的影響,并理解應(yīng)承擔(dān)的責(zé)任”。工程教育認(rèn)證標(biāo)準(zhǔn)覆蓋介紹(7)個(gè)人和團(tuán)隊(duì)。多旋翼開(kāi)發(fā)一般需要一個(gè)小型團(tuán)隊(duì),這很好地滿足了“能夠在多學(xué)科背景下的團(tuán)隊(duì)中承擔(dān)個(gè)體、團(tuán)隊(duì)成員以及負(fù)責(zé)人的角色”這一需求。(8)溝通。對(duì)于多旋翼作品的展示,需要讀者有相應(yīng)的能力。這能夠體現(xiàn)“就復(fù)雜工程問(wèn)題與業(yè)界同行及社會(huì)公眾進(jìn)行有效溝通和交流,包括撰寫(xiě)報(bào)告和設(shè)計(jì)文稿、陳述發(fā)言、清晰表達(dá)或回應(yīng)指令。仿真與實(shí)驗(yàn)平臺(tái)多旋翼無(wú)人機(jī)遠(yuǎn)程控制實(shí)踐第2章01總體介紹包括主機(jī)和位置捕捉單元。在室內(nèi)環(huán)境無(wú)法使用衛(wèi)星定位時(shí)室內(nèi)定位系統(tǒng)解決了衛(wèi)星信號(hào)到達(dá)地面時(shí)較弱、不能穿透建筑物等問(wèn)題。主機(jī)用于運(yùn)行與室內(nèi)定位系統(tǒng)相關(guān)的軟件,本書(shū)使用的是光學(xué)室內(nèi)定位系統(tǒng),除此之外還可以使用超寬帶定位技術(shù)(UWB)等。位置捕捉單元能夠?qū)崟r(shí)捕獲多旋翼的位置和姿態(tài)信息,并通過(guò)主機(jī)以廣播的形式發(fā)送出去。室內(nèi)定位系統(tǒng)硬件平臺(tái)一臺(tái)裝有操作系統(tǒng)的高性能個(gè)人計(jì)算機(jī)或者工作站,裝有MATLAB/Simulink、CIFER、FlightGear、CopterSim和RflySim3D等軟件。一方面,它可以用來(lái)完成各種仿真實(shí)驗(yàn);另一方面,它也是實(shí)際飛行實(shí)驗(yàn)的地面控制站,用于接收主機(jī)廣播出來(lái)的多旋翼的位置和姿態(tài)反饋,進(jìn)而完成多旋翼通信與控制等任務(wù)。需要注意的是,為了獲取更高的開(kāi)發(fā)效率,計(jì)算機(jī)的性能越強(qiáng)越好。計(jì)算機(jī)硬件平臺(tái)本書(shū)使用的工作站基本配置如下:1、系統(tǒng):Windows10,64位系統(tǒng);2、處理器:英特爾i7-7700;3、內(nèi)存:16GB;4、顯卡:GTX1050;5、硬盤(pán):500GB固態(tài)硬盤(pán),剩余空間大于30GB;6、接口:至少有一個(gè)USBTypeA接口;7、顯示器:分辨率1920x1080。計(jì)算機(jī)硬件平臺(tái)軟件平臺(tái)基于Simulink的控制器設(shè)計(jì)與仿真平臺(tái)如圖2.2所示,平臺(tái)包含一個(gè)高逼真的多旋翼非線性模型,可以用于多旋翼各種動(dòng)態(tài)特性的仿真,并通過(guò)FlightGear圖形化實(shí)時(shí)展示多旋翼飛行軌跡與姿態(tài)等狀態(tài)信息基于該平臺(tái),讀者可以方便地設(shè)計(jì)多旋翼的控制算法,然后進(jìn)行聯(lián)合仿真。進(jìn)一步,讀者可以配合室內(nèi)定位系統(tǒng)和通信工具,將控制指令發(fā)送給多旋翼進(jìn)行實(shí)飛實(shí)驗(yàn)。軟件平臺(tái)基于Simulink的控制器設(shè)計(jì)與仿真平臺(tái)FlightGear是一款非常受歡迎并且功能齊全的開(kāi)源飛行模擬器軟件,可在Linux、MacOS和Windows中運(yùn)行。它的硬件要求適中,包括支持OpenGL以實(shí)現(xiàn)平滑速的加速3D顯卡;可以通過(guò)UDP(UserDatagramProtocol)接收Simulink發(fā)送的飛行數(shù)據(jù)并且可以與Simulink一起進(jìn)行聯(lián)合仿真,觀測(cè)仿真時(shí)多旋翼的飛行狀態(tài)。FlightGear飛行模擬器軟件平臺(tái)Response[11,由美國(guó)飛行CIFER全稱為ComprehensiveIdentificationFromFrequencyl器系統(tǒng)辨識(shí)領(lǐng)域的專家MarkBTischler主持開(kāi)發(fā),它被用在傾轉(zhuǎn)旋翼驗(yàn)證機(jī)XV-15上進(jìn)行各種模態(tài)頻域系統(tǒng)辨識(shí)研究,從而得到飛機(jī)準(zhǔn)確的線性化數(shù)學(xué)模型。CIFER工具箱已經(jīng)較為廣泛地應(yīng)用到了針對(duì)真實(shí)飛行的系統(tǒng)辨識(shí)中,詳細(xì)使用教程請(qǐng)參考附錄A。CIFER工具箱軟件平臺(tái)軟件平臺(tái)CopterSim實(shí)時(shí)運(yùn)動(dòng)仿真軟件CopterSim是由RflySim團(tuán)隊(duì)開(kāi)發(fā)的針對(duì)Pixhawk/PX4自駕儀平臺(tái)的一款硬件在環(huán)仿真軟件,可以在軟件中配置多旋翼的模型,通過(guò)USB串口與Pixhawk自駕儀連接來(lái)實(shí)現(xiàn)硬件在環(huán)仿真,達(dá)到室內(nèi)模擬室外飛行測(cè)試的效果。RflySim3D三維可視化視景軟件RflySim3D是由RflySim團(tuán)隊(duì)開(kāi)發(fā)的多旋翼飛行狀態(tài)三維實(shí)時(shí)顯示軟件,它通過(guò)UDP接收CopterSim的飛行數(shù)據(jù)來(lái)實(shí)時(shí)顯示多旋的姿態(tài)與位置。02仿真平臺(tái)打開(kāi)“e0sim1.0sample0slx”,如圖2.3所示,該模型包含四個(gè)大模塊,分別為:1、期望輸入模塊,用于輸入期望的飛行器位置信息;2、控制器模塊,用于設(shè)計(jì)控制器,實(shí)現(xiàn)飛行器的有效位置控制;3、飛行器仿真模型模塊,用于接收控制器輸出的控制量,并輸出飛行器的位置和速度信息;整體模塊整體模塊4、飛行器狀態(tài)數(shù)據(jù)收集模塊,該模塊擁有兩個(gè)變量————“rl_posarray”與“rl_velarray”,分別用于收集單次仿真全過(guò)程中的位置與速度反饋,并以矩陣的形式保存到MATLAB工作空間。整體模塊已知飛行器模型是一個(gè)四通道的模型,依次為水平前向通道(對(duì)應(yīng)“CommandIn-putX”)水平側(cè)向通道(對(duì)應(yīng)“CommandInputY”)高度通道(對(duì)應(yīng)“CommandInputH”)和偏航通道(對(duì)應(yīng)“CommandIputPsi”)。因此,對(duì)于每個(gè)模塊而言,每種信息(如位置信息、速度信息等)的輸入和輸出均需要有四個(gè)通道,并且按照上述的飛行器四通道模型中的順序自上而下排列。模塊詳解期望輸入模塊圖2.4中虛線框1與虛線框2分別為飛直線與飛圓軌跡的期望輸入設(shè)置模塊。圖2.5中虛線框1為各通道設(shè)置的期望值模塊;虛線框2為增益模塊,可以在仿真過(guò)程中實(shí)時(shí)調(diào)節(jié)期望輸入值;虛線框3為輸出端口模塊,用于指代該模塊之前的數(shù)據(jù)具體輸出的端口位置;虛線框4為顯示模塊,可以顯示XY坐標(biāo)圖,用于查看二維水平通道飛行軌跡。模塊詳解期望輸入模塊模塊詳解期望輸入模塊控制器模塊(對(duì)應(yīng)“Controller”)如圖2.3虛線框2所示,它的作用是設(shè)計(jì)控制器,從而使多旋翼按照指令飛行。圖中“FeedbackPosition”和“FeedbackVelocity”分別為仿真模型反饋回來(lái)的位置與速度,用于控制器中的閉環(huán)反饋?!癈ontrollerImput”端口是從上一個(gè)模塊中獲得的期望位置輸入,而“ControllerOutput”端口則是各通道的控制器輸出,該指令將會(huì)直接發(fā)送到多旋翼中,從而控制多旋翼飛行??刂破髂K模塊詳解模塊詳解控制器模塊中的核心模塊————四通道的控制器設(shè)計(jì)。對(duì)于各個(gè)通道,控制器的設(shè)計(jì)結(jié)構(gòu)幾乎一致,因此,此處只以水平向通道為例進(jìn)行說(shuō)明(如圖2.7所示)。圖2.7中虛線框1和虛線框2分別是多旋翼水平前向通道的實(shí)時(shí)位置和速度反饋,虛線框3是期望位置輸入,虛線框4是控制器輸出的控制量。控制器模塊模塊詳解各通道的控制器實(shí)際上都是一個(gè)PID控制器,由比例、積分和微分三者的影響相加形成最終的控制量??刂破髂K模塊詳解多旋翼模型模塊多旋翼模型模塊如圖2.3虛線框3所示,打開(kāi)該模塊其內(nèi)部構(gòu)造,虛線框1代表四個(gè)通道控制器的控制量輸入端口;虛線框2是多旋翼模型。圖2.10展示的是通過(guò)系統(tǒng)辨識(shí)得到的多旋翼傳遞函數(shù)模型,圖2.11展示的是對(duì)各個(gè)分系統(tǒng)建模后獲得的非線性模型,圖2.12展示的是Simulink和CopterSim通信接口,底層通過(guò)MAVLink協(xié)議實(shí)現(xiàn)。模塊詳解多旋翼模型模塊模塊詳解多旋翼模型模塊下面介紹正確打開(kāi)本書(shū)給定的“.slx”例程文件的步驟:(1)通過(guò)桌面快捷方式或者開(kāi)始菜單,打開(kāi)MATLAB主程序;(2)如圖2.13所示,單擊MATLAB主界面的虛線框1“瀏覽文件夾”按鈕,將當(dāng)前路徑定位到想要打開(kāi)的“.slx”文件所在目錄,如虛線框2所示;(3)在圖21.3左下側(cè)的“當(dāng)前文件夾”窗口中,雙擊需要打開(kāi)的“slx”文件即可打開(kāi),如虛線框3所示。多旋翼非線性系統(tǒng)模型多旋翼非線性系統(tǒng)模型按上述步驟打開(kāi)“CopterSim3DEnvironment.slx”文件后,可以看到如圖2.14所示的軟件在環(huán)仿真平臺(tái)例程。該仿真系統(tǒng)包含三個(gè)子系統(tǒng)模塊:控制器、多旋翼模型和FlightGear接口,其中的一些關(guān)鍵特性總結(jié)如下。1、“控制器”子系統(tǒng)模塊在輸入/輸出與反饋信號(hào)的形式上是與真實(shí)的自駕儀硬件保持一致的。例如,本例子的輸入是模擬來(lái)自遙控器的俯仰角、滾轉(zhuǎn)角、偏航角和高度控制指令;輸出是給多旋翼模型的電機(jī)PWM信號(hào)。多旋翼非線性系統(tǒng)模型2、“控制器”本身使用傳感器估計(jì)狀態(tài)(姿態(tài)、角速度、位置、速度等狀態(tài)信息)來(lái)實(shí)現(xiàn)多旋翼的穩(wěn)定姿態(tài)控制。3、“多旋翼模型”子系統(tǒng)與真實(shí)的多旋翼的輸入/輸出接口保持一致,輸入是8個(gè)電機(jī)的PWM控制信號(hào),輸出是各種傳感器的數(shù)據(jù)。4、“FlightGear接口”子系統(tǒng)可以將飛行信息傳輸?shù)紽lightGear中,逼真地展現(xiàn)多旋翼當(dāng)前的飛行軌跡與姿態(tài)信息。多旋翼非線性系統(tǒng)模型多旋翼非線性系統(tǒng)模型控制器雙擊圖2.14中的“控制器”子系統(tǒng),可見(jiàn)到如圖2.15所示的內(nèi)部結(jié)構(gòu)圖。多旋翼非線性系統(tǒng)模型多旋翼模型模塊四旋翼的整個(gè)控制器模塊的計(jì)算過(guò)程大體分為五個(gè)步驟,依次對(duì)應(yīng)以下5個(gè)模塊。(1)“輸入接口”模塊1:接收遙控器信號(hào)和飛行器狀態(tài)觀測(cè)信號(hào)。第1~5號(hào)輸入端口對(duì)應(yīng)了遙控器的五個(gè)通道的輸入(“ch1”~“ch5”);第6~8號(hào)輸入端口對(duì)應(yīng)了來(lái)自陀螺儀傳感器的滾轉(zhuǎn)、俯仰和偏航方向的角速度(“p”“g”和“r”);第9~10號(hào)端口對(duì)應(yīng)了滾轉(zhuǎn)角和俯仰角(“phi”和“theta”)。多旋翼非線性系統(tǒng)模型四旋翼的整個(gè)控制器模塊的計(jì)算過(guò)程大體分為五個(gè)步驟,依次對(duì)應(yīng)以下5個(gè)模塊。(2)“遙控信號(hào)處理”模塊2:將遙控器的五個(gè)通道信號(hào)映射為期望的滾轉(zhuǎn)和俯仰角度。(3)“姿態(tài)控制器”模塊3:計(jì)算期望輸出力和力矩大小來(lái)控制多旋翼姿態(tài)到期望角度。多旋翼非線性系統(tǒng)模型四旋翼的整個(gè)控制器模塊的計(jì)算過(guò)程大體分為五個(gè)步驟,依次對(duì)應(yīng)以下5個(gè)模塊。(4)“電機(jī)控制輸出分配”模塊4:將力和力矩的控制量映射為四個(gè)電機(jī)的油門(mén)控制量(一般是0~1)。(5)“輸出接口”模塊5:將剩余的四維控制量補(bǔ)齊并映射出PWM調(diào)制信號(hào)(一般是1000~2000us),構(gòu)成八維(根據(jù)自駕儀硬件上的PWM輸出口數(shù)的PWM控制信號(hào)作為輸出。多旋翼非線性系統(tǒng)模型多旋翼非線性系統(tǒng)模型多旋翼模型該模塊模擬真實(shí)的多旋翼系統(tǒng),以電機(jī)的PWM控制量為輸入,以多旋翼的狀態(tài)和傳感器信息為輸出。傳感器的信息可以作為控制器的輸入,用于狀態(tài)估計(jì)與控制器設(shè)計(jì),從而形成閉環(huán)。多旋翼非線性系統(tǒng)模型多旋翼模型整個(gè)“多旋翼模型”子系統(tǒng)又包含以下七個(gè)主要模塊。(1)電機(jī)模塊1:模擬電機(jī)動(dòng)態(tài);(2)力和力矩模塊2:模擬螺旋槳拉力、機(jī)身氣動(dòng)力、自身重力以及地面支撐力等所有的外部力和力矩;(3)剛體運(yùn)動(dòng)動(dòng)態(tài)模塊3:計(jì)算多旋翼的速度、位置、姿態(tài)等運(yùn)動(dòng)學(xué)狀態(tài);多旋翼非線性系統(tǒng)模型多旋翼模型(4)環(huán)境模塊4:計(jì)算環(huán)境數(shù)據(jù),如重力加速度、空氣密度、風(fēng)干擾和地磁場(chǎng)等;(5)故障模塊5:主要用于注入模型不確定(質(zhì)量和轉(zhuǎn)動(dòng)慣量有關(guān)的)和故障數(shù)據(jù);(6)電池模塊6:模擬電池的放電過(guò)程;(7)輸出接口模塊7:將數(shù)據(jù)打包成需要的格式。多旋翼非線性系統(tǒng)模型“多旋翼模型”有一個(gè)輸入,也就是控制器模塊的PWM輸出信號(hào)。該模塊的輸出包括多旋翼基本三維狀態(tài)向量信息。而且,模型還直接輸出姿態(tài)四元數(shù)“AngQuatemn”和電機(jī)轉(zhuǎn)速“MotorPWMs”(單位:RPM)等。此外該模型還提供兩個(gè)重要的輸出接口,分別為傳感器數(shù)據(jù)結(jié)構(gòu)體“MavLinkSensorData”和GPS數(shù)據(jù)結(jié)構(gòu)體“HILGPS”(C++代碼已編譯成文件“e0SoftwareSimExpsliconlOutputPortsfmexw64”)。多旋翼模型多旋翼非線性系統(tǒng)模型多旋翼非線性系統(tǒng)模型多旋翼非線性系統(tǒng)模型控制器和多旋翼模型的參數(shù)都存儲(chǔ)在一個(gè)初始化腳本“e0N1SoftwareSimExpslInitcontrolm”中。該腳本在Simulink開(kāi)始仿真時(shí)會(huì)自動(dòng)執(zhí)行將所有參數(shù)導(dǎo)入工作空間,確保仿真正常運(yùn)行。多旋翼模型多旋翼非線性系統(tǒng)模型重要的模型仿真參數(shù)如表2.5至表2.9所示。多旋翼非線性系統(tǒng)模型重要的模型仿真參數(shù)如表2.5至表2.9所示。多旋翼非線性系統(tǒng)模型重要的模型仿真參數(shù)如表2.5至表2.9所示。多旋翼非線性系統(tǒng)模型多旋翼模型重要的模型仿真參數(shù)如表2.5至表2.9所示。多旋翼非線性系統(tǒng)模型多旋翼模型重要的模型仿真參數(shù)如表2.5至表2.9所示。多旋翼非線性系統(tǒng)模型在圖2.14中,F(xiàn)lightGear接口模塊有三個(gè)輸入分別對(duì)應(yīng)多旋翼位置“PosE”多旋翼姿態(tài)歐拉角“AngEular”以及電機(jī)的PWM信號(hào)“MotorPWMs”。該模塊會(huì)自動(dòng)向本地的FlightGear相關(guān)接口發(fā)送多旋翼的飛行數(shù)據(jù),打開(kāi)FlightGear之后就能在三維場(chǎng)景中看到多旋翼的飛行狀態(tài)。1、雙擊桌面上的FlightGear-F450快捷方式,打開(kāi)FlightGear視景窗口。FlightGear接口多旋翼非線性系統(tǒng)模型2、單擊Simulink工具欄的“運(yùn)行”按鈕(圖2.18靠右側(cè)的三形按)即可運(yùn)“CopterSim3DEnvironmentslx”仿真程序。3、此時(shí)可以在FlightGear界面中看到多旋翼從地面垂直起飛5s后開(kāi)始以一定的俯仰角向前飛行。FlightGear接口03實(shí)飛實(shí)驗(yàn)平臺(tái)MATLAB控制模型MATLAB控制模型打開(kāi)文件夾“e0\Rfly”,在MATLAB中單擊運(yùn)行“starttello.m”進(jìn)行初始化,并打sample.slx”,可以得到實(shí)飛實(shí)驗(yàn)所使用的MATLAB控制模型。MATLAB控制模型由以下七個(gè)部分組成。(1)“狀態(tài)獲取”模塊1:通過(guò)此接口模塊,多旋翼可以接收室內(nèi)定位系統(tǒng)反饋的飛行器位置和姿態(tài)信息。MATLAB控制模型(2)“路徑生成器”模塊2:此模塊產(chǎn)生給多旋翼的期望位置和偏航角,若需要執(zhí)行其他的飛行任務(wù),可以在此模塊中修改期望的軌跡。(3)“控制器”模塊3:此控制器的輸入是期望的位置,輸出是期望的速度和偏航角速率。(4)“控制指令發(fā)送”模塊4:此接口模塊將控制器的輸出發(fā)送給多旋翼。MATLAB控制模型(5)“數(shù)據(jù)存儲(chǔ)”模塊5:將多旋翼飛行過(guò)程中的實(shí)際狀態(tài)和期望狀態(tài)保存到MAT-LAB工作空間中,可用于分析飛行狀態(tài)。(6)“電量查看”模塊6:可以看到每個(gè)多旋翼的剩余電量百分比。(7)“實(shí)時(shí)控制”模塊7:此MATLAB模型的運(yùn)行速度快于實(shí)時(shí)時(shí)間,加入這個(gè)實(shí)時(shí)模塊保持MATLAB運(yùn)行速度與實(shí)際時(shí)間一致。實(shí)飛接口模塊如圖2.21所示,“主機(jī)-計(jì)算機(jī)-多旋翼”之間的信息傳遞都可以通過(guò)UDP協(xié)議實(shí)現(xiàn)。實(shí)飛接口模塊打開(kāi)圖2.20虛線框1所示模塊,得到圖2.22。圖中包含一個(gè)UDP接收模塊(“UDPRe-ceive”)和數(shù)據(jù)解壓模塊(“ByteUnpack”),用于接收遠(yuǎn)端反饋的多旋翼狀態(tài)信息以及將其解壓成所需信息便于分開(kāi)處理。打開(kāi)UDP接收模塊,需要手動(dòng)設(shè)定本地IP端口(本次實(shí)驗(yàn)端口號(hào)從26000開(kāi)始分配)、遠(yuǎn)程IP地址(Simulink獲工作站接收的信息,所以P是本機(jī)的,即“UDPRECIP=”)、接收緩沖大小和數(shù)據(jù)長(zhǎng)度。多旋翼狀態(tài)獲取模塊實(shí)飛接口模塊實(shí)飛接口模塊圖中包含八個(gè)控制指令發(fā)送模塊,這八個(gè)模塊類(lèi)似,根據(jù)需要單獨(dú)設(shè)置。打開(kāi)其中的一個(gè)模塊得到圖2.25,圖中包含一個(gè)UDP發(fā)送模塊(“UDPSend”)和數(shù)據(jù)打包模塊(“BytePack”),用于打包數(shù)據(jù)流,之后發(fā)送給指定IP地址的多旋翼。UDP發(fā)送模塊如圖2.26所示,需要遠(yuǎn)端(指受控多旋翼)IP端口和P地址??刂浦噶畎l(fā)送模塊實(shí)飛接口模塊實(shí)飛接口模塊初始化文件說(shuō)明初始化文件為“starttellom”下面對(duì)各行指令逐一解釋:表2.10中的代碼用于關(guān)閉所有圖形窗口,清空工作空間,清空命令行。于實(shí)時(shí)時(shí)間,加入這個(gè)實(shí)時(shí)模塊保持MATLAB運(yùn)行速度與實(shí)際時(shí)間一致。初始化文件說(shuō)明在表2.11中,“fixedstepsize”定義MATLAB運(yùn)行步長(zhǎng);“AUTOLAND”表示仿真結(jié)束時(shí)是否自動(dòng)降落,如果需要自動(dòng)降落就將此參數(shù)設(shè)置為“true”,否則就設(shè)置為“false”;“TELLOPLOT”表示是否繪制飛行過(guò)程中的數(shù)據(jù)曲線,在分析飛行狀態(tài)時(shí)使用;飛行過(guò)程的數(shù)據(jù)和曲線保存在“figurelignum”文件夾下。初始化文件說(shuō)明初始化文件說(shuō)明多旋翼飛行場(chǎng)地參數(shù)如表2.12所示。初始化文件說(shuō)明軌跡生成參數(shù)如表2.13所示。表2.14中,“simstarttime”表示開(kāi)始飛行的時(shí)刻,在此時(shí)間之前多旋翼會(huì)飛行到初始位置;“simendtimeSimulink”表示模型結(jié)束運(yùn)行時(shí)間。表2.15中的代碼表示發(fā)送和接收數(shù)據(jù)的IP地址,這里使用的是本機(jī)P地址。初始化文件說(shuō)明初始化文件說(shuō)明初始化文件說(shuō)明表2.16表示多旋翼發(fā)送和接收數(shù)據(jù)的端口號(hào)。表2.17代碼用于啟動(dòng)Simulink模型。系統(tǒng)啟動(dòng)流程在Linux操作系統(tǒng)(本書(shū)的環(huán)境為Ubuntu16.04+ROSKinetic)的終端(Crl+Alt+T組合鍵開(kāi)啟)中輸入以下指令進(jìn)行操作。(1)啟動(dòng)OptiTrackroslaunchmocapoptitrackmultirigidbody8.launch(2)啟動(dòng)tellodriverroslaunchtellodrivertellonodeall8.launch系統(tǒng)啟動(dòng)流程(3)起飛TellorosruntelloTellotakeoffall(4)運(yùn)行MATLAB/Simulink控制程序完整的MATLAB/Simulink控制程序應(yīng)包括“starttellom”初始化文件、“.slx”格式的Simulink文件“tello8plotm”繪圖文件和“satgdm”飽和函數(shù)。系統(tǒng)啟動(dòng)流程(5)停止MATLAB/Simulink控制程序單擊Simulink文件的停止按鈕。(6)降落TellorosruntelloTellolandall需要注意的是,可以將啟動(dòng)、起飛、降落指令在實(shí)驗(yàn)前分別輸入不同的終端中,快速實(shí)現(xiàn)多旋翼的起飛降落,防止發(fā)生意外。增加或減少飛行器的數(shù)量減少飛行器的數(shù)量不需要修改模型,給定期望的軌跡即可。增加飛行器的數(shù)量需要將圖2.20中虛線框1~4中的模塊復(fù)制對(duì)應(yīng)的數(shù)量。在復(fù)制“1”和“4”中的模塊時(shí),需要修改發(fā)送和接收的IP地址。如要將飛行器的數(shù)量增加到10,可以復(fù)制虛線框1中接收7、8號(hào)飛行器的模塊。進(jìn)一步,修改“UDPReceive”模塊中的“LocalIPport”為“TELLO9RECPORT”和“TELLO10RECPORT”。增加或減少飛行器的數(shù)量04平臺(tái)優(yōu)勢(shì)平臺(tái)優(yōu)勢(shì)平臺(tái)提供仿真階段的目的是讓更多人能夠熟悉整個(gè)開(kāi)發(fā)過(guò)程,減少實(shí)驗(yàn)時(shí)間以及過(guò)程中帶來(lái)的風(fēng)險(xiǎn)和不確定因素。本實(shí)驗(yàn)平臺(tái)在MATLAB/Simulink中提供了多旋翼控制器設(shè)計(jì)的相關(guān)接口,讀者(初學(xué)者、學(xué)生或者工程師)可以利用自己所學(xué)知識(shí)快速進(jìn)行控制器設(shè)計(jì)與驗(yàn)證。在控制器設(shè)計(jì)完成后,可以通過(guò)仿真1.0階段測(cè)試,之后使用設(shè)計(jì)的控制代碼直接控制真實(shí)的飛行器來(lái)驗(yàn)證和評(píng)估所設(shè)計(jì)的控制算法的性能。實(shí)驗(yàn)流程多旋翼無(wú)人機(jī)遠(yuǎn)程控制實(shí)踐第3章01總體介紹01020304打開(kāi)例程,閱讀并運(yùn)行程序代碼,然后觀察并記錄分析數(shù)據(jù)?;A(chǔ)實(shí)驗(yàn)在上述兩個(gè)實(shí)驗(yàn)的基礎(chǔ)上,針對(duì)給定的任務(wù),進(jìn)行獨(dú)立設(shè)計(jì)。設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)讀者修改例程,運(yùn)行修改后的程序并收集和分析數(shù)據(jù)。分析實(shí)驗(yàn)在設(shè)計(jì)實(shí)驗(yàn)的基礎(chǔ)上,針對(duì)給定的任務(wù),進(jìn)行獨(dú)立設(shè)計(jì)并運(yùn)用于真實(shí)的多旋翼。實(shí)飛實(shí)驗(yàn)總體介紹總體介紹對(duì)于基礎(chǔ)實(shí)驗(yàn)和分析實(shí)驗(yàn),本書(shū)會(huì)提供完整的例程,以此保證所有的讀者都可以順利完成實(shí)驗(yàn)。通過(guò)以上兩個(gè)分步實(shí)驗(yàn),讀者能較好地了解實(shí)驗(yàn)的理論和其應(yīng)用方法。在設(shè)計(jì)實(shí)驗(yàn)中,讀者只需在原有的架構(gòu)上逐一替換成自己的設(shè)計(jì)模塊,并進(jìn)行硬件在環(huán)仿真測(cè)試。通過(guò)實(shí)飛實(shí)驗(yàn),讀者能將自主設(shè)計(jì)開(kāi)發(fā)的算法用于真實(shí)的多旋翼飛行測(cè)試。整個(gè)過(guò)程由淺入深,便于一步一步達(dá)到最終的實(shí)驗(yàn)?zāi)繕?biāo)??傮w介紹基礎(chǔ)實(shí)驗(yàn)、分析實(shí)驗(yàn)和設(shè)計(jì)實(shí)驗(yàn)都包括仿真1.0和仿真2.0,其中設(shè)計(jì)實(shí)驗(yàn)還包括硬件在環(huán)仿真。這里的仿真1.0采用的模型是簡(jiǎn)化的線性模型,通常是利用系統(tǒng)辨識(shí)得到的,可以用于模擬模型開(kāi)發(fā);而仿真2.0采用的模型是高逼真的非線性模型,用于模擬模型開(kāi)發(fā)到真實(shí)飛行器上的遷移。實(shí)飛實(shí)驗(yàn)包括仿真1.0和實(shí)飛,這里的仿真1.0采用的模型也是簡(jiǎn)化的線性模型。總體介紹仿真階段總得來(lái)說(shuō),實(shí)驗(yàn)可以劃分為兩個(gè)階段:仿真階段和實(shí)飛階段。仿真階段需要經(jīng)歷“仿真1.0→仿真2.0→硬件在環(huán)仿真”。仿真1.0采用的多旋翼模型是設(shè)計(jì)模型,而仿真2.0使用的是一個(gè)高保真的非線性模型。通過(guò)“系統(tǒng)辨識(shí)”實(shí)驗(yàn),對(duì)仿真2.0使用的高保真非線性模型進(jìn)行系統(tǒng)辨識(shí),可以得到傳遞函數(shù)模型,也稱為設(shè)計(jì)模型??傮w介紹實(shí)飛階段實(shí)飛階段需要經(jīng)歷“仿真1.0→實(shí)飛實(shí)驗(yàn)”。仿真1.0采用對(duì)真實(shí)多旋翼進(jìn)行“系統(tǒng)辨識(shí)”實(shí)驗(yàn)得到的設(shè)計(jì)模型,而實(shí)飛實(shí)驗(yàn)是在真實(shí)多旋翼上進(jìn)行的。在每個(gè)實(shí)驗(yàn)設(shè)計(jì)完成后,需要在MATLAB/Simulink中實(shí)現(xiàn),并在搭建好的設(shè)計(jì)模型仿真平臺(tái)中進(jìn)行仿真測(cè)試。之后,讀者需要將通過(guò)仿真測(cè)試的控制器,應(yīng)用于真實(shí)的多旋翼。02定點(diǎn)控制實(shí)驗(yàn)流程(1)給定定點(diǎn)指令,其中水平前向通道和水平側(cè)向通道的定點(diǎn)指令范圍為[-1,1],高度通道定點(diǎn)指令范圍為[0,-2],以及偏航角通道角度控制指令范圍為[-∏,∏]。(2)速度反饋的三個(gè)分量用“ux”“uy”和“uz”表示(單位:m/s),分別代表水平前向速度、水平側(cè)向速度和垂直速度。(3)歐拉角反饋量為“AngEuler”中的偏航角。輸入數(shù)據(jù)實(shí)驗(yàn)?zāi)繕?biāo)對(duì)多旋翼模型的直接控制指令,也就是速度指令和偏航角速率指令。輸出數(shù)據(jù)實(shí)驗(yàn)?zāi)繕?biāo)多旋翼保持在高度為1m,偏航角為0的情況下,從任意定點(diǎn)到達(dá)(1,1,1)位置。期望效果步驟一:控制器設(shè)計(jì)這里我們給出一個(gè)設(shè)計(jì)好的例子,見(jiàn)文件“e0\sim1.0\samplel.slx”。打開(kāi)該文件,如圖3.1所示。該模型中“Model”模塊采用的是設(shè)計(jì)模型(線性模型)。請(qǐng)仔細(xì)觀察和分析其中的子模塊的實(shí)現(xiàn)方法,并進(jìn)行功能完善。仿真1.0仿真實(shí)驗(yàn)流程仿真實(shí)驗(yàn)流程步驟二:建立控制器子模塊打開(kāi)圖3.1中的“ControlInput”模塊,設(shè)定相應(yīng)的定點(diǎn)期望。設(shè)置完定點(diǎn)期望后,打開(kāi)圖3.1中的“Controller”模塊,查看各個(gè)通道的定點(diǎn)控制器形式和內(nèi)容。如圖3.3所示是控制器的內(nèi)部形式。具體原理可參見(jiàn)第2章2.2.2節(jié)的控制器模塊部分。仿真1.0仿真實(shí)驗(yàn)流程仿真實(shí)驗(yàn)流程步驟三:開(kāi)始仿真雙擊MATLAB文件“startSimulation.m”,并單擊作界面中的“運(yùn)行”(Run)按鈕,然后單擊Simulink工具欄“開(kāi)始仿真”按鈕開(kāi)始仿真。水平前向通道、水平側(cè)向通道和高度通道的仿真結(jié)果可以通過(guò)運(yùn)行文件“e0plot.m”得到,如圖3.4所示,這三個(gè)變量從起點(diǎn)位置迅速到達(dá)(1,1,1)位置,達(dá)到了預(yù)期效果。仿真1.0仿真實(shí)驗(yàn)流程仿真實(shí)驗(yàn)流程仿真實(shí)驗(yàn)流程仿真2.0步驟一:控制器設(shè)計(jì)此處控制器和仿真1.0相同。步驟二:替換多旋翼模型打開(kāi)“e0\sim1.0\samplel.slx”,將“Model”模塊里的傳遞函數(shù)模型替換成非線性模型,然后按要求設(shè)置期望輸入。這里我們給出一個(gè)設(shè)計(jì)好的例子,見(jiàn)文件“e0\sim2.0\samplel.slx”,其與“e0\sim1.0\samplel.slx”的區(qū)別在于此處的多旋翼模型為非線性模型。仿真實(shí)驗(yàn)流程仿真2.0步驟三:開(kāi)始仿真雙擊文件“FlightGear-Start.bat”打開(kāi)FlightGear,然后雙擊“startSimulation.m”文件并單擊“運(yùn)行”;接著在Simulink工具欄中單擊“開(kāi)始仿真”按鈕。此時(shí),可以在FlightGear視景中(見(jiàn)圖3.5)觀察到:多旋翼爬升一段時(shí)間后到達(dá)指定定點(diǎn)。這說(shuō)明控制器實(shí)現(xiàn)了預(yù)期要求。仿真實(shí)驗(yàn)流程仿真2.0硬件在環(huán)仿真需要準(zhǔn)備裝配有RflySim和MATLABR2017b及以上版本的計(jì)算機(jī),以及如圖3.6所示的Pixhawk自駕儀和USB數(shù)據(jù)線。本書(shū)使用的自駕儀是Pixhawk4,固件版本為1.10.1。步驟一:連接硬件將Pixhawk自駕儀與計(jì)算機(jī)通過(guò)USB數(shù)據(jù)線連接。硬件在環(huán)仿真仿真實(shí)驗(yàn)流程步驟二:選擇HIL腳本(1)對(duì)于單機(jī)仿真,打開(kāi)桌面“RflyTools”文件夾,直接打開(kāi)圖3.7中的“HITLRun腳本文件,將彈出命令行。插入Pixhawk自駕儀后,圖中將會(huì)顯示串口號(hào),如這里是“3”,只需把該串口號(hào)輸入下方即可。硬件在環(huán)仿真仿真實(shí)驗(yàn)流程步驟二:選擇HIL腳本(2)對(duì)于多機(jī)仿真,需要將多個(gè)Pixhawk自駕儀連接計(jì)算機(jī)。同時(shí)按照路徑“[安裝盤(pán)]:\PX4PSP\RfySimAPIs\SimulinkSwarmAPI”找到名稱為“HTLRunUdpFull.bat”的文件,雙擊后彈出的命令行。注意,此時(shí)命令行中提示的串口號(hào)個(gè)數(shù)應(yīng)與連接的自駕儀個(gè)數(shù)一致,需要在下方輸入所有給出的串口號(hào),每個(gè)串口號(hào)用逗號(hào)分隔開(kāi)。硬件在環(huán)仿真仿真實(shí)驗(yàn)流程仿真實(shí)驗(yàn)流程硬件在環(huán)仿真步驟三:一鍵啟動(dòng)HIL在填寫(xiě)完串口號(hào)后,按下回車(chē)鍵,系統(tǒng)會(huì)自動(dòng)打開(kāi)所有與硬件在環(huán)仿真相關(guān)的Rfly-Sim軟件,包括RflySim3D、CopterSim和QGC地面站,如圖3.9所示。步驟四:運(yùn)行MATLAB程序打開(kāi)MATLABR20176及以上版本以及打開(kāi)要運(yùn)行的Simulink模型,單擊“運(yùn)行”按鈕便可以實(shí)現(xiàn)自駕儀硬件在環(huán)仿真,仿真結(jié)果通過(guò)RfySim3D軟件實(shí)時(shí)顯示。仿
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025地質(zhì)勘探技術(shù)服務(wù)合同
- 2025復(fù)合地板、靜電地板承包合同
- 2025砼襯砌鋼模板臺(tái)車(chē)加工承攬合同
- 2025勞動(dòng)合同補(bǔ)充協(xié)議-知識(shí)產(chǎn)權(quán)歸屬協(xié)議
- 2025合同商務(wù)管理監(jiān)理工作實(shí)施細(xì)則(終稿)
- 物業(yè)管理顧問(wèn)合同協(xié)議書(shū)范本
- 個(gè)人汽車(chē)抵押借款合同范文
- 搬家公司合同
- 事業(yè)單位人員聘用合同簽訂說(shuō)明
- 軟件產(chǎn)品代理合同
- 2025福建新華發(fā)行(集團(tuán))限責(zé)任公司校園招聘30人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 山東鐵投集團(tuán)招聘筆試沖刺題2025
- 圖像敘事的跨學(xué)科視野-洞察分析
- 2025年中考英語(yǔ)總復(fù)習(xí):閱讀理解練習(xí)題30篇(含答案解析)
- 陜西省英語(yǔ)中考試卷與參考答案(2024年)
- 基于OBE理念的世界現(xiàn)代史教學(xué)與學(xué)生歷史思維培養(yǎng)探究
- 施工現(xiàn)場(chǎng)揚(yáng)塵污染治理巡查記錄
- 2024年列車(chē)員技能競(jìng)賽理論考試題庫(kù)500題(含答案)
- 中南大學(xué)《藥理學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《無(wú)人機(jī)測(cè)繪技術(shù)》項(xiàng)目3任務(wù)2無(wú)人機(jī)正射影像數(shù)據(jù)處理
- 《ISO 55013-2024 資產(chǎn)管理-數(shù)據(jù)資產(chǎn)管理指南》專業(yè)解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024B0)-121-240
評(píng)論
0/150
提交評(píng)論