zl程序教程

您现在的位置是:首页 >  后端

当前栏目

ROS Python 入门学习笔记--1--工作空间与功能包的创建

Python笔记学习入门 -- 创建 功能 工作
2023-09-14 09:16:16 时间

        上一节我们已经成功安装了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的相关内容。

总结:

  1. 先创建工作空间根目录与src子目录
  2. 在src目录中初始化工作空间
  3. 在根目录中进行编译工作空间
  4. 配置环境变量
  5. 在src目录中创建功能包
  6. 重复3、4
  7. 在pkg子目录中创建scripts文件夹,并赋予py文件可执行权限

路漫漫其修远兮,吾将上下而求索。