APM飛控源碼講解.doc

APM飛控源碼講解.doc

ID:58819368

大小:59.50 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2020-10-25

APM飛控源碼講解.doc_第1頁(yè)
APM飛控源碼講解.doc_第2頁(yè)
APM飛控源碼講解.doc_第3頁(yè)
APM飛控源碼講解.doc_第4頁(yè)
APM飛控源碼講解.doc_第5頁(yè)
資源描述:

《APM飛控源碼講解.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、APM飛控系統(tǒng)介紹APM飛控系統(tǒng)是國(guó)外的一個(gè)開(kāi)源飛控系統(tǒng),能夠支持固定翼,直升機(jī),3軸,4軸,6軸飛行器。在此我只介紹固定翼飛控系統(tǒng)。APM飛控系統(tǒng)主要結(jié)構(gòu)和功能組成功能飛控主芯片Atmega1280/2560主控芯片PPM解碼芯片Atmega168/328負(fù)責(zé)監(jiān)視模式通道的pwm信號(hào)監(jiān)測(cè),以便在手動(dòng)模式和其他模式之間進(jìn)行切換。提高系統(tǒng)安全慣性測(cè)量單元雙軸陀螺,單軸陀螺,三軸加速度計(jì)測(cè)量三軸角速度,三軸加速度,配合三軸磁力計(jì)或gps測(cè)得方向數(shù)據(jù)進(jìn)行校正,實(shí)現(xiàn)方向余弦算法,計(jì)算出飛機(jī)姿態(tài)。GPS導(dǎo)航

2、模塊Lea-5h或其他信號(hào)gps模塊測(cè)量飛機(jī)當(dāng)前的經(jīng)緯度,高度,航跡方向(track),地速等信息。三軸磁力計(jì)模塊HMC5843/5883模塊測(cè)量飛機(jī)當(dāng)前的航向(heading)空速計(jì)MPXV7002模塊測(cè)量飛機(jī)空速(誤差較大,而且測(cè)得數(shù)據(jù)不穩(wěn)定,會(huì)導(dǎo)致油門(mén)一陣一陣變化)空壓計(jì)BMP085芯片測(cè)量空氣壓力,用以換算成高度AD芯片ADS7844芯片將三軸陀螺儀、三軸加速度計(jì)、雙軸陀螺儀輸出溫度、空速計(jì)輸出的模擬電壓轉(zhuǎn)換成數(shù)字量,以供后續(xù)計(jì)算其他模塊電源芯片,usb電平轉(zhuǎn)換芯片等飛控原理在APM飛控系

3、統(tǒng)中,采用的是兩級(jí)PID控制方式,第一級(jí)是導(dǎo)航級(jí),第二級(jí)是控制級(jí),導(dǎo)航級(jí)的計(jì)算集中在medium_loop()和fastloop()的update_current_flight_mode()函數(shù)中,控制級(jí)集中在fastloop()的stabilize()函數(shù)中。導(dǎo)航級(jí)PID控制就是要解決飛機(jī)如何以預(yù)定空速飛行在預(yù)定高度的問(wèn)題,以及如何轉(zhuǎn)彎飛往目標(biāo)問(wèn)題,通過(guò)算法給出飛機(jī)需要的俯仰角、油門(mén)和橫滾角,然后交給控制級(jí)進(jìn)行控制解算。控制級(jí)的任務(wù)就是依據(jù)需要的俯仰角、油門(mén)、橫滾角,結(jié)合飛機(jī)當(dāng)前的姿態(tài)解算出合適

4、的舵機(jī)控制量,使飛機(jī)保持預(yù)定的俯仰角,橫滾角和方向角。最后通過(guò)舵機(jī)控制級(jí)set_servos_4()將控制量轉(zhuǎn)換成具體的pwm信號(hào)量輸出給舵機(jī)。值得一提的是,油門(mén)的控制量是在導(dǎo)航級(jí)確定的??刂萍?jí)中不對(duì)油門(mén)控制量進(jìn)行解算,而直接交給舵機(jī)控制級(jí)。而對(duì)于方向舵的控制,導(dǎo)航級(jí)并不給出方向舵量的解算,而是由控制級(jí)直接解算方向舵控制量,然后再交給舵機(jī)控制級(jí)。以下,我剔除了APM飛控系統(tǒng)的細(xì)枝末節(jié),僅僅將飛控系統(tǒng)的重要語(yǔ)句展現(xiàn),只淺顯易懂地說(shuō)明APM飛控系統(tǒng)的核心工作原理。一,如何讓飛機(jī)保持預(yù)定高度和空速飛行要

5、想讓飛機(jī)在預(yù)定高度飛行,飛控必須控制好飛機(jī)的升降舵和油門(mén),因此,首先介紹固定翼升降舵和油門(mén)的控制,固定翼的升降舵和油門(mén)控制方式主要有兩種:一種是高度控制油門(mén),空速控制升降舵方式。實(shí)際飛行存在四種情況,第一種情況是飛機(jī)飛行過(guò)程中,如果高度低于目標(biāo)高度,飛控就會(huì)控制油門(mén)加大,從而導(dǎo)致空速加大,然后才導(dǎo)致拉升降舵,飛機(jī)爬升;第二種情況與第一種情況相反;第三種情況是飛機(jī)在目標(biāo)高度,但是空速高于目標(biāo)空速,這種情況飛控會(huì)直接拉升降舵,使飛機(jī)爬升,降低空速,但是,高度增加了,飛控又會(huì)減小油門(mén),導(dǎo)致空速降低,空速

6、低于目標(biāo)空速后,飛控推升降舵,導(dǎo)致飛機(jī)降低高度。這種控制方式的好處是,飛機(jī)始終以空速為第一因素來(lái)進(jìn)行控制,因此保證了飛行的安全,特別是當(dāng)發(fā)動(dòng)機(jī)熄火等異常情況發(fā)生時(shí),使飛機(jī)能繼續(xù)保持安全,直到高度降低到地面。這種方式的缺點(diǎn)在于對(duì)高度的控制是間接控制,因此高度控制可能會(huì)有一定的滯后或者波動(dòng)。另一種是高度控制升降舵,空速控制油門(mén)的方式。這種控制方式的原理是設(shè)定好飛機(jī)平飛時(shí)的迎角,當(dāng)飛行高度高于或低于目標(biāo)高度時(shí),在平飛迎角的基礎(chǔ)上根據(jù)高度與目標(biāo)高度的差設(shè)定一個(gè)經(jīng)過(guò)PID控制器輸出的限制幅度的爬升角,由飛機(jī)

7、當(dāng)前的俯仰角和爬升角的偏差來(lái)控制升降舵面,使飛機(jī)迅速達(dá)到這個(gè)爬升角,而盡快完成高度偏差的消除。但飛機(jī)的高度升高或降低后,必然造成空速的變化,因此采用油門(mén)來(lái)控制飛機(jī)的空速,即當(dāng)空速低于目標(biāo)空速后,在當(dāng)前油門(mén)的基礎(chǔ)上增加油門(mén),當(dāng)前空速高于目標(biāo)空速后,在當(dāng)前油門(mén)的基礎(chǔ)上減小油門(mén)。這種控制方式的好處是能對(duì)高度的變化進(jìn)行第一時(shí)間的反應(yīng),因此高度控制較好,缺點(diǎn)是當(dāng)油門(mén)失效時(shí),比如發(fā)動(dòng)機(jī)熄火發(fā)生時(shí),由于高度降低飛控將使飛機(jī)保持經(jīng)過(guò)限幅的最大仰角,最終由于動(dòng)力的缺乏導(dǎo)致失速。但是以上僅僅是控制理論。在實(shí)際控制系統(tǒng)

8、中,由于有些參量并不能較準(zhǔn)確地測(cè)得,或者測(cè)量時(shí)數(shù)據(jù)不穩(wěn)定,所以并不能完全按照上述的控制理論控制。例如空速的測(cè)量時(shí)相當(dāng)不準(zhǔn)確的,而且數(shù)據(jù)波動(dòng)較嚴(yán)重,這樣,就無(wú)法完全按照上述理論進(jìn)行控制,必須在其基礎(chǔ)上進(jìn)行適當(dāng)修改。以下以使用空速計(jì)情況和不使用空速計(jì)情況對(duì)APM飛控系統(tǒng)進(jìn)行闡述。(1),使用空速計(jì)情況在使用空速計(jì)的情況下,升降舵是由空速控制。update_current_flight_mode()調(diào)用calc_nav_pitch()調(diào)用nav_pitch=-g.pidNavPitchA

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。