ROS Python 入门学习笔记--1--工作空间与功能包的创建
上一节我们已经成功安装了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文件可执行权限
路漫漫其修远兮,吾将上下而求索。
相关文章
- python开发笔记-DataFrame的使用
- python基础学习笔记(一)
- python基础学习笔记(十二)
- VS2013中Python学习笔记[Django Web的第一个网页]
- Python学习笔记之常用函数及说明
- Python学习笔记之常用函数及说明
- scrapy笔记——python的时间转换
- 机器学习笔记 c#调用python脚本文件进行模型推理
- Opencv学习笔记 形态学重建(python)
- 机器学习笔记 - 使用python从头构建和训练神经网络
- Python语言学习:Python语言学习之python包/库package的简介(模块的封装/模块路径搜索/模块导入方法/自定义导入模块实现华氏-摄氏温度转换案例应用)、使用方法、管理工具之详细攻略
- Python编程语言学习:包导入和模块搜索路径(包路径)简介、使用方法(python系统环境路径的查询与添加)之详细攻略
- Python编程语言学习:python编程语言中重要函数讲解之map函数等简介、使用方法之详细攻略
- Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合
- 【python代码】:能在手机上敲 Python 代码几款App
- 世界顶级整理!137页Python学习笔记,全面总结看这一篇就够了
- python学习笔记(六)文件夹遍历,异常处理
- python基础课程_学习笔记26:编程的乐趣
- Python学习笔记(十一)—— 函数式编程
- Python学习笔记(五)——list和tuple
- python基础===八大排序算法的 Python 实现
- Python数模笔记-模拟退火算法(2)约束条件的处理
- Python笔记之paramiko模块安装和使用示例
- Python学习笔记之查询指定模块有哪些方法
- Python学习笔记七之文件操作:打开与写入、创建与删除、遍历文件夹批处理等
- ROS Python 入门学习笔记--2--发布者程序的编写