welcom ! Handel home

2025年3月20日 星期四

ROS Master 設定的參考條件(應用於多機系統 ROS)

 在 ROS1 系統中,ROS Master 是整個系統的中樞(central hub),負責協調所有節點的命名與通訊。當你的 ROS 系統中有 多台主機、不同 IP 分布 時,選擇哪台主機當 ROS Master 對系統穩定性與效能有明顯影響


適合當 ROS Master 的主機條件

條件說明
網路穩定、不易掉線的主機ROS Master 是所有 node 的註冊中心,掉線會導致系統通訊中斷
具備靜態 IP(固定 IP)避免 ROS_MASTER_URI 改變,確保其他主機能正確連線
系統效能佳 / 無太多資源佔用雖然 roscore 很輕量,但如果該主機同時運行大量 ROS 計算,也可能影響穩定性
優先是執行感知 / 控制中心的主機如果某主機負責資料整合(如影像、雷達等),當它為 Master 可以降低延遲
與其他主機網路互通最佳者若在多網段或 NAT 下,選擇網路最通透的機器當 Master 比較穩定

🚫 不適合當 ROS Master 的主機

條件說明
筆電、行動裝置、無線網路不穩者掛掉或休眠會讓整個 ROS 系統中斷
工作站數據變動大、會頻繁重開機者每次重啟 ROS_MASTER_URI 都需其他機器手動重設
邊緣設備(Edge device)如樹莓派、Jetson Nano 等設備,資源有限、穩定性較差

📌 常見部署範例

🧠 範例一:中央控制電腦作為 ROS Master

適合小型機器人、多感測器系統集中管理的情境。

  • 192.168.0.10:控制中心(如主 PC / 策略運算主機)✅ ROS Master
  • 192.168.0.20:感測器處理主機(如 Jetson Nano)
  • 192.168.0.30:機器人底盤控制板(如樹莓派)

✅ 各節點設定:

bash
export ROS_MASTER_URI=http://192.168.0.10:11311 export ROS_HOSTNAME=192.168.0.xx # 各自機器 IP

🧠 範例二:機器人本體主機為 ROS Master

適合移動型機器人,並由遠端設備連接觀測 / 控制。

  • 192.168.0.10:機器人控制板(如 Jetson / RPi)✅ ROS Master
  • 192.168.0.100:操作員筆電(RViz、監控)
  • 192.168.0.101:遠端感測模組(如 LiDAR)

🎯 推薦策略

系統規模建議 Master 位置
單一設備                         該設備上即可
機器人 + 遠端監控                         設在機器人本體上
多主機計算分工                        選一台穩定主機(主機中心 / 控制台)為 Master
使用 Docker / 虛擬機                        宿主機當 Master,容器使用 host network

✅ 總結建議

建議事項原因
固定 IP(靜態 IP)保證其他機器不需一直改環境變數
優先選網路穩定、運算能力夠的主機確保 Master 不當機,資料流不中斷
若為可移動機器人,建議把 Master 放在機器人本體可以離線自主運作,不依賴外部連線
避免筆電、Wi-Fi 當 Master電池耗盡或休眠將中斷整個系統


沒有留言: