1.创建工作空间
直接在主目录下创建文件夹catkin_ws,再在catkin_ws文件夹下创建src文件夹或者在终端使用命令行方式创建
即:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace(将这个文件夹初始化为ros当中的一个工作空间,可以在src文件下看到生成了一个CMakeList.txt文件,它是告诉系统这是ros的一个工作空间)
2.编译工作空间
所有的cmake命令去完成编译的操作都是要在工作空间的根目录下也就是catkin_ws这样的根目录下来操作的编译命令如下:
cd ~/catkin_ws/
catkin_make(可以看到在src文件下生成了bulid文件夹和devel文件夹)
3.设置环境变量
source devel/setup.bash(系统就知道我们功能包是放在catkin_ws这个工作空间下的,但是这个命令只能在当前终端下生效,如果重新打开一个终端,这个环境变量的设置就是没有任何效果的,所以让这个命令放在整个终端的配置文件里面去解决方法:
vi ~/.bashrc(在打开的配置文件最后面加上:source ~/catkin_ws/devel/setup.bash,按一下ESC键,输入:wq保存退出)
source ~/.bashrc(让刚才的配置在当前终端中生效,这样再打开一个终端刚才的设置也是有效的)
4.检查环境变量
echo $ROS_PACKAGE_PATH

工作空间建立成功

1.创建功能包(具体实现机器人某个功能的单元,在功能包中创建具体的代码)

cd ~/catkin_ws/src
catkin_create_pkg learning_commincation std_msgs rospy roscpp(可以看到src文件下有一个learning_communication文件夹,里面有创建的时候默认生成的一些文件夹src放置具体功能包的代码,include放置头文件,package.txt描述功能包的具体信息,比如创建功能所依赖的依赖,cmakelist.txt如何编译功能包的编译选项,需要cmake这样的接口来设置的)

2.编译功能包
cd ~/catkin_ws
catkin_make(可以看到刚创建的功能包)

注意:
同一个工作空间下,不允许存在同名的功能包
不同工作空间下,允许存在同名的功能包
工作空间的覆盖:
查看工作空间的所有环境变量:
env | grep ros(过滤掉其它信息只查看和ros相关的环境变量)

)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐