【ROS实践入门(二)ROS文件概念和工作空间】

【ROS实践学习入门系列(二)ROS文件概念和工作空间】

本内容经官网实例以及一些参考书总结而成,欢迎留言评论交流~

联系方式:ziyuanw#foxmail.com(#换成@)

一、ROS文件系统级别

在ROS设计的架构中,经过发展,目前被设计为三个部分,各自代表三个层级。

文件系统级:后面以小海龟案例中文件组成来说明ROS内部构成,文件夹结构,以及实现功能必要核心文件。

计算图级:体现进程与系统之间通信。

社区级:开发者之间互相共享代码、问题。

1.ROS文件系统级:

①功能包(package):ROS中的最小结构单位,包含ROS运行时的进程(节点),配置文件。

②功能包清单(package manifest):提供关于功能包的许可,依赖关系,编译标志等信息,包清单为package.xml文件管理。

③元功能包(metapackage):将多个功能包组合在一起成为元功能包。

④元功能包清单(metapackage manifest):类似第二个同样有package.xml,但存在一个XML格式导出标记。结构也稍有不同。

⑤消息类型(message(msg)type):一个进程发送到其他进程的信息被称为消息。ROS中有许多标准类型消息。存储在*.msg文件。

⑥服务类型(service(srv)type):服务说明存储在*.srv文件中。

二、工作空间

还是先看一下上篇博客中分析小海龟案例:

打开ubuntu终端,输入:

$roscd turtlesim

切换至ROS官方案例的turtlesim文件夹下。(这里可以直观感受一下cdroscd的区别,roscd可以在配置好的ROS工作空间中,顶层目录切换至它下面的任意存在的文件目录;但是从底层级往高层文件目录切换就要一步一步切换了,或者给出绝对路径)

查看turtlesim的文件结构:(之前的版本里面还有一个src文件放着.cpp源程序)

 

images里面放着各种小海龟的图片每次打开小海龟外观都不一样。

1.工作空间创建

下列操作方法只适用于ROS Groovy及后期版本,对于ROS Fuerte及早期版本请选择rosbuild。

下面开始创建一个名为:catkin_ws的工作空间,并包含一个空src目录。

打开一个新的终端,我这里直接在家目录下创建了。可以自己根据需求任意自行选择目录。

  • (mkdir -p 检测catkin_ws/src是否存在,不存在目录则创建。)
$ mkdir -p ~/catkin_ws/src

即这个工作空间是空的。

  • (catkin_make可以简单的理解为cmake的ros版本集成形式。该命令在catkin 工作空间中是一个非常方便的工具。)

进入catkin_ws下进行编译catkin_make:

$ cd ~/catkin_ws/
$ catkin_make

完成编译后,查看一下当前目录多出'build'和'devel'这两个文件夹。'src'中多出了一个CMakeLists.txt文件。在'devel'文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,(.catkin_workspace为隐藏文件,仅标记catkin工作区的位置以进行工具集成)。更多请参考catkin文档。

每次自己建立完成一个catkin工作空间后使其生效就需要:接下来首先source一下新生成的setup.*sh文件:

$ source devel/setup.bash

同样,roscd 可以在当前catkin_ws内跳转任意一个文件目录,而cd命令只能在给出绝对路径或相对路径时才能跳转。

要想保证工作空间已配置正确,需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:

$ echo $ROS_PACKAGE_PATH 
输出显示:
/home/<youruser>/catkin_ws/src:/opt/ros/melodic/share:/opt/ros/melodic/stacks

到此你的工作环境已经搭建完成,接下来可以继续学习ROS常用命令与节点等操作。

 

上一篇:【ROS实践入门(一)ROS简介与安装方法】

下一篇:【ROS实践入门(三)小海龟案例主题与节点交互】

 

参考资料:

【1】ROS官网:http://wiki.ros.org/cn

【2】ROS机器人高效编程

【3】机器人操作系统ROS浅析

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值