天天看點

ROS進二階學習筆記(5)- 命名與命名空間

ref: http://wiki.ros.org/Names

命名空間(wiki pedia)

ref: https://zh.wikipedia.org/wiki/命名空間

命名空間(英語:Namespace),也稱名字空間、名稱空間等,它表示着一個辨別符(identifier)的可見範圍。一個辨別符可在多個命名空間中定義,它在不同命名空間中的含義是互不相幹的。這樣,在一個新的命名空間中可定義任何辨別符,它們不會與任何已有的辨別符發生沖突,因為已有的定義都處于其他命名空間中。

例如,設Bill是X公司的員工,工号為123,而John是Y公司的員工,工号也是123。由于兩人在不同的公司工作,可以使用相同的工号來辨別而不會造成混亂,這裡每個公司就表示一個獨立的命名空間。如果兩人在同一家公司工作,其工号就不能相同了,否則在支付工資時便會發生混亂。

這一特點是使用命名空間的主要理由。在大型的計算機程式或文檔中,往往會出現數百或數千個辨別符。命名空間(或類似的方法,見“命名空間的模拟”一節)提供一隐藏區域辨別符的機制。通過将邏輯上相關的辨別符組織成相應的命名空間,可使整個系統更加子產品化。

ROS中,命名的意義

如何使用命名,及規則