国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于模糊控制的循跡無人機(jī)研究

2021-06-25 09:10:46豐宇航蔣雯怡王冠凌
綏化學(xué)院學(xué)報(bào) 2021年6期
關(guān)鍵詞:循跡模糊化論域

豐宇航 蔣雯怡 王冠凌 李 旦

(安徽工程大學(xué)電氣工程學(xué)院 安徽蕪湖 241000)

四軸飛行器是以四個螺旋槳提供飛行動力的一種可歸類于直升機(jī)的飛行器[1]。因?yàn)槠洫?dú)特的構(gòu)造,所以可以進(jìn)行豎直升空降落,空中懸浮等固定翼飛行器無法達(dá)到的特殊飛行姿態(tài),起降方式十分自由,幾乎不受場地的限制,且可以向任意方向飛行。由于四軸飛行器具有的獨(dú)特飛行方式以及體積小巧、制作成本低、操作上手門檻低等優(yōu)點(diǎn),因此被各種領(lǐng)域所青睞。目前國內(nèi)對于循跡四軸飛行器[2,3]的自主飛行的研究取得了相當(dāng)大的成效,從而使循跡四軸飛行器在很多領(lǐng)域都有所應(yīng)用。本文主要是通過OpenMV機(jī)器視覺模塊對圖像進(jìn)行采集與處理,經(jīng)由TI公司生產(chǎn)的MSP432芯片作為飛行器主控芯片來進(jìn)行處理,實(shí)現(xiàn)了四軸飛行器可以按照地面規(guī)劃好的路徑進(jìn)行自主飛行。

一、系統(tǒng)整體構(gòu)成

(一)OpenMV。OpenMV Cam H7是一款小型、低功耗,搭載輕量化的機(jī)器視覺算法庫的開源機(jī)器視覺模塊,以ARM Cortex-M7處理器STM32H743VI為核心,集成了OV7725圖像傳感器。由于內(nèi)置的機(jī)器視覺算法庫提供了Python接口,因此可以通過microPython語言來調(diào)用OpenMV上的機(jī)器視覺算法庫。不同于龐大的OpenCV庫帶來的移植上困難,OpenMV可以方便、快速的達(dá)成項(xiàng)目設(shè)計(jì)要求。

(二)FreeRTOS。 RTOS全稱“Real Time Operating System”,中文名實(shí)時操作系統(tǒng)[4],是一類操作系統(tǒng),例如LiteOS-M、RT-Thread以及FreeRTOS等。由于RTOS系統(tǒng)一般被用于嵌入式和物聯(lián)網(wǎng),因此對其的要求就與PC上平常使用的Windows和Linux等操作系統(tǒng)不同。受嵌入式和物聯(lián)網(wǎng)的應(yīng)用環(huán)境所限,操作系統(tǒng)必須對外界的信息(一般是由外設(shè)觸發(fā)的事件或者中斷)做出及時的反應(yīng),這就要操作系統(tǒng)必須在確定的時間內(nèi)完成全部或者絕大多數(shù)的任務(wù)。這也是RTOS和Windows、Linux操作系統(tǒng)的最明顯區(qū)別。

FreeRTOS是RTOS系統(tǒng)的一種,因?yàn)镕reeRTOS十分的小巧,僅從其源程序上的文件數(shù)量就可以看出比UCOS-Ⅱ和UCOS-Ⅲ要小的多,所以對硬件資源的消耗非常低,而且FreeRTOS的內(nèi)核遵循MIT開源協(xié)議,因此FreeRTOS在市場中占據(jù)大量的份額,社區(qū)論壇異常活躍,官方文檔也十分齊全,這對于開發(fā)的幫助十分巨大,所以選取FreeRTOS作為四軸飛行器的操作系統(tǒng)。

(三)飛行器整體結(jié)構(gòu)。文中四軸飛行器選取MSP432作為飛行器主控芯片,其余硬件資源有MPU9250模塊、BMP280模塊、電壓測量模塊、無線數(shù)傳、OpenMV模塊、電機(jī)調(diào)速器、無刷電機(jī)、光流模塊。首先OpenMV負(fù)責(zé)圖像的采集、處理和識別,并將識別后的結(jié)果通過串口發(fā)送給MSP432主控,再由MSP432主控[5]對該結(jié)果信息進(jìn)行處理,如計(jì)算偏差、更新目標(biāo)姿態(tài)、驅(qū)動電機(jī)調(diào)速器改變電機(jī)轉(zhuǎn)速等。具體飛行器整體控制圖圖10將在后面給出。飛行器整體結(jié)構(gòu)如圖1所示。

圖1 飛機(jī)整體結(jié)構(gòu)圖

二、圖像預(yù)處理

(一)圖像處理。由于外界環(huán)境光照等其他因素的干擾,以及設(shè)備自身的誤差,會導(dǎo)致一些噪聲融入采集到的圖像信息中,這會對后面的目標(biāo)識別產(chǎn)生不利的影響。因此,在獲得采集到圖像信息后,需要對圖像進(jìn)行相應(yīng)的處理,從而減弱圖像信息中的噪聲干擾,圖像整體處理流程如圖2所示。由于對圖像的處理會占用大量的硬件資源,為了保證控制系統(tǒng)的實(shí)時性和快速性,以下的操作均是在圖像大小為160x120(單位為px)下進(jìn)行。

圖2 圖像處理流程

(二)圖像灰度化。同灰度圖不同,彩色圖像含有顏色信息,受限于飛行器搭載的硬件資源,為了保證四軸飛行器的控制效果,將采集的彩圖處理為灰度圖,即色彩值轉(zhuǎn)化為亮度值,以降低圖像處理對資源的占用,保證算法識別的實(shí)時性。為了更加明顯的看到在識別中彩色圖像和灰度圖像對幀數(shù)的影響,這里使用運(yùn)算量較大的Apriltag識別來展示。通過OpenMV IDE可以清楚的看到,關(guān)于彩色圖像和灰度圖像對于幀數(shù)的影響,其中圖3是灰度圖和幀數(shù),圖中處理后的灰度圖的灰度級別為256,圖4是原圖(RGB565彩色圖像)和幀數(shù)。由于連接到OpenMV IDE進(jìn)行圖像傳輸顯示會大幅度丟失幀率,因此這里只是作為對比展示,后面在實(shí)際飛行中,并不會將圖像傳到地面站上進(jìn)行顯示,以提高算法識別的實(shí)時性。

圖3 灰度圖

圖4 原圖(彩色圖)

(三)圖像腐蝕與膨脹處理。在實(shí)際中,由于環(huán)境條件的影響,地面上的黑色線條可能會有破損,或者因?yàn)楣饩€的影響,導(dǎo)致OpenMV拍攝到的黑色線條有缺陷。因此需要對拍攝到圖像進(jìn)行修補(bǔ)處理。首先需要對拍攝到的灰度圖圖5進(jìn)行二值化處理,二值化是通過設(shè)定閾值范圍的方法將灰度圖里面的所有像素點(diǎn)的像素值設(shè)置為兩個指定的值,一般是0和255。其結(jié)果如圖6所示。從圖像中可以清晰的看到,圖像信息中包含的噪點(diǎn)對二值化后目標(biāo)提取的干擾,因此需要對圖像進(jìn)行腐蝕膨脹處理[6,7]來消除噪點(diǎn),效果如圖7,腐蝕是提取卷積核覆蓋的區(qū)域內(nèi)的最小像素值,替代錨點(diǎn)位置的像素值,一般選取卷積核的中心為錨點(diǎn)。相反的,膨脹是提取卷積核覆蓋的區(qū)域內(nèi)的最大像素值,替代錨點(diǎn)位置的像素值。這里腐蝕算法使用的核為3X3的卷積核,膨脹算法使用的是5X5的卷積核。式(1)分別為腐蝕和膨脹算法所使用的卷積核。

圖5 灰度圖

圖6 二值化

圖7 腐蝕膨脹

三、控制系統(tǒng)設(shè)計(jì)

通過上面的圖像處理,已經(jīng)得到圖像信息較好的路徑二值化圖像,通過對圖像進(jìn)行線性回歸[8,9],即可擬合出路徑引導(dǎo)線并獲得其參數(shù),如圖8所示。通過將其與圖像垂直中心線進(jìn)行運(yùn)算即可得到偏差eθ和eρ,其中eθ是直線與圖像垂直中心線的夾角,右偏為正,左偏為負(fù),eρ為直線與圖像垂直中心線的距離。根據(jù)得到的角度和距離誤差信息,來對更新四軸飛行器的目標(biāo)姿態(tài)[10]。本文設(shè)置了角度-角速度的串級控制器來作為四軸飛行器所使用的控制器,采用模糊PID設(shè)計(jì)角度外環(huán)。

圖8 線性回歸

(一)模糊PID控制原理。PID算法是以偏差的比例、積分和微分進(jìn)行控制的控制算法,廣泛應(yīng)用于連續(xù)控制系統(tǒng),是最為成熟的一種連續(xù)系統(tǒng)控制算法。連續(xù)控制系統(tǒng)的理想PID控制規(guī)律為:

式中,KP為比例增益系數(shù);TI是積分時間常數(shù);TD是微分時間常數(shù),u(t)為控制器輸出的控制信號,e(t)為期望值與輸入信號之間的誤差。

由于嵌入式微處理器使用的是數(shù)字電路,無法直接處理模擬量,所以PID控制律需要離散化。位置式PID就是離散得到一種形式,其式為:

式中,u(k)為第k個采樣點(diǎn)處控制器的輸出值;e(k)為第k個采樣點(diǎn)的差值;∑e(i)是誤差的累計(jì);Kp、Ki、Kd分別為比例、積分和微分系數(shù)。

模糊控制對信號的模糊處理會導(dǎo)致控制系統(tǒng)的準(zhǔn)確性和快速性下降。為了解決這一問題,設(shè)計(jì)了模糊PID控制器,結(jié)構(gòu)如圖9。通過將模糊控制與傳統(tǒng)PID控制相結(jié)合,由模糊控制器根據(jù)誤差e和誤差變化量ec來調(diào)整PID控制器Kp、Ki、Kd的值,再由PID控制器進(jìn)行控制。由于是模糊PID控制器是建立了誤差e和誤差改變量ec與傳統(tǒng)PID的Kp、Ki、Kd系數(shù)之間聯(lián)系,并沒有直接對系統(tǒng)的輸出產(chǎn)生影響,從而避免了模糊控制帶來的對系統(tǒng)的靜態(tài)特性和穩(wěn)態(tài)特性的影響[11]。模糊PID控制器的本質(zhì)是依據(jù)輸入誤差e和誤差改變量ec,然后根據(jù)模糊原理,實(shí)時調(diào)整PID控制器的參數(shù),來適應(yīng)不同的情況。

圖9 模糊PID控制器結(jié)構(gòu)圖

(二)模糊規(guī)則建立。由于輸入的信號量是連續(xù)量,因此需要對輸入進(jìn)行模糊化[12]。以四軸飛行器與地面飛行引導(dǎo)線的角度誤差為例,四軸飛行器與地面飛行引導(dǎo)線的角度誤差e和角度誤差改變量ec是模糊控制器的輸入,輸出是PID參數(shù)的增量:?kp、?ki、?kd,變化范圍由工程經(jīng)驗(yàn)決定。設(shè)輸入的模糊子集為{負(fù)大,負(fù)中,負(fù)小,零,正小,正中,正大},對應(yīng)為{NB,NM,NS,ZO,PS,PM,PB},隸屬函數(shù)采用三角隸屬度函數(shù),完成了輸入的模糊化后,就需要建立模糊規(guī)則表[13,14](見表1-表3)。

表1 Kp的模糊規(guī)則庫

表2 Ki的模糊規(guī)則庫

表3 Kd的模糊規(guī)則庫

經(jīng)過模糊推理,將得到的增量?Kp、?Ki、?Kd,疊加到Kp、Ki、Kd的初始值上,從而得到最終的Kp、Ki、Kd參數(shù)的值。因此有式(4)。

式中,?Kp、?Ki、?Kd為模糊推理得到的增量;Kp0、Ki0、Kd0為PID參數(shù)的初始值;Kp、Ki、Kd為目標(biāo)值。

(三)模糊PID控制器設(shè)計(jì)。以線性回歸得到直線與圖像垂直中心線的角度偏差eθ為例,來設(shè)計(jì)控制器。令模糊控制器輸入為偏差e和偏差變化率ec,輸出為?kp、?ki、?kd。

1.輸入e:基本論域?yàn)閇-90,+90];離散論域?yàn)閧-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};模糊化公式為式(5);模糊子集為{NB,NM,NS,ZO,PS,PM,PB} 。

2.輸入ec:基本論域?yàn)閇-135,135];離散論域?yàn)閧-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};模糊化公式為式(5);模糊子集同步驟1

3.輸出量?kp、?ki、?kd:基本論域分別為[-0.5,0.5]、[-0.07,0.07]、[-4,4];離散論域?yàn)閧-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}。解模糊化采用重心法,公式為式(6);模糊子集同步驟1。

式中,uw為控制量的精確值,uB′(uj)表示輸出量模糊集合B′中第j個元素uj所對應(yīng)的隸屬度。

根據(jù)離散論域和隸屬函數(shù)對e、ec模糊化,分別得到對應(yīng)模糊子集的值,經(jīng)過模糊推理,得到模糊子集中?kp、?ki、?kd的值和對應(yīng)的隸屬值,解模糊化得到輸出量uw。通過將 ?kp、?ki、?kd分別與Kp0、Ki0、Kd0疊加獲得Kp、Ki、Kd。再由修正后的PID控制器,輸出內(nèi)環(huán)的期望,內(nèi)環(huán)輸出控制量,完成四軸飛行器姿態(tài)的調(diào)整。飛行器循跡整體控制圖如圖10所示。

圖10 飛行器整體控制圖

四、實(shí)驗(yàn)分析

在自主搭建的無人機(jī)平臺上進(jìn)行相關(guān)試驗(yàn)。因?yàn)槭菍︼w行器循跡控制,不涉及高度大幅度變化,所以設(shè)定飛行器高度為1.5m,給定飛行器的俯仰角pitch=5°,保證飛行器一直向前飛。

通過無線數(shù)傳可以將線性規(guī)劃出的直線與圖像垂直中心線的角度和距離發(fā)送到地面站。從圖11可以看出飛行器對路徑的追蹤效果,飛行器相對黑線的位置偏差大約在50個像素點(diǎn)內(nèi),可以完成對地面黑線的循跡飛行。

圖11 地面黑線距離圖像中線像素點(diǎn)的偏差量

五、結(jié)論

本文設(shè)計(jì)了使用模糊PID控制器的四旋翼自主循跡控制系統(tǒng),通過灰度、二值化和腐蝕膨脹預(yù)處理,線性回歸提取出導(dǎo)航線,最終得到偏差量。設(shè)計(jì)了角度-角速度的級聯(lián)控制,控制器分別由模糊PID和位置PID構(gòu)成,并以偏航角為例說明了設(shè)計(jì)流程。最后根據(jù)實(shí)際飛行中,無線數(shù)傳返回的數(shù)據(jù),驗(yàn)證了飛行器能夠完成自主循跡飛行。

猜你喜歡
循跡模糊化論域
基于DFT算法的電力巡檢無人機(jī)循跡檢測系統(tǒng)設(shè)計(jì)
([0,1],[0,1])-模糊擬陣的基和秩函數(shù)
基于變論域模糊控制的Taylor逼近型內(nèi)模PID算法
餐飲娛樂空間的“邊界模糊化”態(tài)勢探討——餐飲娛樂空間設(shè)計(jì)專輯
三角模糊數(shù)去模糊化對VIKOR妥協(xié)解的影響研究
變論域自適應(yīng)模糊PID控制系統(tǒng)仿真與應(yīng)用
基于單片機(jī)的智能循跡小車的設(shè)計(jì)
電子測試(2018年15期)2018-09-26 06:01:14
智能差分循跡小車設(shè)計(jì)
電子制作(2017年1期)2017-05-17 03:54:20
基于MC9S12XS128處理器的智能循跡小車分析研究
電子制作(2016年11期)2016-11-07 08:43:49
雙論域粗糙集在故障診斷中的應(yīng)用
郯城县| 大埔县| 时尚| 武山县| 香港| 锦屏县| 翁源县| 婺源县| 东乌珠穆沁旗| 新和县| 安化县| 沙雅县| 关岭| 巴林右旗| 肇庆市| 普兰县| 扎赉特旗| 淳安县| 青阳县| 瑞安市| 石楼县| 阿拉善盟| 松江区| 霍邱县| 额尔古纳市| 三明市| 灵台县| 诸暨市| 鄂伦春自治旗| 西藏| 中山市| 呼伦贝尔市| 门源| 乐安县| 河曲县| 南康市| 黎平县| 镇安县| 香格里拉县| 涿州市| 平邑县|