1.创建工作空间
两种方法:可以直接去文件夹创建,也可以在终端输入命令创建。
创建工作空间:mkdir -p ~/catkin_ws/src
必须在catkin_ws 总目录下编译
编译工作空间:cd ~/catkin_ws
catkin_make
source ~/catkinl_ws/devel/setup.bash
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
注意:source命令,编译完成后必须刷新一下工作空间的环境,否则可能找不到工作空间。许 多时候我们为了打开终端就能够运行工作空间中编译好的ROS程序,我们习惯把 source ~/tutorial_ws/devel/setup.bash 命令追加到 ~/.bashrc 文件中(rosacademy_ws替换为你的工 作空间名称),这样每次打开终端,系统就会刷新工作空间环境。你可以通过 echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc 命令来追加。
可以检查环境变量:echo
$ROS_PACKAGE_PATH
3.创建功能包相关依赖
cd ~/catkin_ws/src
catkin_create_pkg learning_communication std_msgs roscpp rospy
编译功能包:
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
记住:同一个工作空间下,不允许存在同名功能包
但是不同工作空间下,允许存在同名功能包
工作空间的覆盖:
输入命令env | grep ros
查看与ros相关的环境变量
ros工作空间的Overlaying机制,即工作空间的覆盖
输入命令:rospack find roscpp_tutorials
查找功能包的位置,可以看到区别,第二次查找我是已经复制了一个一摸一样的功能包在自己创建的工作空间里,所以在查找,他会优先从我创建的功能包里找到