上一节我们已经成功安装了ROS,并且还进行了小海龟实验的一个初步探索,这一节主要给大家介绍一下ROS工作空间与功能包的创建。
先来聊一下ROS的文件结构:
图片来源:中国大学MOOC
在ROS当中,工作空间是一个存放工程相关文件的文件夹,同时在ROS下面可以允许存在多个工作空间; 工作空间的下一级是功能包(多个,一个工作空间下不允许重名);功能包的下一级是节点(多个,一个工作空间下也不允许重名);
节点(Node)是ROS当中最小的进程单位,每个节点都是一个可执行文件,负责具体的功能实现(通常使用Python或者C++编写)
使用命令行创建工作空间与功能包
首先打开终端(CTRL +ALT+T)
一、创建工作空间
1、创建初步的文件目录
mkdir -p ~/WORKSPACE_NAME/src
2、初始化工作空间
cd ~/WORKSPACE_NAME/src
catkin_init_workspace
3、编译工作空间
cd ~/WORKSPACE_NAME
catkin_make
编译完成后,基本的文件目录雏形就出来了。
4、配置环境变量
这又是老生常谈的一个内容,比如说我们要使用 rosrun 命令,其一般格式为:
rosrun pkg_name node_name
如果我们不进行环境变量的配置,那么在终端当中运行这条命令就会报错,这时输入下面的语句配置环境变量即可运行。
source ~/WORKSPACE_NAME/devel/setup.bash
(一劳永逸的方法就是上一节说的那样,在.bashsr末尾加入 "source ~/WORKSPACE_NAME/devel/setup.bash" 这句话)
二、创建功能包
功能包是存放在 WORKSPACE下的src目录内的,所以创建功能包要先进入src目录。
cd ~/WORKSPACE_NAME/src
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
创建完成后,会到工作空间根目录,执行一次:
catkin_make
之后老规矩,配置一次环境变量(如果已经修改了.bashsr文件则可以忽略)
source ~/WORKSPACE_NAME/devel/setup.bash
至此创建功能包的大体步骤就完成了,编写的cpp源码可以放到pkg下src目录,但是,请记住,我们的标题叫:ROS Python入门学习笔记,所以我主要想和大家分享一下如何使用Python来编写我们的ROS。
与Cpp文件不同,Python文件需要放置在pkg下 新建一个scripts文件夹下。并且,我们还需要在该文件夹下执行一句:
chomd a+x xxx.py
因为默认编写的py文件是不具备执行权限的,我们要运行它必须要使用:python xxx.py
输入这样一句命令行,就赋予了py文件的可执行性。
至此,本节基本结束,与其它教程不同的是,为避免重复造轮子,本讲未介绍文件目录下各个文件夹的功能,大家可以自行查阅CSDN的相关内容。
总结:
- 先创建工作空间根目录与src子目录
- 在src目录中初始化工作空间
- 在根目录中进行编译工作空间
- 配置环境变量
- 在src目录中创建功能包
- 重复3、4
- 在pkg子目录中创建scripts文件夹,并赋予py文件可执行权限
路漫漫其修远兮,吾将上下而求索。