求助無人機飛控開發的流程,所需環境及軟體等?

本人小白一個,開發主要基於github的ardupilot項目·。現求助飛控開發的流程,所需的環境,編譯軟體,燒錄軟體等 哪些是大家比較常用,而且好用的。本人主要以C++語言為主,windows開發環境。


開源飛控分硬體(hardware),固件(firmware)和地面站軟體(gcs),ardupilot是目前最成熟的開源方案,沒有之一。硬體老版用eagle新版ad,固件c++,地面站軟體c#。改哪個流程都差不多,看懂原來的,編譯能用了,加上自己的,編譯無錯了,再來下一輪。


真的想玩出名堂來,就買各種模塊,一片stm32,一本自動控制原理。從0開始寫代碼,一年時間,3個人差不多可以平穩飛行。


首先是分析需求,確定飛控需要有哪些功能,比如只需要姿態控制就夠了,還是要有自主飛行功能,要不要壁障,要不要光流等等。

然後根據需求來確定處理器所需的運算能力、外設介面、以及飛控的電源管理等的選擇與設計;確定飛控程序的架構,要不要操作系統,簡單的飛控用前後台的編程方式就可以了。可以用MFC或者QT編寫一個調參軟體,附帶繪製變數的圖像功能,調試很有用,後面可以發展為任務規劃器。

然後就可以設計電路,制板,進行硬體調試。硬體調好了調軟體,ARM處理器可以用keil編寫程序,TI的DSP可以用CCS編寫程序。這期間會用到萬用表、示波器、直流電源等等。飛控程序和地面站軟體可以同步開發。

有點事,後面再寫。


c語言目前做不了吧,無人機一般dsp吧。


推薦閱讀:

offer比較:C++職位和golang職位?
c++中在局部空間用new運算符創建的變數是否會被銷毀?
C++局部靜態變數的內存什麼時候創建的?
將一個double類型的指針自增一次,前後的地址差是否一定為sizeof(double)?
C++單元測試如何實施?

TAG:C | 自動控制 | 無人機Drone | 控制 |