iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0
自我挑戰組

ROS自學筆記系列 第 5

Day 05 - ROS Nodes

  • 分享至 

  • xImage
  •  

Node是ROS系統內最小的一個單位,位在Package底下,表示執行的程式。而一個Package可以有很多個Node,用來執行不同的任務,例如一個人物偵測模組,可能內部就要有獲取圖片、影像處理、特徵點偵測的程式等等,每個Node都可以跟別的Node透過Topic、Service或其他方式來溝通、獲取資料,其概念圖大概長得像下圖這樣:
ROS Package & Node關係圖
至於他們之間要怎麼溝通,就留待後面的天數慢慢講解吧XD

Node還有一個很大的特點就是他可以使用不同的語言來撰寫,以人物偵測為例,獲取圖片及影像處理的部分可以用Python來寫,特徵點偵測可能比較注重效能,就可以改用C++來寫,這些不同的Node都可以放在同一個Package裡面,形成一個人物偵測的模組。

最後總結一下Node的特色:

  • 可以降低程式的複雜度(因為可以拆分成不同的Node)
  • 程式容錯率(一個Node crash不會影響到其他的Node)
  • 每個Node可以用不同程式語言撰寫,如Python、C++等
  • 每個Node不能有同樣的名稱,如此才能透過Topic、Service等方式溝通

下一篇我們會開始撰寫自己的Node,所以這篇就比較簡短一點啦! 大家明天見XD

參考資料

ROS wiki - Understanding Nodes
Udemy ROS For Beginners


上一篇
Day 04 - 邊做邊學ROS架構(2)
下一篇
Day 06 - 使用Python撰寫ROS Node
系列文
ROS自學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言