高國(guó)剛 宋強(qiáng) 閆景富 姚彥博
[摘 要]在無(wú)人機(jī)課程教學(xué)中,姿態(tài)解算是教學(xué)重點(diǎn)之一。但由于基本概念多、數(shù)學(xué)推導(dǎo)繁復(fù)、內(nèi)容枯燥、學(xué)生理解吃力,這使其教學(xué)變得非常困難。為使學(xué)生更好的學(xué)習(xí)和掌握無(wú)人機(jī)姿態(tài)解算和姿態(tài)變化過(guò)程,文章以自主開發(fā)的模擬仿真平臺(tái)為基礎(chǔ),與數(shù)學(xué)教育軟件GeoGebra相配合,實(shí)現(xiàn)了算法可視化教學(xué),有效地幫助學(xué)生理解了相關(guān)算法在實(shí)際工程中的物理意義,成功突破了這個(gè)難點(diǎn)。
[關(guān)鍵詞]無(wú)人機(jī)課程教學(xué);姿態(tài)解算;算法可視化
[基金項(xiàng)目]2020年中國(guó)石油大學(xué)(北京)克拉瑪依校區(qū)教育教學(xué)改革項(xiàng)目“基于虛擬儀器的電工電子學(xué)實(shí)驗(yàn)教學(xué)改革”(JG2020013);2017年新疆維吾爾自治區(qū)綜合教改項(xiàng)目“政校企協(xié)同育人機(jī)制下的機(jī)械專業(yè)創(chuàng)新創(chuàng)業(yè)人才培養(yǎng)新模式”(2017JG027);2017年教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目“虛擬儀器機(jī)電聯(lián)合實(shí)驗(yàn)室建設(shè)”(201702008089)
[作者簡(jiǎn)介]高國(guó)剛(1988—),男,甘肅酒泉人,碩士,中國(guó)石油大學(xué)(北京)克拉瑪依校區(qū)工學(xué)院實(shí)驗(yàn)師,主要從事自動(dòng)控制、無(wú)損檢測(cè)等研究。
[中圖分類號(hào)] G642[文獻(xiàn)標(biāo)識(shí)碼] A[文章編號(hào)] 1674-9324(2020)47-0-03[收稿日期] 2020-08-15
一、引言
近年來(lái),隨著無(wú)人機(jī)技術(shù)和產(chǎn)業(yè)的快速發(fā)展,以及我國(guó)對(duì)“新工科”“雙創(chuàng)”等政策的大力支持,各種電子設(shè)計(jì)大賽、創(chuàng)新創(chuàng)業(yè)項(xiàng)目中涉及無(wú)人機(jī)的課題越來(lái)越多,大學(xué)生對(duì)無(wú)人機(jī)的關(guān)注度也持續(xù)攀升[1-2]。為了更好地提高高校學(xué)生對(duì)前沿科技的了解,增強(qiáng)學(xué)生的創(chuàng)新能力和實(shí)際應(yīng)用能力,一些高校已經(jīng)針對(duì)無(wú)人機(jī)展開了項(xiàng)目式教學(xué)[3-6]。姿態(tài)解算是無(wú)人機(jī)教學(xué)中的重點(diǎn)內(nèi)容,其中需要理解的知識(shí)點(diǎn)較多、理論推導(dǎo)和計(jì)算繁復(fù),學(xué)生通過(guò)閱讀文獻(xiàn)較難理解飛行器的姿態(tài)變化和解算過(guò)程,因此在課堂講授中時(shí)常會(huì)出現(xiàn)教師難教、學(xué)生難學(xué)的現(xiàn)象。鑒于此,筆者結(jié)合自身教學(xué)實(shí)踐和科研經(jīng)歷,以自主開發(fā)的無(wú)人機(jī)姿態(tài)解算模擬仿真平臺(tái)為基礎(chǔ),對(duì)教學(xué)方法和手段進(jìn)行了改革探索,目的是使學(xué)生能夠直觀的了解和學(xué)習(xí)相關(guān)算法,激發(fā)學(xué)生思考數(shù)學(xué)公式所表達(dá)的實(shí)際工程意義,培養(yǎng)學(xué)生的求知能力,進(jìn)而突破教學(xué)難點(diǎn),改善教學(xué)效果。
二、教學(xué)工具簡(jiǎn)介
目前國(guó)內(nèi)用于教學(xué)的無(wú)人機(jī)平臺(tái)不多,大疆等公司生產(chǎn)的無(wú)人機(jī)功能多,種類齊全,性能穩(wěn)定,但代碼不開源,無(wú)法在教學(xué)中使用;以PX4、APM或STM32為核心開源飛控,采用C語(yǔ)言編程,結(jié)合Matlab/Simulink軟件平臺(tái)進(jìn)行仿真驗(yàn)證,入門起點(diǎn)較高,不利于初學(xué)快速更改控制算法和參數(shù)。
LabVIEW是一款用圖形化符號(hào)代替文本編程語(yǔ)言的虛擬儀器開發(fā)平臺(tái),具有操作簡(jiǎn)單,易于理解和掌握等特點(diǎn)。myRIO是NI公司針對(duì)教學(xué)和學(xué)生創(chuàng)新應(yīng)用推出的嵌入式系統(tǒng)開發(fā)平臺(tái),其作為可重復(fù)配置和使用的教學(xué)工具,具有以下特點(diǎn):①編程簡(jiǎn)單,代碼開源,易于上手使用;②板載資源豐富,硬件交互擴(kuò)展能力強(qiáng);③安全便捷,容易攜帶。利用LabVIEW和myRIO開發(fā)飛行器姿態(tài)解算仿真平臺(tái),把相關(guān)算法集成到平臺(tái)中,軟件架構(gòu)簡(jiǎn)單易懂,計(jì)算結(jié)果實(shí)時(shí)可見。學(xué)生在熟悉相關(guān)算法后,可以利用平臺(tái)驗(yàn)證不同參數(shù)對(duì)姿態(tài)解算結(jié)果的影響,進(jìn)而加深對(duì)相關(guān)算法的理解。
教具由上位機(jī)和下位機(jī)組成。其中,慣性測(cè)量單元MPU6050模塊和myRIO-1900構(gòu)成下位機(jī),其任務(wù)是采集原始數(shù)據(jù)采集和計(jì)算飛行器姿態(tài),計(jì)算結(jié)果通過(guò)用戶數(shù)據(jù)報(bào)協(xié)議通信(UDP,User Datagram Protocol)發(fā)送至上位機(jī)。上位機(jī)是一臺(tái)裝有LabVIEW軟件的PC機(jī),其功能是實(shí)時(shí)顯示飛行器姿態(tài)數(shù)據(jù)和飛行器模型在3D場(chǎng)景中的位置。
另外,考慮到學(xué)生的數(shù)學(xué)基礎(chǔ)良莠不齊,可在教學(xué)中利用Geogebra軟件進(jìn)行輔助教學(xué)。GeoGebra是一款集數(shù)值計(jì)算、符號(hào)計(jì)算、函數(shù)繪圖等功能的數(shù)學(xué)教育軟件,具有界面簡(jiǎn)潔化、命令可視化等優(yōu)點(diǎn),能夠輕松實(shí)現(xiàn)函數(shù)表達(dá)式和圖像的同步變化,從而提升學(xué)生對(duì)知識(shí)點(diǎn)的理解能力。
三、教學(xué)內(nèi)容概述及教學(xué)過(guò)程
無(wú)人機(jī)姿態(tài)解算內(nèi)容廣泛、概念龐雜,但核心問(wèn)題是要理解旋轉(zhuǎn)矩陣、歐拉角和四元數(shù)三種姿態(tài)表示的變化與機(jī)體角速度的關(guān)系。課程內(nèi)容由淺入深,可分為3個(gè)部分:①基本概念;②坐標(biāo)變換及其實(shí)現(xiàn);③姿態(tài)解算與仿真。每部分內(nèi)容都將以前續(xù)內(nèi)容為基礎(chǔ)不斷增加難度,旨在培養(yǎng)學(xué)生對(duì)算法的理解能力。
(一)基本概念講解
在教學(xué)開始時(shí),教師務(wù)必要把一些基本概念介紹清楚,否則學(xué)生容易在學(xué)習(xí)過(guò)程中感到理解困難,體會(huì)不到知識(shí)的實(shí)際作用。在講解基本概念時(shí),應(yīng)適當(dāng)加以歸納整合,形成一個(gè)簡(jiǎn)明的理論體系,可以從實(shí)際生活案例出發(fā),增加學(xué)生的感性認(rèn)識(shí),并以此為基點(diǎn)開展相關(guān)概念講述[7]。教師需講述的基本概念如下:
右手定則:右手拇指指向X軸正方向,食指指向Y軸正方向,中指所指的方向即是Z軸正方向。要確定旋轉(zhuǎn)正方向,用右手的大拇指指向軸的正方向,彎曲四指,則四指的指向即是旋轉(zhuǎn)正方向。
慣性坐標(biāo)系(i系):原點(diǎn)位于地球中心,坐標(biāo)軸相對(duì)于恒星無(wú)轉(zhuǎn)動(dòng),軸向定義為OXi,OYi,OZi。其中OZi的方向與地球極軸的方向一致。
載體坐標(biāo)系(b系):它是一個(gè)與特定物體相關(guān)聯(lián)的獨(dú)立正交坐標(biāo)系,并隨物體姿態(tài)的變化而改變。為了便于理解和計(jì)算,在選擇坐標(biāo)系時(shí),教師可以引導(dǎo)學(xué)生將i系和b系的坐標(biāo)軸方向保持一致。
歐拉角:假定載體的初始狀態(tài)為標(biāo)準(zhǔn)方位,即b系與i系重合,某一時(shí)刻載體相對(duì)于參考坐標(biāo)系的姿態(tài),可以通過(guò)繞不同坐標(biāo)的3次連續(xù)轉(zhuǎn)動(dòng)來(lái)確定。因此,從i系到b系的轉(zhuǎn)換關(guān)系可表示為:繞Z軸轉(zhuǎn)動(dòng)ψ角;繞新坐標(biāo)系的Y軸轉(zhuǎn)動(dòng)θ角;繞新坐標(biāo)系的X軸轉(zhuǎn)動(dòng)φ角。
(二)坐標(biāo)變換教學(xué)
坐標(biāo)變換的講解可先從簡(jiǎn)單的2D環(huán)境中物體繞原點(diǎn)的旋轉(zhuǎn)講起,循序漸進(jìn)過(guò)度至3D環(huán)境中,使學(xué)生了解在不同環(huán)境中進(jìn)行坐標(biāo)變換的邏輯性關(guān)系。在3D空間中,要確定或描述一個(gè)物體的方位至少需要三個(gè)數(shù),描述物體坐標(biāo)方位的常用方法有三種:①方向余弦矩陣;②歐拉角;③四元數(shù)。三種表示法能夠相互轉(zhuǎn)換,以Z-Y-X旋轉(zhuǎn)順規(guī)為例,當(dāng)物體系相對(duì)于慣性系發(fā)生姿態(tài)變化時(shí),歐拉角與旋轉(zhuǎn)矩陣、歐拉角與四元數(shù)的關(guān)系如文獻(xiàn)[8]所述。方向余弦矩陣反映了b系相對(duì)于i系的映射關(guān)系,實(shí)際物理意義是:若方向余弦矩陣已知,那么通過(guò)該矩陣便可找到b系相對(duì)于i系發(fā)生的姿態(tài)變化。
教師在授課時(shí),可在Geogebra軟件中以列表的形式設(shè)置3個(gè)長(zhǎng)度相等的方向向量表示b系,以便直觀的展示坐標(biāo)變換過(guò)程。當(dāng)姿態(tài)發(fā)生變化時(shí),方向向量與旋轉(zhuǎn)矩陣相乘便可得到b系相對(duì)于i系變化后的姿態(tài)。圖1展示了當(dāng)ψ=0.2rad、θ=-0.5rad、φ=0.3rad時(shí)的變換結(jié)果。當(dāng)學(xué)生利用四元數(shù)進(jìn)行坐標(biāo)變換時(shí),需提醒其注意四元數(shù)運(yùn)算與傳統(tǒng)運(yùn)算的區(qū)別。
學(xué)生熟悉相關(guān)算法后,即可用LabVIEW編寫坐標(biāo)變換算法,并在上位機(jī)程序中將3個(gè)表盤設(shè)置為輸入控件。程序運(yùn)行后,調(diào)節(jié)相應(yīng)表盤指針便可動(dòng)態(tài)查看飛行器坐標(biāo)變換過(guò)程。圖2展示了當(dāng)歐拉角分別設(shè)置為11.46°,-28.65°和17.19°時(shí),飛行器坐標(biāo)變化結(jié)果,對(duì)比Geogebra變換結(jié)果即可驗(yàn)證算法的正確性。同理,也可學(xué)習(xí)和驗(yàn)證其他順規(guī)的坐標(biāo)轉(zhuǎn)換算法。
在講解坐標(biāo)變換時(shí),教師可同時(shí)展示出方向余弦矩陣、歐拉角和四元數(shù)法的變換結(jié)果,引導(dǎo)學(xué)生發(fā)現(xiàn)三種姿態(tài)表示方法的優(yōu)劣:方向余弦矩陣的缺點(diǎn)是因數(shù)據(jù)冗余導(dǎo)致的計(jì)算效率降低;歐拉角法在處理坐標(biāo)變換問(wèn)題時(shí)有可能導(dǎo)致萬(wàn)向鎖。因此,選用四元數(shù)法表達(dá)物體姿態(tài),既能減小計(jì)算量,提高姿態(tài)解算效率,又能保證姿態(tài)解算精度。
(三)姿態(tài)解算教學(xué)
姿態(tài)解算涉及四元數(shù)微分方程的求解和誤差補(bǔ)償控制,授課可采用“程序填空”的方式進(jìn)行。四元數(shù)中包含了物體的姿態(tài)信息,物體姿態(tài)的改變即為四元數(shù)的改變,實(shí)時(shí)的姿態(tài)計(jì)算需要實(shí)時(shí)更新四元數(shù)。因此,需要構(gòu)建四元數(shù)關(guān)于時(shí)間的微分方程[9]來(lái)研究四元數(shù)的變化規(guī)律,并利用四階龍格—庫(kù)塔法求解微分方程[10]。在誤差補(bǔ)償控制方面,可通過(guò)構(gòu)建PI控制器來(lái)控制誤差補(bǔ)償?shù)拇笮『途?,其基本思想是:利用i系標(biāo)準(zhǔn)重力加速度可算得b系的理論重力加速度,飛行器的實(shí)際重力加速度可通過(guò)傳感器測(cè)得,此二者間必然存在誤差?yuàn)A角β,根據(jù)向量叉乘運(yùn)算法則可算出β的正弦值。由于β的變化范圍較小,故可將β近似為理論值與實(shí)際值之間的誤差。在PI控制器中,調(diào)節(jié)比例項(xiàng)可消除靜態(tài)誤差,利用積分項(xiàng)可控制傳感器的“可信度”,計(jì)算結(jié)果即為誤差補(bǔ)償值δ。通過(guò)δ修正陀螺儀的測(cè)量值,并用修正結(jié)果求解四元數(shù)微分方程便可得到相對(duì)準(zhǔn)確的姿態(tài)。
使用LabVIEW開發(fā)的無(wú)人機(jī)姿態(tài)解算模擬仿真平臺(tái),在求解四元數(shù)微分方程和誤差補(bǔ)償控制時(shí)都使用了MathScript節(jié)點(diǎn),這樣做不僅提升了算法的執(zhí)行效率,而且在教學(xué)中方便教師向?qū)W生提供程序框架,學(xué)生可以基于所學(xué)知識(shí)對(duì)程序進(jìn)行補(bǔ)充完善,并隨即得到驗(yàn)證。這種“程序填空”的學(xué)習(xí)形式不但可以減輕學(xué)生負(fù)擔(dān),獲得最佳學(xué)習(xí)效果,而且還留有充分發(fā)揮和改進(jìn)的空間。
四、教學(xué)效果分析
上述教學(xué)內(nèi)容的授課對(duì)象是2017級(jí)的97名學(xué)生,經(jīng)過(guò)教學(xué)實(shí)踐,教學(xué)效果得到明顯好轉(zhuǎn)。筆者在課程結(jié)束后對(duì)教學(xué)效果進(jìn)行了問(wèn)卷調(diào)查,調(diào)查內(nèi)容包含5個(gè)方面:對(duì)教學(xué)效果的滿意程度、對(duì)課程內(nèi)容的掌握程度、教師知識(shí)點(diǎn)講解清晰程度、教學(xué)手段優(yōu)化程度以及教師對(duì)課程的準(zhǔn)備程度。調(diào)查結(jié)果分為優(yōu)秀、良好、一般、較差和很差5個(gè)等級(jí)。調(diào)查結(jié)果顯示,教師利用自主開發(fā)的教學(xué)工具能夠較清晰地描述課程中的相關(guān)算法,使抽象的算法得到更直觀的表達(dá),突破了教師難教、學(xué)生難學(xué)的教學(xué)難點(diǎn),加深了學(xué)生對(duì)教學(xué)內(nèi)容的理解,對(duì)改善教學(xué)效果起到了促進(jìn)作用。
五、結(jié)語(yǔ)
利用模擬仿真平臺(tái),配合GeoGebra軟件進(jìn)行算法可視化教學(xué),可以引導(dǎo)學(xué)生逐步了解算法背后的物理意義,把學(xué)生從繁雜的數(shù)學(xué)公式中解脫出來(lái),使枯燥的理論變得有趣。循序漸進(jìn)的教學(xué)過(guò)程有助于完善學(xué)生的知識(shí)體系,提升學(xué)生的學(xué)習(xí)主動(dòng)性以及對(duì)理論知識(shí)的理解能力。“填空”式的算法實(shí)現(xiàn)使學(xué)生在輕松愉快的氛圍下突破了學(xué)習(xí)難點(diǎn),情感體驗(yàn)得到升華。良好的教學(xué)效果使教師在傳道授業(yè)的過(guò)程中,充分體會(huì)到了自身工作的價(jià)值與意義。
參考文獻(xiàn)
[1]曹煦,馮士恩.無(wú)人機(jī)技術(shù)應(yīng)用現(xiàn)狀和發(fā)展趨勢(shì)研究[J].計(jì)算機(jī)產(chǎn)品與流通,2020(07):107.
[2]周子棟,陳至坤,趙志佳.四旋翼無(wú)人機(jī)飛控算法綜述[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(09):33-36.
[3]溫凱,陳繆.全尺寸四旋翼無(wú)人機(jī)教學(xué)平臺(tái)設(shè)計(jì)與課程開發(fā)[J].實(shí)驗(yàn)技術(shù)與管理,2018,35(09):100-103.
[4]王剛,陳龍,薛遠(yuǎn)奎,等.四旋翼無(wú)人機(jī)控制理論與設(shè)計(jì)課程實(shí)踐教學(xué)[J].實(shí)驗(yàn)科學(xué)與技術(shù),2018,16(02):74-77.
[5]郁劍,張秋浩,鎮(zhèn)毅.基于四旋翼無(wú)人機(jī)的課程實(shí)踐教學(xué)[J].科技視界,2020(05):85-86.
[6]曾舒婷,夏慶鋒.高等學(xué)校無(wú)人機(jī)課程的跨學(xué)科教學(xué)研究[J].電腦知識(shí)與技術(shù),2018,14(29):168-169.
[7]陳立鋼,牛娜,孫明禮,等.高等院校工科專業(yè)分析化學(xué)教學(xué)改革與實(shí)踐[J].化工高等教育,2019,36(02):76-79+99.
[8]秦永元.慣性導(dǎo)航[M].第2版.北京:科學(xué)出版社,2014: 4-7.
[9]盛廣潤(rùn),高國(guó)偉,張伯源.基于四元數(shù)的四旋翼飛行器姿態(tài)解算研究[J].現(xiàn)代電子技術(shù),2020,43(14):8-12+16.
[10]史凱,劉馬寶.捷聯(lián)慣導(dǎo)四元數(shù)的四階龍格庫(kù)塔姿態(tài)算法[J].探測(cè)與控制學(xué)報(bào),2019,41(03):61-65.
Abstract: In the UVA Course teaching, posture calculation is one of the key teaching points. However, due to the many basic concepts, complicated mathematical derivation, boring content, and difficult to understand for students, the teaching of the course becomes very difficult. In order to help students to better learn and master the UAV posture calculation and change process, based on the self-developed simulation platform and in combination with the mathematical software GeoGebra, this paper realizes the algorithm visualization teaching, which effectively helps students understand the physical significance of relevant algorithms in practical engineering, and successfully breaks through this difficulty.
Key words: UAV Course teaching; posture calculation; algorithm visualization