ROS创建工作空间和source的解释

1、mkdir -p ~/catkin_ws/src
2、cd ~/catkin_ws
3、catkin_make //这一步会产生build 和src文件夹
4、source devel/setup.bash //配置工作空间,用于刷新环境,必不可少,将当前的工作空间配置了
注:编译完成后必须使用source命令刷新一下工作空间的环境,从3、4步的顺序也可以看出来,编译之后要进行source。**初学时可能以为,在工作空间中进行一次source之后就一劳永逸以后都不用source了,这种看法是错的。事实是,每次进行catkin_make之后,都要进行source。**后面进行package创建时,当加入了新的package编译完成后,也要进行source刷新环境,否则会出现找不到“package XXX not found” 的问题

实验验证:test为我自己创建的package包名,原本的test package是包含了的,rosrun也可以运行,但是修改了hello.cpp的内容进行重新编译之后,再进行rosrun就提示package test找不到,因为此时重新编译了但未刷新环境。
这里写图片描述

source之后,就可以运行了
这里写图片描述

这样每次都要source都很麻烦,解决办法是,使用如下命令
echo “source ~/tutorial_ws/devel/setup.bash” >> ~/.bashrc
(这句话的意思就是把 source ~/tutorial_ws/devel/setup.bash这条指令加到 ~/.bashrc这个脚本后面。其实用gedit ~/.bashrc打开这个文件,然后将source ~/tutorial_ws/devel/setup.bash粘贴进去结果是一样的。如果想要删除某个package,那么打开这个./bashrc文件,删除相应的package名更方便)
这样在每次打开终端时,让系统自动刷新工作空间环境。在这个工作空间下的所有package都可以编译后就可以直接运行了,不用再source
注: echo $ROS_PACKAGE_PATH可以查看系统包含的package路径

你可能感兴趣的:(ROS学习)