本技術(shù)的實(shí)施例涉及自動(dòng)飛行駕駛,特別涉及一種主從結(jié)構(gòu)的自動(dòng)飛行駕駛儀和飛行器。
背景技術(shù):
1、自動(dòng)飛行駕駛儀又稱為飛控系統(tǒng),是一種按照設(shè)定的技術(shù)要求自動(dòng)控制飛行器軌跡的調(diào)節(jié)設(shè)備,其作用主要是保持飛機(jī)姿態(tài)。對(duì)于有人駕駛飛機(jī)而言,自動(dòng)飛行駕駛儀負(fù)責(zé)輔助駕駛員操縱飛機(jī),減輕駕駛員的負(fù)擔(dān);對(duì)于無人機(jī)而言,自動(dòng)飛行駕駛儀與其他導(dǎo)航設(shè)備相互配合以完成規(guī)定的飛行任務(wù);對(duì)于導(dǎo)彈而言,自動(dòng)飛行駕駛儀起到穩(wěn)定彈體姿態(tài)的作用,故而也稱為彈體姿態(tài)控制系統(tǒng)。
2、隨著飛行任務(wù)復(fù)雜性日益提高,人們對(duì)飛行安全性的要求日益提高,飛控系統(tǒng)需要承擔(dān)獲取傳感器數(shù)據(jù)、進(jìn)行控制律解算、進(jìn)行飛行解算等任務(wù)。同時(shí),智能化技術(shù)的應(yīng)用使得飛控系統(tǒng)還需要承擔(dān)視頻處理、神經(jīng)網(wǎng)絡(luò)等涉及海量數(shù)據(jù)和高速處理的任務(wù)。
3、然而,本技術(shù)的發(fā)明人發(fā)現(xiàn),單一處理器的飛控系統(tǒng)存在以下問題:
4、1)飛控系統(tǒng)兼顧數(shù)據(jù)處理、控制律和制導(dǎo)律解算的任務(wù),需要分出大量算力來完成數(shù)據(jù)的處理和交互,這就使直接關(guān)乎飛行安全的控制律、制導(dǎo)律解算受到了影響。
5、2)多傳感器數(shù)據(jù)的融合、視頻數(shù)據(jù)解算、智能算法運(yùn)算受到算力的影響。
6、3)飛控系統(tǒng)的余度備份能力不足。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)的實(shí)施例的主要目的在于提出一種主從結(jié)構(gòu)的自動(dòng)飛行駕駛儀和飛行器,采用主處理器和協(xié)處理器的雙處理器結(jié)構(gòu),可靠性更高,具有余度設(shè)計(jì),使得關(guān)鍵傳感器、控制律解算、制導(dǎo)律解算具備應(yīng)急重啟運(yùn)行的能力,有效提升了飛行安全。
2、為了實(shí)現(xiàn)上述目的,本技術(shù)的實(shí)施例提出了一種主從結(jié)構(gòu)的自動(dòng)飛行駕駛儀,包括:主處理器、協(xié)處理器、晶振時(shí)鐘、串口模塊、can通信模塊、i2c模塊、pwm輸出模塊、gpio模塊、usb模塊和tf卡插槽模塊,主處理器分別與協(xié)處理器和晶振時(shí)鐘連接,協(xié)處理器還分別與串口模塊、can通信模塊、i2c模塊、pwm輸出模塊、gpio模塊、usb模塊和tf卡插槽模塊連接,從而與自動(dòng)飛行駕駛儀所屬的飛行器的各功能模塊連接;晶振時(shí)鐘用于提供穩(wěn)定的時(shí)鐘信號(hào),以同步主處理器、協(xié)處理器、以及自動(dòng)飛行駕駛儀所屬的飛行器的各功能模塊的工作;主處理器用于創(chuàng)建并調(diào)度若干項(xiàng)系統(tǒng)任務(wù),將各項(xiàng)系統(tǒng)任務(wù)的調(diào)度順序和所需數(shù)據(jù)發(fā)送給協(xié)處理器;協(xié)處理器用于從自動(dòng)飛行駕駛儀所屬的飛行器的對(duì)應(yīng)的功能模塊處采集各項(xiàng)系統(tǒng)任務(wù)的所需數(shù)據(jù),在經(jīng)濾波處理后發(fā)送給主處理器;主處理器還用于利用卡爾曼融合算法對(duì)協(xié)處理器發(fā)送來的數(shù)據(jù)進(jìn)行融合,基于融合得到的數(shù)據(jù)進(jìn)行控制律、制導(dǎo)律的解算,并將解算結(jié)果發(fā)送給協(xié)處理器;協(xié)處理器還用于根據(jù)解算結(jié)果生成控制指令,并將控制指令發(fā)送給自動(dòng)飛行駕駛儀所屬的飛行器的對(duì)應(yīng)的功能模塊,以完成各項(xiàng)系統(tǒng)任務(wù)。
3、為了實(shí)現(xiàn)上述目的,本技術(shù)的實(shí)施例還提出了一種飛行器,包括:飛行器機(jī)身,若干個(gè)功能模塊,以及如上述所述的一種主從結(jié)構(gòu)的自動(dòng)飛行駕駛儀。
4、為了實(shí)現(xiàn)上述目的,本技術(shù)的實(shí)施例還提出了一種飛行控制方法,適用于如上述所述的一種飛行器,包括以下步驟:在飛行器上電后,配置自動(dòng)飛行駕駛儀和各功能模塊的輸入輸出,并進(jìn)行自檢;在自檢完成后,初始化應(yīng)用程序,開始生成穩(wěn)定的時(shí)鐘信號(hào),以同步主處理器、協(xié)處理器、以及各功能模塊的工作;創(chuàng)建并調(diào)度若干項(xiàng)系統(tǒng)任務(wù),從對(duì)應(yīng)的功能模塊處采集各項(xiàng)系統(tǒng)任務(wù)的所需數(shù)據(jù),在經(jīng)濾波處理后,利用卡爾曼融合算法進(jìn)行融合;基于融合得到的數(shù)據(jù)進(jìn)行控制律、制導(dǎo)律的解算,根據(jù)解算結(jié)果生成控制指令,并將控制指令發(fā)送給對(duì)應(yīng)的功能模塊,以完成各項(xiàng)系統(tǒng)任務(wù)。
5、為了實(shí)現(xiàn)上述目的,本技術(shù)的實(shí)施例還提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),能夠?qū)崿F(xiàn)上述所述的一種飛行控制方法。
6、本技術(shù)的實(shí)施例提出的一種主從結(jié)構(gòu)的自動(dòng)飛行駕駛儀和飛行器,自動(dòng)飛行駕駛儀的核心為兩個(gè)處理器,即主處理器和協(xié)處理器,二者利用晶振時(shí)鐘提供的時(shí)鐘信號(hào)實(shí)現(xiàn)工作時(shí)間的同步,兩個(gè)處理器各自承擔(dān)著不同的任務(wù)。主處理器負(fù)責(zé)創(chuàng)建并調(diào)度若干項(xiàng)系統(tǒng)任務(wù),進(jìn)行飛行器的總體控制統(tǒng)籌,同時(shí)還負(fù)責(zé)最消耗算力的數(shù)據(jù)融合以及控制律、制導(dǎo)律的解算工作。協(xié)處理器則負(fù)責(zé)通過不同的接口與飛行器的各功能模塊進(jìn)行數(shù)據(jù)交互,包括基礎(chǔ)數(shù)據(jù)的采集和控制指令的發(fā)布。主處理器不再承擔(dān)數(shù)據(jù)交互和簡(jiǎn)單處理的任務(wù),其算力可以全部用于解算工作,保證控制律、制導(dǎo)律解算的精度和可靠性,有效提升了飛行器的飛行安全。主處理器和協(xié)處理器互為主備,形成了余度設(shè)計(jì),使得關(guān)鍵傳感器、控制律解算、制導(dǎo)律解算具備應(yīng)急重啟運(yùn)行的能力。
7、在一些可選的實(shí)施例中,主處理器中設(shè)置有任務(wù)調(diào)度管理模塊和解算模塊;任務(wù)調(diào)度管理模塊采用前后臺(tái)系統(tǒng)或超循環(huán)系統(tǒng)的工作方式,任務(wù)調(diào)度管理模塊中的應(yīng)用程序是一個(gè)無限的循環(huán),在循環(huán)中按照規(guī)劃的時(shí)間片調(diào)用主處理器和協(xié)處理器中相應(yīng)的功能模塊,在不同的時(shí)間片調(diào)用主處理器和協(xié)處理器中不同的功能模塊;其中,任務(wù)調(diào)度管理模塊中設(shè)置有一個(gè)定時(shí)器中斷,提供長(zhǎng)度為1ms的定時(shí)時(shí)間為運(yùn)行的時(shí)間基準(zhǔn),所有的時(shí)序控制時(shí)間均以該定時(shí)時(shí)間為基準(zhǔn);任務(wù)調(diào)度管理模塊用于創(chuàng)建并調(diào)度若干項(xiàng)系統(tǒng)任務(wù),主處理器、協(xié)處理器和飛行器中的各功能模塊基于各項(xiàng)系統(tǒng)任務(wù)形成若干個(gè)組合,各項(xiàng)系統(tǒng)任務(wù)不分優(yōu)先級(jí),任務(wù)調(diào)度管理模塊根據(jù)控制邏輯來確定各項(xiàng)系統(tǒng)任務(wù)的調(diào)度順序;解算模塊用于對(duì)協(xié)處理器發(fā)送來的數(shù)據(jù)運(yùn)行卡爾曼融合算法,完成航向、加速度、角加速度、氣壓高度的測(cè)降噪,利用卡爾曼融合算法融合得到俯仰角、滾轉(zhuǎn)角、偏航角信息,并基于俯仰角、滾轉(zhuǎn)角、偏航角信息進(jìn)行控制律、制導(dǎo)律的解算;其中,解算模塊由數(shù)據(jù)融合單元、縱向控制律解算單元、橫側(cè)向控制律解算單元和制導(dǎo)律解算單元組成,飛行器在不同的飛行階段、不同的飛行方式和不同的飛行狀態(tài)下,對(duì)應(yīng)的控制律策略和結(jié)構(gòu)、制導(dǎo)律策略和結(jié)構(gòu)均不同。任務(wù)調(diào)度管理模塊允許多任務(wù)運(yùn)行,使得主處理器的利用率得到最大的發(fā)揮,該設(shè)計(jì)同時(shí)使得應(yīng)用程序模塊化,在實(shí)際應(yīng)用中,開發(fā)人員可以將很復(fù)雜的應(yīng)用程序?qū)哟位?,使用多任?wù),應(yīng)用程序?qū)⒏菀自O(shè)計(jì)與維護(hù)。解算模塊則有不同的解算單元組成,避免解算過程互相影響。
8、在一些可選的實(shí)施例中,處理器中還設(shè)置有系統(tǒng)地面檢測(cè)模塊;系統(tǒng)地面檢測(cè)模塊在飛行器位于地面且處于空閑狀態(tài)時(shí)啟動(dòng),生成檢測(cè)指令以對(duì)主處理器、協(xié)處理器和飛行器中的各功能模塊進(jìn)行可用性、可靠性檢測(cè)。系統(tǒng)地面檢測(cè)模塊僅在飛行器位于地面且空閑時(shí)啟動(dòng)并工作,保證飛行器中的各功能模塊可用、可靠,同時(shí)防止檢測(cè)干擾飛行器的正常飛行。
9、在一些可選的實(shí)施例中,主處理器中還設(shè)置有故障應(yīng)急處置模塊;當(dāng)飛行器位于地面且處于空閑狀態(tài)時(shí),故障應(yīng)急處置模塊用于獲取基于系統(tǒng)地面檢測(cè)模塊發(fā)送的對(duì)主處理器、協(xié)處理器和飛行器中的各功能模塊的可用性、可靠性檢測(cè)結(jié)果,對(duì)不可用、不可靠的功能模塊進(jìn)行故障應(yīng)急處置;當(dāng)飛行器處于飛行狀態(tài)時(shí),故障應(yīng)急處置模塊用于基于協(xié)處理器發(fā)送的數(shù)據(jù)進(jìn)行故障檢測(cè),當(dāng)檢測(cè)到發(fā)生故障時(shí),按照預(yù)設(shè)的應(yīng)急預(yù)案進(jìn)行故障應(yīng)急處置。故障應(yīng)急處置模塊作為應(yīng)急保障,在飛行器的任何狀態(tài)下均可以工作,當(dāng)飛行器位于地面時(shí),故障應(yīng)急處置模塊與系統(tǒng)地面檢測(cè)模塊配合工作,保證飛行器中的各功能模塊可用、可靠,當(dāng)飛行器處于飛行狀態(tài)時(shí),故障應(yīng)急處置模塊則與協(xié)處理器合作,進(jìn)行故障應(yīng)急處置。
10、在一些可選的實(shí)施例中,協(xié)處理器中設(shè)置有數(shù)據(jù)采集與處理模塊、控制模塊和遙控遙測(cè)模塊;與協(xié)處理器連接的飛行器中的功能模塊包括磁力計(jì)、加速度計(jì)、陀螺儀和氣壓計(jì),數(shù)據(jù)采集與處理模塊按照各項(xiàng)系統(tǒng)任務(wù)的調(diào)度順序,從磁力計(jì)、加速度計(jì)、陀螺儀和氣壓計(jì)處采集各項(xiàng)系統(tǒng)任務(wù)的所需數(shù)據(jù),在經(jīng)濾波處理后發(fā)送給主處理器;控制模塊用于接收主處理器發(fā)送來的解算結(jié)果,根據(jù)解算結(jié)果生成控制指令,并將控制指令發(fā)送給自動(dòng)飛行駕駛儀所屬的飛行器的對(duì)應(yīng)的功能模塊,以完成各項(xiàng)系統(tǒng)任務(wù);遙控遙測(cè)模塊與地面控制中心建立有通信連接,實(shí)現(xiàn)飛行器與地面控制中心的天地之間的狀態(tài)信息監(jiān)測(cè)與管理控制,遙控遙測(cè)模塊將數(shù)據(jù)采集與處理模塊輸出的數(shù)據(jù)發(fā)送至地面控制中心,以便地面控制中心監(jiān)控飛行器的任務(wù)載荷、狀態(tài)和信息;遙控遙測(cè)模塊還支持接收地面控制中心發(fā)送的控制指令,基于地面控制中心發(fā)送的控制指令進(jìn)行飛行管理控制、故障管理和應(yīng)急處置。遙控遙測(cè)模塊的設(shè)計(jì)實(shí)現(xiàn)了天地交互,從而能夠幫助飛行器更好地完成預(yù)定任務(wù)。
11、在一些可選的實(shí)施例中,主處理器持有主處理器私鑰,協(xié)處理器持有主處理器公鑰、協(xié)處理器私鑰和第三私鑰,自動(dòng)飛行駕駛儀所屬的飛行器的各功能模塊持有協(xié)處理器公鑰和第三公鑰;主處理器在得到解算結(jié)果后,使用主處理器私鑰對(duì)解算結(jié)果和主處理器信息進(jìn)行打包加密,將加密后得到的第一密文數(shù)據(jù)發(fā)送給協(xié)處理器;協(xié)處理器在收到主處理器發(fā)送來的第一密文數(shù)據(jù)后,使用主處理器公鑰進(jìn)行解密,對(duì)解密出的主處理器信息進(jìn)行身份驗(yàn)證,在身份驗(yàn)證成功的情況下,基于解密出的解算結(jié)果生成控制指令,使用協(xié)處理器私鑰對(duì)生成的控制指令和協(xié)處理器信息進(jìn)行加密,得到第二密文數(shù)據(jù),使用第三私鑰對(duì)主處理器信息進(jìn)行加密,得到第三密文數(shù)據(jù),并將第二密文數(shù)據(jù)和第三密文數(shù)據(jù)打包發(fā)送給自動(dòng)飛行駕駛儀所屬的飛行器的對(duì)應(yīng)的功能模塊;飛行器的功能模塊在收到協(xié)處理器發(fā)送來的密文包后,使用第三公鑰對(duì)密文包中的第三密文數(shù)據(jù)進(jìn)行解密,對(duì)解密出的主處理器信息進(jìn)行身份驗(yàn)證,在身份驗(yàn)證成功的情況下,使用協(xié)處理器公鑰對(duì)密文包中的第二密文數(shù)據(jù)進(jìn)行解密,對(duì)解密出的協(xié)處理器信息進(jìn)行身份驗(yàn)證,在身份驗(yàn)證成功的情況下,執(zhí)行解密出的控制指令,以完成各項(xiàng)系統(tǒng)任務(wù)。系統(tǒng)任務(wù)的執(zhí)行經(jīng)歷了三次加密和雙重認(rèn)證,主處理器、協(xié)處理器、飛行器的功能模塊在確認(rèn)各自身份,確保安全的情況下才可以順利完成系統(tǒng)任務(wù),進(jìn)一步提升了飛行器的飛行安全,有效抵御了不法分子的惡意攻擊。
12、在一些可選的實(shí)施例中,協(xié)處理器也與晶振時(shí)鐘連接,主處理器也還分別與串口模塊、can通信模塊、i2c模塊、pwm輸出模塊、gpio模塊、usb模塊和tf卡插槽模塊連接,從而與自動(dòng)飛行駕駛儀所屬的飛行器的各功能模塊連接;當(dāng)協(xié)處理器檢測(cè)到主處理器宕機(jī)后,啟用與晶振時(shí)鐘的連接,接過主處理器的工作:當(dāng)主處理器檢測(cè)到協(xié)處理器宕機(jī)后,啟用與串口模塊、can通信模塊、i2c模塊、pwm輸出模塊、gpio模塊、usb模塊和tf卡插槽模塊的連接,接過協(xié)處理器的工作。當(dāng)主處理器和協(xié)處理器有一方無法正常工作時(shí),另一方能夠快速地接過對(duì)方的工作,為飛行器的飛行任務(wù)添加了容錯(cuò),也進(jìn)一步提升了飛行器的飛行安全。