1.创建工作空间
1.1Ctrl + Alt + T打开一个新终端
1.2输入以下代码
1 | $ mkdir -p ~/ROS_ws/src |
说明:
mkdir是Linux命令,用于建立子目录。参数-p确保目录名称存在,不存在的就建一个。
这条语句的作用是在/home/用户名/下创建一个ROS工作空间,即文件夹ROS_ws。同时在工作空间ROS_ws下创建一个文件夹src。
你也可以将工作空间ROS_ws换成其他名字xxx,那么下面的所有命令中的ROS_ws都要对应换成xxx。
1.3输入以下代码
1 | $ cd ~/ROS_ws/src |
说明:
进入工作空间ROS_ws下的文件夹src。
1.4输入以下代码
1 | $ catkin_init_workspace |
说明:
对当前文件夹进行初始化,使它变成ROS的工作空间,同时src目录下会多出一个 CMakeLists.txt 文件。
1.5输入以下代码
1 | $ cd ~/ROS_ws |
或1
$ cd ..
说明:
返回到上一级目录,即ROS_ws文件夹。
1.6输入以下代码
1 | $ catkin_make install |
说明:
对当前工作空间进行编译,编译完成后,工作空间ROS_ws中会再生成三个子目录:build、devel和install。
2.创建功能包
2.1输入以下代码
1 | $ catkin_create_pkg test_pkg std_msgs roscpp rospy |
说明:1
$ catkin_create_pkg <功能包名称> [依赖的功能包1] [依赖的功能包2]...
这条语句的作用是创建功能包,代码语句的格式可参考上面。
test_pkg是功能包的名称,std_msgs、roscpp、rospy则是我们需要依赖的其他功能包。当我们使用C++或Python编写程序时,我们就需要依赖相关的库roscpp、rospy。我们在之后的例程中将运用到int、bool等消息类型,因此需要依赖相关的库std_msgs。
2.2输入以下代码
1 | $ cd ~/ROS_ws |
或1
$ cd ..
说明:
返回到ROS_ws文件夹目录下。
2.3输入以下代码
1 | $ catkin_make |
说明:
对当前工作空间进行编译。
2.4输入以下代码
1 | $ source devel/setup.bash |
说明:
将对应的工作空间的路径加入到环境变量ROS_PACKAGE_PATH中。有些电脑系统环境是zsh,则最后的.bash需要改成.zsh,可以通过如下语句查看当前环境设定的sh类型:1
$ echo $SHELL
如果新开了一个终端命令行,在使用该工作空间前,必须先将该工作空间的路径加入环境变量ROS_PACKAGE_PATH中,否则无法运行功能包。要想避免反复设置环境变量带来的麻烦,可以按照如下步骤配置。
2.4.1
进入主文件夹目录。
2.4.2
使用快捷键Ctrl + H,显示文件夹中的隐藏文件。
2.4.3
打开.bash文件,并拉到最后一行,添加如下语句:1
$ source /home/用户名/ROS_ws/devel/setup.bash
2.5输入以下代码
1 | $ echo $ROS_PACKAGE_PATH |
说明:
ROS_PACKAGE_PATH是ROS本身的环境变量,它会根据这个环境变量查找所有功能包的路径。如果打印出以下信息,说明你的工作环境设置好了。