天天看點

通過mavlink實作自主航線的過程筆記                                

       首先是mavlink的協定了解和移植過程(關于移植參考網址:https://www.cnblogs.com/lovechen/p/6064802.html和http://www.cnblogs.com/lovechen/p/5809709.html),其中梳理過之後,會發現移植的核心是将發送的底層序列槽函數修改成适合自己飛控硬體序列槽,接收到資料後存入接收緩沖區,并将緩存區的資料放入移植程式的parse功能函數,并進行handle,進而運作移植的mavlink的相關的頭檔案,将解包的數值賦予相關的結構體成員變量。

       mavlink協定了解并完成移植後,需要明白地面站發送航點給飛控的機理:

通過mavlink實作自主航線的過程筆記                                

該圖的擷取從mavlink協定官網獲得https://mavlink.io/en/messages/common.html#MISSION_COUNT

其中上圖是将兩個航點資訊經地面站發送到飛控,發送過程有查詢和應答。其他的msgID還有MSG_ID_MISSION_ITEM_HOME和MSG_ID_MISSION_ITEM_WAYPOINT,看到網上的代碼用的是後者,具體差別可參考官網的協定。

        飛控接收到地面站發送的航點資訊後,其中MISSION_COUNT包含航點的個數,可将這些航點資訊組成連結清單的形式,進而供飛控的mission程式去傳遞執行,最後再落實到飛機的位置和姿态控制,實作自主航線。

        整體流程就是這樣,之前寫的部落格有人問問題,這裡留個QQ技術讨論群879466897, 昵稱:欣飛鴿總動員。

        有需求移植的mavlink航點收發項目代碼,可擷取于知識星球--飛鴿傳書(ID:4003539)

更多無人機知識分享,請關注微信公衆号:欣飛鴿

開心飛翔,靈動如鴿。願與無人機愛好者,共創一片藍天夢!

繼續閱讀