
Linux:Ubuntu 18.04 (Bionic)
ROS:ROS Melodic Morenia
1. roscd和cd的区别
cd,change directory,更改目录。roscd 和 cd 命令都是用于切换到指定目录的命令。它们之间的不同点是:
cd是 UNIX / Linux 系统的命令;roscd是 ROS 系统的命令,是rosbash命令集的一部分;roscd只能切换到那些路径已经包含在ROS_PACKAGE_PATH环境变量中的软件包。
2. 举例说明
假设你已经创建好了一个catkin工作空间和 一个名为beginner_tutorials的catkin软件包。
cd ~/catkin_ws/src/beginner_tutorials/
roscd beginner_tutorials
通过对比,roscd相较于cd,输入命令更加快捷。
3. 注意事项
如果roscd提示类似于roscd: No such package/stack 'beginner_tutorials'的话,你需要按照创建catkin工作空间后面的步骤使环境变量生效:
cd ~/catkin_ws
source devel/setup.bash
roscd beginner_tutorials
但是每次进行catkin_make编译后,都要使用source devel/setup.bash刷新环境,否则就会出现上面那样的问题。这个问题怎么解决呢?其实很简单,只需要将source ~/catkin_ws/devel/setup.bash命令添加到.bashrc脚本文件中,让系统自动刷新工作空间即可。
echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc
我们可以通过如下命令打开bashrc文件,source ~/catkin_ws/devel/setup.bash命令在脚本的最后一行.
gedit ~/.bashrc
4. 参考
[1] ROS.org. ROS教程[EB/OL]. [2022-6-29]. http://wiki.ros.org/cn/ROS/Tutorials

本文介绍了ROS系统中的roscd命令与标准Linux cd命令的区别。roscd是ROS bash命令集的一部分,专门用于切换到ROS软件包目录,而cd是通用的目录切换命令。当使用roscd时,需要确保软件包路径已包含在ROS_PACKAGE_PATH环境变量中。文章通过实例展示了如何使用roscd,并提醒用户在切换目录前可能需要source devel/setup.bash以激活环境。此外,还提供了将setup.bash添加到.bashrc文件中以避免每次手动激活的解决方案。
1036

被折叠的 条评论
为什么被折叠?



