ROS總結 檔案系統

2021-07-27 22:35:41 字數 1876 閱讀 4130

本部分會用到ros-tutorials程式包,請先安裝ros-indigo-ros-tutorials:

$  sudo apt-get install ros-indigo

-ros

-tutorials

note:如果你所安裝的ros版本為hydro,將indigo替換為hydro

packages: 軟體包,是ros應用程式**的組織單元,每個軟體包都可以包含程式庫、可執行檔案、指令碼或者其它手動建立的東西。

manifest (package.xml): 清單,是對於』軟體包』相關資訊的描述,用於定義軟體包相關元資訊之間的依賴關係,這些資訊包括版本、維護者和許可協議等。

2.rospack的使用

rospack可以獲取軟體包的有關資訊,可以通過$ rospack -h檢視具體用法,在這裡以rospack中find引數選項為例,該選項可以返回軟體包的路徑資訊,基本用法:

rospack

find

[包名稱]

eg:

$  rospack find roscp

/opt/ros/indigo/share/roscpp

3.roscd的使用

roscd是rosbash命令集中的一部分,可以直接切換(cd)工作目錄到某個軟體包或者軟體包集當中,基本用法:

roscd

[本地包名稱[/子目錄]]

eg:

$  roscd roscpp

$ pwd

/opt/ros/indigo/share/roscpp

使用roscd也可以切換到乙個軟體包或軟體包集的子目錄中:

$  roscd roscpp/cmake

$ pwd

/opt/ros/indigo/share/roscpp/cmake

使用roscd log可以切換到ros儲存日記檔案的目錄下。需要注意的是,如果沒有執行過任何ros程式,系統會報錯說該目錄不存在。

$  roscd log
4.rosls的使用

rosls是rosbash命令集中的一部分,可以直接按軟體包的名稱而不是絕對路徑執行ls命令(羅列目錄),基本用法:

rosls

[本地包名稱[/子目錄]]

eg:

$  rosls roscpp_tutorials

cmake launch package.xml srv

5.tab 自動完成輸入

當要輸入乙個完整的軟體包名稱時會變得比較繁瑣,在之前的例子中roscpp tutorials是個相當長的名稱,幸運的是一些ros工具支援tab 自動完成輸入的功能。

eg:

輸入

$  roscd roscpp_tut《按tab鍵》
當按tab鍵後,命令列中應該會自動補充剩餘部分:

$  roscd roscpp_tutorials/
因為roscpp tutorials是當前唯一乙個名稱以roscpp tut作為開頭的ros軟體包。

從上面命令形式可知,ros命令工具的的命名方式:

rospack = ros + pack(age)

roscd = ros + cd

rosls = ros + ls

這種命名方式在許多ros命令工具中都會用到。

ROS檔案系統

mkdir p catkin ws src cd catkin ws src catkin make echo source 路徑 bashrc ros中的package它不僅是linux上的軟體包,更是catkin編譯的基本單元,我們呼叫catkin make編譯的物件就是乙個個ros的packa...

ros 檔案系統

1.檔案系統概念 packages 軟體包,是ros應用程式 的組織單元,每個軟體包都可以額包含程式庫,可執行檔案,指令碼或者其它手動建立的東西。manifest package.xml 清單,是對於軟體包相關資訊的描述,用於定義軟體包相關元資訊之間的依賴關係,這些資訊包括版本,維護者和許可協議等。...

ROS 檔案系統工具

ros 分布在許多ros功能包中,如果使用linux自身的命令列工具 如ls和cd 進行瀏覽很不方便,因此ros提供了更方便的工具。1.rospack rospack可以用來獲取功能包的資訊,不過在此只介紹find選項,該選項返回功能包的路徑。用法 rospack find package name...