ROS Kinect 学习笔记(一):工作空间创建

一、创建工作空间

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

catkin_init_workspace命令把当前目录初始化为一个ROS工作空间。

catkin_ws目录下仅仅有一个刚才创建的src目录,src目录下也只有一个指向一个cmake文件的符号连接文件。(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它:

$ cd ~/catkin_ws/
$ catkin_make

遇到问题:python版本和cmake版本依赖问题

ImportError: "from catkin_pkg.package import parse_package" failed: No module named 'catkin_pkg'

解决方案:参考https://blog.csdn.net/wuguangbin1230/article/details/77803017

conda install setuptools

pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools

catkin_make命令是catkin工作空间非常有力的一个工具。

此时再查看catkin_ws目录,发现多了两个文件夹:可以看到在devel目录下,有很多setup.*sh文件,读取这些文件中的任何一个都会将当前工作空间的环境变量置于所有环境变量的最上层。如果我们打开这些文件会发现,最终都是要读取setup.sh文件,这个文件中定义了catkin_ws空间所需要的环境变量。

读取并执行setup脚本,使工作空间中的环境变量生效:

source devel/setup.sh

关于source用法 : https://www.cnblogs.com/itcomputer/p/5765492.html 

确认已经加载catkin工作空间环境变量:

echo $ROS_PACKAGE_PATH
/home/physics/catkin_ws/src:/opt/ros/kinetic/share

 这样每次都要source都很麻烦,解决办法是,使用如下命令

echo source ~/catkin_ws/devel/setup.bash >> ~/.bashrc

 这样在每次打开终端时,让系统自动刷新工作空间环境。在这个工作空间下的所有package都可以编译后就可以直接运行了,不用再source

总结:
编译ROS的catkin工作空间:catkin_make 
读取当前catkin工作空间的环境变量:source devel/setup.sh 
验证ROS工作空间的环境变量加载成功:echo $ROS_PACKAGE_PATH

你可能感兴趣的:(ROS笔记)