文章只是个人学习过程中学习笔记,主要参考ROS教程1。
1. 创建catkin工作空间
Catkin工作空间是一个文件夹,可以在其中修改、构建和安装 catkin 包。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
在运行上述命令后,在catkin_ws工作空间下有build
、devel
、src
这个三个目录文件夹(这3个catkin编译系统默认的)。
build
(Build Space):catkin(CMake)的缓存信息和其他中间件devel
(Development Space):生成目标文件(包括头文件、动态链接库、静态链接库、可执行文件等)、环境变量src
(Source Space):ROS的catkin软件包(源码)
Tips:早期有些教程仍然保留
catkin_init_workspace
这条初始化命令,它的作用就是在catkin_ws
工作空间的src
目录下创建CMakeLists.txt
文件。但实际上catkin_make
命令包含了catkin_init_workspace
,不必再调用了(当然你也可以使用,没有任何影响)。
接下来设置环境变量,首先source
一下新生成的setup.*sh
文件(在devel目录下可看见几个setup.*sh
):
source devel/setup.bash
但是上述命令只适用当前终端,这导致每次打开新的终端都需要source
命令一下,重新刷新环境变量,才能使用ROS相关命令。解决办法是,在终端中输入如下命令,如此每次打开终端,.bashrc
会自动运行:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
我们用 vi 编辑器打开 ~/.bashrc
文件,在文件的末尾(红色框内)这行就是我们添加的ROS系统的环境变量,上一行是我们创建的catkin_ws工作空间的环境变量。在终端中输入如下命令:
vi ~/.bashrc
想要查看环境变量,在终端中输入如下命令:
echo $ROS_PACKAGE_PATH
通过上述命令后,显示包含那些保存有ROS软件包的路径,并且每个路径之间用冒号(:)分隔开来。
路径PATH格式:/home/<
username
>/catkin_ws/src:/opt/ros/<distro
>/share
2. catkin工作空间结构
要查看catkin工作空间的结构,可以使用tree命令,显示文件结构,在终端中输入如下命令:
cd ~/catkin_ws
sudo apt install tree
tree
显示的结构如下所示:
.
├── build
│ ├── atomic_configure
│ │ ├── env.sh
│ │ ├── local_setup.bash
│ │ ├── local_setup.sh
│ │ ├── local_setup.zsh
│ │ ├── setup.bash
│ │ ├── setup.sh
│ │ ├── _setup_util.py
│ │ └── setup.zsh
│ ├── catkin
│ │ └── catkin_generated
│ │ └── version
│ │ └── package.cmake
│ ├── catkin_generated
│ │ ├──
......
├── devel
│ ├── cmake.lock
│ ├── env.sh
│ ├── lib
│ ├── local_setup.bash
│ ├── local_setup.sh
│ ├── local_setup.zsh
│ ├── setup.bash
│ ├── setup.sh
│ ├── _setup_util.py
│ └── setup.zsh
└── src
└── CMakeLists.txt -> /opt/ros/melodic/share/catkin/cmake/toplevel.cmake
ROS.otg. ROS教程[EB/OL]. 2020-12-22[2022-7-5]. http://wiki.ros.org/cn/ROS/Tutorials. ↩︎