「你已經是個成熟的無人機了,應該要學會自己飛呀?」這是我每次看著賴在地上不動的無人機時的感慨。
上至軍事行動下至旅遊節目,現在到處都可以看到無人機的應用。但人總是想要更懶一點,如果可以一鍵啟動無人機它就自己完成工作,不就更完美了嗎?因此「讓無人機自主完成飛行任務」是目前許多無人機研究的宗旨,也是我的碩論研究主題。只不過我的無人機現在還不太配合就是了。
「ROS(Robot Operating System)」則是開發機器人軟體常用的一套開源系統,這裡的機器人泛指能自動完成指定動作的機電裝置,當然也包含我正在對付的無人機。
雖然我在學校學過一些 ROS 的用法,網路上教學也不算少,但是由於版本差異和應用情境不同,學到的總是和我實際要用的很不一樣。
而且我想整理 ROS 的筆記想很久了,正好碰上這次鐵人賽開賽,趁機重新梳理腦中零零散散的知識,好好地寫成一系列可以跟著做,也可以了解原理的教學文章,多貢獻一個 ROS 系統的入門教學給有興趣入坑的人看。
熟悉 Linux 系統終端機操作:
ROS 本身是建構在 Linux 的基礎上,雖然官方表示也支援 Mac OS X 和 Windows,但是 Unix 平台的版本還是最穩定的選擇。但基本上只要知道怎麼輸入指令和切換目錄就足夠了。
熟悉 Python 基本語法和常用函式庫:
ROS 系統支援使用 Python 和 C++ 來寫程式,而這個系列會以 Python 為主。常用的函式庫指的是影像和視訊處理的函式庫,包含 NumPy、OpenCV、PyAV 等。
我目前預計要寫的內容大致分成這幾個部份:
我過去寫程式時參考過的教學資源,提供給各位參考。
ROS 官方網站的簡體中文教學:cn/ROS/Tutorials - ROS Wiki
ROS 和機器人學基礎知識的開放課程平台:The Construct
ROS 自學筆記:ROS自學筆記 :: 2019 iT 邦幫忙鐵人賽
ROS 自學筆記 | 大頭怪的異想空間:ROS 自學筆記 | 大頭怪的異想空間
ROS 系列文整理 | Mr.pojenlai :ROS系列文整理 (ROS Tutorials) | Mr.pojenlai
ROS 自學指南 | ROS On JETSON TK1:ROS 自學指南 | ROS On JETSON TK1
ROS中文資源列表 – Dropbox Paper:ROS中文資源列表 – Dropbox Paper
好啦,這個系列文的介紹差不多就是這樣了。這不僅是我第一次參加鐵人賽,還是我第一次寫技術文章,因此會不會寫到後面就脫離原訂計畫實在不好說。期許自己可以成功完賽,下一篇見!