聚豐項(xiàng)目 > 基于AB32開發(fā)板的植保無人機(jī)
該項(xiàng)目采用AB32開發(fā)板和RT-thread操作系統(tǒng),實(shí)現(xiàn)植保無人機(jī)的功能。無人機(jī)在各行各業(yè)的廣泛應(yīng)用是當(dāng)今時(shí)代潮流。 市面上常規(guī)的植保無人機(jī)都采用GPS導(dǎo)航,但實(shí)際上有不少情況下GPS信號(hào)是沒有或者很差的,如大棚,室內(nèi)種植,傍山的地方等。 本項(xiàng)目采用卡爾曼濾波實(shí)現(xiàn)用廉價(jià)的光流完成植保無人機(jī)的定位功能。
唱一首歌
唱一首歌
團(tuán)隊(duì)成員
Mi布 學(xué)生
RT-Thread使用情況概述:
整個(gè)方案涉及的技術(shù)棧有:硬件選型,PCB 設(shè)計(jì),RT-Thread 程序。通過這個(gè)作品,鍛煉了我實(shí)現(xiàn)產(chǎn)品的能力,讓我對(duì)產(chǎn)品設(shè)計(jì)的不同方面 都加深了理解。
內(nèi)核部分:使用了線程、信號(hào)量、互斥量、定時(shí)器
組件部分:FinSH
開發(fā)環(huán)境:RT-thread studio
軟件包:
Easyblink
設(shè)備驅(qū)動(dòng):
GPIO/UART/PWM
其他硬件:
JY901B姿態(tài)傳感器,優(yōu)像光流,北醒激光測距模塊
F450碳纖維機(jī)架,920KV/2212自鎖無刷電機(jī),9450自鎖槳。
軟件框架:
軟件上兩大部分,數(shù)據(jù)處理與控制 。
流程圖
定高PID
位置控制PID
單環(huán)PID
程序運(yùn)行邏輯圖:
總結(jié)(設(shè)計(jì)過程中一些控制思路分享,不是具體的控制代碼解析)
1、在無人機(jī)飛控的編寫過程中,要按對(duì)象編寫,一塊一塊的分開,編寫,然后將各部分的數(shù)據(jù)傳輸理清楚后匯總,方便調(diào)試。
2、在PID參數(shù)調(diào)試過程中,采用藍(lán)牙模塊,RT-thread的FinSH模塊真是一把神器,很方便的實(shí)現(xiàn)無人機(jī)邊飛行邊調(diào)參。其中,我的姿態(tài)串級(jí)控制的主控制器采用比例控制器,副控制器采用比例-微分控制器。如果無人機(jī)反應(yīng)迅速但有明顯很大的震蕩,要調(diào)節(jié)比例參數(shù)配合調(diào)節(jié)微分參數(shù)。對(duì)光流數(shù)據(jù)進(jìn)行串級(jí)控制實(shí)現(xiàn)無人機(jī)的位置控制其輸出值可以直接作為姿態(tài)串級(jí)控制的輸入值。
2.1、定高PID的調(diào)節(jié),首先要得到豎直方向的速度(世界坐標(biāo)系),這個(gè)也是串級(jí)控制,需要無人機(jī)的高度數(shù)據(jù)(有氣壓計(jì)高度,超聲波,或激光測距)和無人機(jī)豎直方向的速度數(shù)據(jù)。
在這里,速度數(shù)據(jù)是通過融合間接得到的,一般采用回路反饋法(也叫三階互補(bǔ)融合法)得到豎直方向的速度,即先得到豎直方向的加速度(經(jīng)旋轉(zhuǎn)矩陣處理過的機(jī)體加速度),然后按下圖得到
我的高度控制的位置環(huán)是P控制器,速度環(huán)是PI控制器。
2.2、在位置控制上,對(duì)光流數(shù)據(jù)和加速度數(shù)據(jù)和陀螺儀數(shù)據(jù)進(jìn)行處理可以得到較準(zhǔn)確的位移數(shù)據(jù),記錄目標(biāo)點(diǎn)的位置,即可實(shí)現(xiàn)靠光流就可以準(zhǔn)確的飛到目標(biāo)點(diǎn),只要光線不是特別差,在室外晴天或陰天,或室內(nèi)日光燈下都可以準(zhǔn)確的實(shí)現(xiàn)位置控制。位置控制的PID參數(shù)容易調(diào)節(jié),如果無人機(jī)在加了位置環(huán)的串級(jí)控制后有低頻震蕩,可以逐步減小速度環(huán)的比例參數(shù)即可。(最好是無人機(jī)只有姿態(tài)控制時(shí)漂移就很?。?/p>
2.3、一鍵啟動(dòng)控制,就是自動(dòng)加油門的過程,這個(gè)過程可以采用線性的油門變化控制,或采用正弦變化的方式調(diào)節(jié)油門,這里的油門是無人機(jī)抵抗重力的一個(gè)初始油門,不需要測得正好抵抗重力,大小差不多就行,衣物PID控制器本身就有一定的容錯(cuò)性。如果加換別的重物后無人機(jī)定高達(dá)不到設(shè)定高度,這時(shí)可以增加初始油門的大小即可。
3、在硬件上,在9450正反槳下,980KV的比920KV的電機(jī)載重要大,
控制上主要是串級(jí)PID的調(diào)參,和速度融合耗費(fèi)的時(shí)間多;硬件上電機(jī)一定要好,無人機(jī)定點(diǎn)正常,時(shí)不時(shí)的一個(gè)方向劇烈抖動(dòng),后來發(fā)現(xiàn)是有一個(gè)電機(jī)出毛病了;
編程上按對(duì)象編程方便代碼在不同硬件上移植,也方便調(diào)試。
代碼地址:
https://gitee.com/mbw520/agricultural-uav.git
視頻中綠色為農(nóng)田,無人機(jī)一鍵一起飛,到達(dá)指定點(diǎn)開始進(jìn)行程控噴藥。
https://www.bilibili.com/video/BV1UL4y1J7mn/
(4.97 MB)下載
唱一首歌: 需要源碼在我的上面的B站鏈接
回復(fù)