ROS初识(一)------- 工作空间
1、创建工作目录
方法一:使用鼠标右键之间创建工作空间catkin_ws,然后在该目录底下创建src文件夹
方法二:使用命令行创建
$ mkdir -p ~/catkin_ws/src
2、创建工作空间
首先要进入到src目录
$ cd ~/catkin_ws/src
创建工作空间
$ catkin_init_workspace
创建完成后,在src中会多出一个CMakeLists.txt文件
3、编译工作空间
首先进入到catkin_ws目录
$ cd ..
编译工作空间
$ catkin_make
注意:所有catkin_make的操作都要工作目录的根目录下完成,也就是在catkin_ws文件夹下
创建完成后,会有如下界面
同时会在根目录下生成build和devel两个文件夹,其中build会存放编译过程中的中间文件,devel会存放编译生成的可执行文件
4、设置环境变量
目的是让操作系统知道ROS的功能包在哪个位置,路径就需要在环境变量中设置
$ source devel/setup.bash
该操作只能在当前终端下生效,如果想在所有终端下环境变量都生效,则需要编辑.bashrc文件
首先进入./bashrc
$ vi ~/.bashrc
然后在文档最后一行添加环境变量
source ~/catkin_ws/devel/setup.bash
如.bashrc打开后下图所示
最后将当前的配置在当前终端当中生效
$ source ~/.bashrc
可以打开多个终端,查看一下环境变量是否一致
$ echo $ROS_PACKAGE_PATH
会有类似下图的显示
第一个路径为工作空间的路径,第二个为安装完成之后默认的工作空间目录(不知道为什么我的会有三个路径)
5、创建功能包
创建功能包的命令为:
$ catkin_create_pkg <package_name> [depend1][depend2][depend3]
其中第一个参数为创建功能包命令,第二个为功能包的名字,后面为创建给功能包所需要的依赖
首先进入src目录
$ cd src
然后创建learning_communication功能包
$ catkin_create_pkg learning_communication std_msgs rospy roscpp
std_msgs为ros为我们已经定义好的标准的数据结构,rospy为ros为我们定义的python结构,roscpp为ros为我们定义好的c++的结构
编译完成后src目录下会有一个learning_communication文件夹
打开learning_communication文件夹
src文件里面放置具体功能包里的代码,include会放置头文件,CMakeLists.txt放置如何去编译的编译选项,package.xml放置描述功能包的具体信息
6、编译功能包
首先回到catkin_ws文件
$ cd ..
然后编译
$ catkin_make
编译完成后显示