聲明:該設計資料來源于網(wǎng)友eeworld-lb8820265的開源分享,僅供學習參考,不可用途商業(yè)用途。
你是否也和我一樣有這樣的疑惑:論文中那么多四旋翼控制算法和姿態(tài)解算算法,為何在開源四旋翼平臺中見不到?控制算法都是PID,姿態(tài)解算都是mahony和EKF。
但現(xiàn)在四旋翼控制還存在很多問題,例如:抗干擾能力和魯棒性有待繼續(xù)提高,變重心變質量情況下的控制效果不佳,起飛不穩(wěn)定,室內(nèi)自主懸??刂撇粔蚶硐?,慣性導航和室內(nèi)導航精度低等??裳芯康膬?nèi)容還很多,任重而道遠。會發(fā)現(xiàn)當仿真通過后,卻找不到一個趁手的四旋翼平臺進行驗證。
目前適合研究的四旋翼平臺:
Pixhawk功能強大,可擴展性好。但是也存在著如下的問題:
- 1. 編譯復雜,開發(fā)環(huán)境不是IDE,無法在線debug
- 2. Nuttx操作系統(tǒng)復雜,而且實時性有待提高,傳感器數(shù)據(jù)讀取到最后控制輸出的時間過長
- 3. 很多代碼用matlab生成,不利于閱讀,沒有利用F4的Dsp核,效率低下,且代碼結構復 雜,不利于二次開發(fā)
- 4. 數(shù)傳速度低,只有1Hz,不能實時分析
- 5. IMU沒有減震,需要整個飛控加減震
- 6. 修改程序到成功燒錄過程繁瑣,且不支持無線更新
大疆的M100和guidance是不錯的開發(fā)平臺,但是卻主要用來開發(fā)視覺算法。控制算法和姿態(tài)解算給封裝了。
其他:某寶上面的各種飛控,元器件性能低下,無操作系統(tǒng),控制算法和姿態(tài)解算算法性能低,接口少,作為玩具還可以,作為科研那就呵呵了。Ascending Technologies公司的四旋翼開發(fā)平臺倒是經(jīng)常被各個科研院校和比賽使用,但是價格擺在那里。
因此越來越感受到擁有一個適合研究的四旋翼平臺的重要性,無奈我個人的精力和能力有限,因此開貼聚攏志同道合的朋友共同學習,只有開源才能促進技術的進步。
初步設想的四旋翼具有如下的特點:
- 1. 具有先進的控制和姿態(tài)解算算法
- 2. 程序模塊化設計,方便各種算法的實現(xiàn)
- 3. 提供Matlab仿真和理論支持
- 4. 高速數(shù)傳,數(shù)據(jù)波形實時查看和分析
- 5. 高性能MCU和IMU
- 6. 優(yōu)化代碼,充分利用DSP核
- 7. 支持無線更新
- 8. 使用IDE編寫、編譯、調(diào)試和燒錄
- 9. 采用簡單高效的操作系統(tǒng),充分減少控制延時
- 10. IMU放到有減震海綿的鋁盒子里,接口形式可更換不同方案
- 11. 提供多種常見接口,也提供以太網(wǎng)接口,方便連接機載電腦
根據(jù)我個人的優(yōu)勢和技術的特點,初步確定四旋翼軟硬件如下:
MCU+GPS+IMU盒子方案一:
元器件 |
型號 |
MCU | STM32F746ZGT6 |
GPS+Mag | 3DR GPS |
Acc+Mag | LSM303AGR |
Gro | L3GD20H |
Acc+Gro | LSM6DSM |
氣壓計 | LPS22HB |
IMU盒子方案一全部采用ST最新的高性能元器件,有現(xiàn)成的驅動,和Pixhawk一樣采用雙陀螺儀加速度計冗余設計。MCU 采用高性能F746,可以運行復雜算法。 IMU盒子方案二:
元器件 | 型號 |
Acc | ADXL354 |
Gro | ADXRS642 ×3 |
氣壓計 | MS5803 |
IMU盒子方案二采用ADI高性能慣性傳感器和高性能氣壓計,滿足更高性能需求。
飛控軟件相關:
部分 |
具體 |
操作系統(tǒng) | FreeRTOS |
文件系統(tǒng) | FatFs |
通信協(xié)議 | Mavlink |
開發(fā)環(huán)境 | Keil+QT |
協(xié)同工作 | Github |
開源協(xié)議 | BSD3-clause |
四旋翼飛控的主板,IMU,元器件和主控板第一代實物截圖:
過一番探討,決定第一版硬件采用三部分組成,核心版采用Nucleo F767,主板固定在機架上,IMU做成減震盒子。
主板上接口與硬件:PWM遙控接口,PPM遙控接口,8個電機控制接口,1個PWM用戶接口,
3DR GPS的接口,SD卡接口,電源管理,F(xiàn)lash,三色LED燈,F(xiàn)450機架接口。
IMU上硬件與接口:LSM6DSM,LPS22HB,LSM303AGR,ICM20608,2W加熱電阻,3.3V電源,14pin的排線接口。
IMU上采用了很多冗余器件,例如LSM6DSM與ICM20608功能重合,主要是為了測試性能。
說明:
EEDrone開源四旋翼從零開始詳細的制作步驟,詳見“相關文件”超鏈。