Node是ROS系統內最小的一個單位,位在Package底下,表示執行的程式。而一個Package可以有很多個Node,用來執行不同的任務,例如一個人物偵測模組,可能內部就要有獲取圖片、影像處理、特徵點偵測的程式等等,每個Node都可以跟別的Node透過Topic、Service或其他方式來溝通、獲取資料,其概念圖大概長得像下圖這樣:
至於他們之間要怎麼溝通,就留待後面的天數慢慢講解吧XD
Node還有一個很大的特點就是他可以使用不同的語言來撰寫,以人物偵測為例,獲取圖片及影像處理的部分可以用Python來寫,特徵點偵測可能比較注重效能,就可以改用C++來寫,這些不同的Node都可以放在同一個Package裡面,形成一個人物偵測的模組。
最後總結一下Node的特色:
下一篇我們會開始撰寫自己的Node,所以這篇就比較簡短一點啦! 大家明天見XD
ROS wiki - Understanding Nodes
Udemy ROS For Beginners