買彩鳳
摘 要:以四旋翼自主飛行器為基礎(chǔ),基于視覺的目標(biāo)識(shí)別與跟蹤問題,完成了系統(tǒng)設(shè)計(jì)、識(shí)別跟蹤算法設(shè)計(jì)和實(shí)驗(yàn)驗(yàn)證這一整套流程。飛行器通過電子調(diào)速器控制來驅(qū)動(dòng)飛行器的四個(gè)直流電機(jī),利用三軸角速度傳感器與三軸加速度傳感器集成的MPU6050芯片以及姿態(tài)解算實(shí)現(xiàn)飛機(jī)平穩(wěn)上升,利用超聲波測(cè)取當(dāng)前高度達(dá)到目標(biāo)高度并完成懸停要求。通過遙控器來發(fā)射信號(hào),當(dāng)遙控小車的接收模塊接收到信息并將其傳遞給STM32單片機(jī),再根據(jù)內(nèi)部程序輸出PWM波,電機(jī)驅(qū)動(dòng)接收PWM波后將順利完成四個(gè)基本動(dòng)作:前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn);采用攝像頭傳感器追蹤目標(biāo)車的顏色,以此達(dá)到飛行器探測(cè)追蹤要求。
關(guān)鍵詞:四旋翼;瑞薩單片機(jī);OV7670攝像頭;PID算法;
一、系統(tǒng)方案
本系統(tǒng)主要由控制系統(tǒng)模塊、電機(jī)驅(qū)動(dòng)模塊、飛行姿態(tài)檢測(cè)模塊、超聲波測(cè)距模塊、攝像頭模塊、電源模塊組成。本設(shè)計(jì)以瑞薩(Renesas)單片機(jī)RX23T作為主控芯片為其控制系統(tǒng)模塊。此控制器是一款功能強(qiáng)大的處理器,且運(yùn)算速度快,非常適用于處理較復(fù)雜的任務(wù)。利用其單片機(jī)輸出PWM波通過電子調(diào)速器來驅(qū)動(dòng)四個(gè)直流電機(jī)構(gòu)成電機(jī)驅(qū)動(dòng)模塊。利用3軸MEMS陀螺儀傳感器,3軸MEMS加速度計(jì)傳感器以及氣壓計(jì)傳感器集成的芯片和STM32 F103芯片作為飛行姿態(tài)檢測(cè)模塊,通過三個(gè)16位的ADC將其測(cè)量到的模擬量轉(zhuǎn)化為輸出且能夠被單片機(jī)直接處理的數(shù)字量,從而減輕單片機(jī)的工作量。利用超聲波的反射特性來測(cè)距離從而控制飛行器的高度來構(gòu)成超聲波測(cè)距模塊。利用攝像頭采集圖像通過腐蝕算法處理采集到信息找到目標(biāo)信號(hào)構(gòu)成其攝像頭模塊。
1、控制系統(tǒng)模塊器件的論證與選擇
主控模塊的選擇:主控模塊作為整個(gè)控制系統(tǒng)的核心,其處理器的選型顯得尤為重要。在本系統(tǒng)中,對(duì)處理器的選型需要考慮一下幾點(diǎn):
(1)處理器必須具有足夠運(yùn)算能力,能實(shí)時(shí)的對(duì)飛行器的姿態(tài)進(jìn)行修正;
(2)在姿態(tài)解算過程中需要處理器進(jìn)行大量的浮點(diǎn)運(yùn)算。因此要求處理器具有一定的浮點(diǎn)運(yùn)算能力;
(3)考慮到處理器和內(nèi)存進(jìn)行數(shù)據(jù)交換比較頻繁,所以選用處理器芯片內(nèi)部必須有足夠的空間對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ);
(4)要有足夠的外設(shè),不僅考慮到當(dāng)前用到的外設(shè),而且還要考慮以后升級(jí)需要的外設(shè),所以選用外設(shè)較多的處理器;
(5)由于對(duì)電機(jī)進(jìn)行控制主要是靠控制 PWM 波的占空比來實(shí)現(xiàn)的,所以應(yīng)該選用帶有增強(qiáng)型的 HRPWM 控制器的處理器。
1.1.單片機(jī)的選擇
采用RX23T型號(hào)的瑞薩單片機(jī),RX23T的瑞薩單片機(jī)具有新高性能CPU:RXV2CORE;其最大工作頻率為40MHZ,電源電壓為單一電源2.7-5.5V;擁有64-128KB的Flash、12KB的RAM內(nèi)置存儲(chǔ)器、32MHz(精度± 1%: --20℃+85℃時(shí))的內(nèi)置發(fā)振電路。
1.2控制系統(tǒng)方案選擇
利用實(shí)驗(yàn)室已有的單片機(jī)最小系統(tǒng)板,直接搭建控制系統(tǒng),單片機(jī)最小系統(tǒng)可以直接使用,減少搭建硬件的難度,而且具有穩(wěn)定性強(qiáng),所占空間小等優(yōu)點(diǎn)。
2、飛行姿態(tài)檢測(cè)模塊器件的論證與選擇
利用陀螺儀和加速度傳感器集成的MPU-6050
檢測(cè)飛行姿態(tài)需要采用陀螺儀和加速度傳感器來測(cè)量?jī)A角,不斷地檢測(cè)自身的飛行狀態(tài),根據(jù)自身姿態(tài)來調(diào)節(jié)自身平衡,從而達(dá)到穩(wěn)定飛行。為了避免陀螺儀和加速度傳感器安裝中可能出現(xiàn)的機(jī)械偏差。本設(shè)計(jì)采用3軸陀螺儀和3軸加速度計(jì)所集成兩者的MPU6050傳感器模塊。
3、超聲波測(cè)距模塊器件的論證與選擇
由于要求四旋翼飛行器近地飛行,且控制飛行在不低于1m高度懸停,因此決定采用超聲波來測(cè)距。其具有測(cè)量準(zhǔn)確,無接觸,防水,防腐蝕,低成本等優(yōu)點(diǎn)。本設(shè)計(jì)的超聲波測(cè)距模塊將采用HC-SR04超聲波測(cè)距傳感器,這是一種集發(fā)射與接收于一體的超聲波模塊,該模塊性能穩(wěn)定,測(cè)度距離精確,模塊高精度,盲區(qū)小,且非常適合近地飛行測(cè)距。
4、攝像頭模塊器件的論證與選擇
OV7670傳感器體積小、工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。且擁有獨(dú)有的傳感器技術(shù),通過減少或消除光學(xué)或電子缺陷如固定圖案噪聲、拖尾、浮散等,提高圖像質(zhì)量,得到清晰的穩(wěn)定的彩色圖像。為了完成探測(cè)跟蹤,使其追擊到目標(biāo)信號(hào),本次設(shè)計(jì)將使用STM32驅(qū)動(dòng)ALIENTEK OV7670攝像頭模塊,實(shí)現(xiàn)攝像頭功能。
二、系統(tǒng)理論分析與計(jì)算
1、數(shù)字PID位置型控制算法
PID控制是迄今為止最為廣泛應(yīng)用的控制算法,大多數(shù)反饋回路都是通過該方法或其變形來實(shí)現(xiàn)控制。并且由于PID控制算法結(jié)構(gòu)簡(jiǎn)單,對(duì)誤差和擾動(dòng)模型的建立具有穩(wěn)定性且容易操作。在四旋翼自主飛行器的控制中,雖然文獻(xiàn)[2]中都對(duì)四旋翼飛行器的控制都建立的數(shù)學(xué)模型,但由于被控制過程中有許多未知干擾和擾動(dòng)影響飛行器的飛行,因此本設(shè)計(jì)采用PID控制。按偏差的比例、積分、微分進(jìn)行控制的控制器成為PID控制器,用來調(diào)節(jié)其穩(wěn)定性、回復(fù)性、阻尼性,控制俯仰角、翻滾角、航向角的速度。
輸出值=P的調(diào)節(jié)值+ I的調(diào)節(jié)值+ D的調(diào)節(jié)值
ki_out= ki * increment;
kd_out=kd * (sensor.gyro.histor.y - sensor.gyro.averag.y)*33;
kp_out= kp * E_pitch;
俯仰角:kp=1.5,ki=0.07,kd=0.35、翻滾角:kp=5.8,ki=0.04,kd=0.35、航向角:kp=1.8,ki=0,kd=0.1。
2、定高部分控制算法
定高控制算法采用的是位置式 PID 控制,定高控制的輸出最后與姿態(tài)控制的輸出疊加到四個(gè)電機(jī)的控制中[4]。對(duì)超聲波的數(shù)據(jù)濾波使用的是低通濾波,采用近三次的平均值。為減小高度控制對(duì)姿態(tài)控制的干擾,通過PID算法確定結(jié)果,再輸出高度PWM波。HightPwm=Rc_data.THROTLO+(g_HightControl-g_HightControlold)*kp;一鍵起飛是當(dāng)遙控器發(fā)出該指令時(shí),高度設(shè)定為0.5m,定高控制PID起作用,直到四軸飛行器達(dá)到設(shè)定高度后,飛行器進(jìn)行自主定高飛行。
kp=0.25,Rc_data.THROTLO=1650,g_HightControlold=0.5,g_HightControl為當(dāng)前高度。
三、電路與程序設(shè)計(jì)
1、電路的設(shè)計(jì)
(1)系統(tǒng)總體框圖
(2)飛行控制子系統(tǒng)框圖與電路原理圖
1、飛行控制子系統(tǒng)框圖
2、程序的設(shè)計(jì)
四旋翼飛行器飛行控制系統(tǒng)軟件設(shè)計(jì)的主要任務(wù)是對(duì)以DSP處理器為核心的控制系統(tǒng)進(jìn)行軟件開發(fā)。軟件設(shè)計(jì)應(yīng)用模塊化設(shè)計(jì)思想,易于擴(kuò)展和升級(jí).
(1)主程序功能描述與設(shè)計(jì)思路
整個(gè)軟件設(shè)計(jì)可以分為兩部分。其中中斷處理部分可以將采集的傳感器的數(shù)據(jù)通過外設(shè)與 DSP 進(jìn)行數(shù)據(jù)交換。主程序主要完成對(duì)系統(tǒng)內(nèi)各部分進(jìn)行控制。四旋翼飛行器控制系統(tǒng)完成自檢后,系統(tǒng)進(jìn)入等待狀態(tài)。若有控制命令,則中央控制單元對(duì)命令進(jìn)行解析,執(zhí)行相關(guān)操作??刂葡到y(tǒng)執(zhí)行完命令后再次進(jìn)入等待狀態(tài),等待接收新的命令。系統(tǒng)上電后,先執(zhí)行自檢過程,包括通訊狀態(tài)檢測(cè)、傳感器偏置檢測(cè)和電機(jī)執(zhí)行模塊的檢測(cè)等。執(zhí)行命令的過程就是四旋翼飛行器接收姿態(tài)解算角度值送入設(shè)計(jì)的
(2)子程序功能描述與設(shè)計(jì)思路
姿態(tài)解算模塊軟件設(shè)計(jì)在本系統(tǒng)中選用了微機(jī)電數(shù)字傳感器,該傳感器內(nèi)部集成了濾波電路,所以控制器讀取到數(shù)據(jù)后不需要花費(fèi)時(shí)間進(jìn)行濾波,同時(shí)也節(jié)省了 DSP處理器的資源。姿態(tài)解算模塊軟件設(shè)計(jì)主要完成的工作包括數(shù)據(jù)的采集、數(shù)據(jù)的預(yù)處理和姿態(tài)的解算三個(gè)方面的工作。通過串級(jí)PID控制器,完成對(duì)飛行器姿態(tài)的調(diào)整,以達(dá)到設(shè)計(jì)要求給定的飛行任務(wù)。
參考文獻(xiàn):
[1]夏長(zhǎng)亮,楊曉軍,史婷娜等,基于魯棒調(diào)節(jié)器的無刷直流電機(jī)速度控制研究[J],電工電能新技術(shù),21(3):5-8,2008.
[2] 曾小勇,彭輝,吳軍.四旋翼飛行器的建模與姿態(tài)控制[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,44(9):3693-3700.
[3] 張濤.基于QFT的四旋翼飛行器飛行控制算法研究[J].科技創(chuàng)新導(dǎo)報(bào),2012,(24):10-11.