cd命令和roscd命令都是切換到指定目錄的命令。不同的是,cd是Linux系統的命令,在使用時必須指定目標目錄的完整路徑;而roscd是ros系統中的命令,它可以直接切換到指定目錄(ros系統中的軟件包),而不需要輸入冗長的完整路徑。
例如,要切換到roscpp這個軟件包,兩個命令的格式分別為:
cd /opt/ros/kinetic/share/roscpp
roscd roscpp
顯然,在ros系統中,roscd要比cd命令更加方便。
但在使用的過程中,我們有時候會發現,roscd命令不能正常使用,系統會提示找不到軟件包,這是因為roscd只能切換到那些路徑已經包含在ROS_PACKAGE_PATH環境變量中的軟件包,這時候我們需要切換到ros系統的工作空間(catkin_ws)下,通過source命令將軟件包添加到環境變量中,即:
cd ~/catkin_ws
source ./devel/setup.bash
添加環境變量之后,roscd即可正常使用。
注意,如果新打開了一個終端,在使用某一工作空間之前,都需要執行上述命令切換到該工作空間的目錄下將工作空間的路徑添加到環境變量中。
可以使用下面的命令來查看你當前的環境變量:
$ echo $ROS_PACKAGE_PATH
若系統返回信息為:
/home/你的用戶名/你的工作空間名/src:/opt/ros/melodic(ROS的版本名)/share
如果安裝的ROS是melodic版本,則返回信息可能是:
/home/你的用戶名/你的工作空間名/src:/opt/ros/melodic/share:opt/ros/melodic/stacks
則表示環境變量已經設置成功了。
原文鏈接:https://blog.csdn.net/qq_28753373/article/details/82107609