ROS 初級 - 文件系統工具

1、準備

這篇文章介紹 ROS 文件系統相關工具的使用,需要提前安裝個 pkg:

sudo apt-get install ros-kinetic-ros-tutorials

2、ROS 文件系統基本概念

  • Package:ros pkg 是 ros 中代碼的基本組織結構,每個包中都包含庫文件,可執行文件,腳本和其他文件。
  • Manifests(package.xml):這個文件定義了 ros 包的基本屬性,包括 pkg 的依賴關係,維護者,版本,license 等信息。

3、文件系統工具

ros 提供了 roscd,rosls 等命令來代替 shell 中的 cd,ls 等,可以非常方便我們在 ros 環境中使用,下面分別來學習常用的基礎 ros 工具。

3.1 rospack

rospack 可以得到一個包的信息,比如用 find 來得到一個包的路徑:

rospack find [pkg name]

例如:

rospack find roscpp

返回這個包的路徑:

/opt/ros/kinetic/share/roscpp

3.2 roscd

使用 roscd 可以直接進入一個 pkg 中,不用像使用 cd 那樣用絕對路徑:

roscd [pkgname[/subdir]]

比如進入 roscpp 包的路徑:

roscd roscpp

用 linux 命令打印當前的路徑看看:

pwd

輸出:

/opt/ros/kinetic/base/install/share/roscpp

這裏要注意一點:roscd 只會在 ROS_PACKAGE_PATH 環境變量指定的路徑中查找 ros 包,並進入這個包中,所以在使用 roscd 來進入一個 pkg 前,一定要保證 pkg 包的路徑在 ROS_PACKAGE_PATH 中。

使用下面的命令來查看你當前的 pkg path:

echo $ROS_PACKAGE_PATH

另外,roscd 也支持進入一個 pkg 的子目錄:

roscd roscpp/cmake

你可以再使用 pwd 來輸出當前路徑。

3.3 rosls

使用 rosls 來直接列出一個 ros pkg 的目錄,也不用使用絕對路徑,只需要一個 pkg name 即可:

rosls [pkgname[/subdir]]

例如:

rosls roscpp_tutorials

輸出該 pkg 的目錄:

cmake launch package.xml  srv

3.4 Tab 補全

ROS 的命令也都支持 Tab 補全,如果對 shell 比較熟悉的同學應該都知道,不用完全手動輸入一個 pkg 的全名,輸入一些關鍵字符,然後按 Tab 鍵即可出現候選項了:

roscd tur <<< Push Tab key
roscd turtle

本文原創首發於同名微信公號「程序小哥」,微信搜索關注回覆「1024」你懂的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章