無人機開源軟體很多家,要程式化只能寫 C/C++ ?!
無人機應用廣泛,在 Github 上面已經有許多成熟的開源飛行控制專案,而 ArduPilot/APM、PX4 無人機自動駕駛領域的領導專案都有不需要直接動飛控程式碼的開發方式,ArduPilot/APM 除了之前介紹以 MAVLink 溝通的方式,也提供以 Lua Script 控制無人機的方式,讓想要程式控制無人機的開發者們提供了更多簡易的方式,但這些方式個別有哪些優缺點與限制?這次聚會一併來探討~
要開發無人機應用一定要先買(摔)幾台無人機?
如同過去聚會分享,無人機飛行還是有相當多知識、技巧的累積,同時還得面對各種法規上的飛行限制,但 ArduPilot/APM、PX4 都提供模擬飛行控制執行期環境的工具,讓開發者寫出的程式可以先以軟體模擬方式了解可能的錯誤或特殊狀況,本次分享以 ArduPilot/APM 的 SITL Simulator (Software in the Loop) 為例子,並且可以搭配各家開源或商業版本物理模擬器,讓開發者們在家裡摔幾架貴森森的黑鳥 SR-71 也不會心疼!
善用社群的力量,撿現成的程式化 Script 回來用~
無人機領域已經有眾多應用,其實社群高手將很多使用情境的程式控制 Script 已經寫好放在 Github,開發者常常只需要在巨人肩膀上發掘自己的特殊情境,做小幅度的修改與開發就能解決許多問題,我們來看看 ArduPilot/APM 的幾個範例腳本提供什麼功能?
Image credits: Mitchell Luo
無人機腳本執行環境好囉唆,Bug 一直很難找...
跟平常前後端開發不同,無人機腳本語言開發都需要等待飛控啟動並載入後才會進入執行期,因此有些眉眉角角的偵錯方法可以幫助定位錯誤,這邊也一併分享踩到雷的解法。
講者及議題
ericpi - KSDG/MOPCON organizer
曾任 KKBOX 集團資深後端幕僚工程師、開放平台營運部門經理,負責 IoT 音樂硬體合作整合業務;爾後加入 Webduino 營運管理業務,認為 IoT 不應該只在地面上,目前取得民航局無人機普通、專業基本級 I、專業高級 Ia G3、專業高級 Ib G1 四張操作證,繼續在無人機浩瀚的知識領域中摸索,歡迎同好一起研究討論。
這場活動中將分享:
-
ArduPilot/APM SITL+XPlane 11 環境設定
-
ArduPilot/APM 飛控 Lua Script 啟動環境
-
ArduPilot/APM Lua Script 在無人機控制的範例說明
-
ArduPilot/APM Lua Script debug 小撇步分享
About Kaohsiung Software Developer Group
2012 開始在高雄舉辦不定期軟體開發者實體聚會, 活動資訊與交流可以參考 FB 社團/粉絲專頁:
特別感謝
台灣產學策進會熱情提供活動場地。
怎麼快速找到我們?