1.工作空间

工作空间(workspace)直观的形容就是一个仓库,里面装载着ROS的各种项目工程,便于系统组织管理调用。

src/: 源代码包build/: 编译生成的中间文件devel/: 开发过程中生成的目标文件(包括头文件,动态链接库,静态链接库,可执行文件等)、环境变量install/: 最终编译生成的可执行文件,分享、发布给客户使用

其中install空间不是必须的

2.创建工作空间 mkdir -p ~/my_ws/srccd ~/my_ws/srccatkin_init_workspace

运行完成后在src文件夹下生成CMakeLists.txt

3.功能包

功能包(package)是放置ROS源码的最小单元

CMakeLists.txt 原本是Cmake编译系统的规则文件,而Catkin编译系统基本沿用了CMake的编译风格,只是针对ROS工程添加了一些宏定义。这个文件规定了这个package要依赖哪些package,要编译生成哪些目标,如何编译等等流程。
pacakge.xml 包含了package的名称、版本号、内容描述、维护人员、软件许可、编译构建工具、编译依赖、运行依赖等信息。

4.创建功能包 cd ~/my_ws/srccatkin_create_pkg test_pkg std_msgs rospy roscpp

功能包里面要用到哪些库,就要添加相应依赖,依赖std_msgs(ROS定义的标准信息结构)、roscpp(编写C++程序)、rospy(编写python程序)

5.编译工作空间 cd ~/my_wscatkin_make

编译完成后生成build和devel文件夹

要产生install文件夹使用以下命令

catkin_make install 6.设置环境变量 source devel/setup.bash

只有设置环境变量后系统才能找到工作空间,并且找到工作空间里对应的功能包。

可以通过 echo “source ~/my_ws/devel/setup.bash” >> ~/.bashrc 命令追加到 ~/.bashrc 文件中,这样每次打开终端,系统就会刷新工作空间环境。

7.检查环境变量 echo $ROS_PACKAGE_PATH 参考: 古月居ROS入门21讲中国大学MOOC—《机器人操作系统入门》课程讲义