ROS文件系统级
ROS的安装就不介绍了,官方教程是最好的:点击打开链接
ROS是机器人操作系统,它应该有自己的工程结构,Linux系统的文件系统如下:
而ROS的文件系统级如下:
接下来逐一介绍它们:
1. catkin 工作空间
工作空间就是管理 ROS 工程和代码的地方,而 catkin 是 ROS 定制的编译构建系统,是对 CMake 的扩展。catkin 工作空间其实就是一个文件夹,用来组织和管理功能包,用 catkin 工具编译。
首先对其进行创建(必须有 src 目录):
mkdir -p ~/catkin_ws/src
进入工作空间:
cd ~/catkin_ws/
对其进行编译(必须在工作空间进行)
catkin_make
如果你的输出像这样:
那就成功了。
这只是完成了编译(编译整个空间),如果要执行某个文件,还需要执行这样一句话:
source ~/catkin_ws/devel/setup.bash
刷新环境,这样才不会报错。
2. src,build 和 devel
src 中存放的是 package 源代码,编译完成之后会发现工作空间中多了这两个文件夹,其中 build 中存放的是 cmake 和 catkin 的缓存信息以及中间文件, devel 中存放的则是生成的目标文件,比如头文件,可执行文件,链接库等等。
src 目录下存放着各种各样的功能包,包是 catkin 编译的基本单元。
3.package
又称 功能包,是 ROS 软件的基本组织形式,一个 package 可以包含多个可执行文件(节点),一个最精简的 package,应该如下:
CMakeLists.txt 规定了 catkin 编译的规则,具体写法如下:
package.xml 定义了 package 的属性,例如 包名,版本号,作者等。它的写法如下:
接下来就是将代码放入 package 中,ROS中的代码文件分为 脚本(python,shell) 和 C++(头文件,源文件)。
因此,一般创建 scripts 存放脚本,创建 include 存放 C++ 头文件,src 存放 C++ 源文件。
package 下也可以存放自定义通信格式,分别存放在 srv,msg 和 action 文件夹下。
launch 文件存放在 launch 文件夹下,launch 文件的好处是不用手动编译每一个可执行文件,参数设置文件 yaml 放在 config 文件夹下。
ROS常用命令:
ROS文件系统级的更多相关文章
- ROS学习(三)—— ROS文件系统
一.预备工作 使用ros0tutorials程序包,先下载: sudo apt-get install ros-<distro>-ros-tutorials 其中<distro> ...
- ROS计算图级
上一节说到一个 package 可以包含多个可执行文件(节点),可执行文件需要被运行,就要了解ROS的通信架构,也就是计算图级,例: 小萝卜机器人拥有驱动系统,感知系统,控制系统等,要让它从指定位置到 ...
- 机器人操作系统(ROS)教程4:ROS的框架【转】
转自:http://www.arduino.cn/thread-11351-1-1.html 在进行ROS的代码开发前,有必要了解一些ROS的概念.首先,ROS的系统代码分为两部分:main和univ ...
- Learning ROS for Robotics Programming - Second Edition(《ROS机器人编程学习-第二版》)
Learning ROS for Robotics Programming - Second Edition <ROS机器人编程学习-第二版> ----Your one-stop guid ...
- ROS探索总结(二)——ROS总体框架
个人分类: ROS 所属专栏: ROS探索总结 一. 总体结构 根据ROS系统代码的维护者和分布来标示,主要有两大部分: (1)main:核心部分,主要由Willow G ...
- ROS学习笔记二:ROS系统架构及概念
本文主要是了解ROS的系统架构.文件夹结构以及工作所需的核心文件. ROS系统架构主要被设计和划分为三部分,每一部分代表一个层级的概念:文件系统级(The filesystem level).计算图级 ...
- ROS的文件系统 (二)
ROS的文件系统的基本概念, ROS文件系统中的两个最基本的概念:Package和Manifest,即包和清单文件. Package是组织ROS代码的最基本单位,每一个Package都可以包括库文件, ...
- ROS的文件系统
这篇博客介绍一下ROS的文件系统的基本概念,用户可以直接在官方网站:http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem去查看官方手册. ...
- ROS官网新手级教程总结
第 1 关卡:安装和配置 ROS 环境 目标:在计算机上安装和配置 ROS 环境. 安装 ROS 按照 ROS 安装说明进行安装. 管理环境 确定环境变量 ROS_ROOT 和 ROS_PACKAGE ...
随机推荐
- prometheus环境搭建
1. 下载文件 wget https://dl.grafana.com/oss/release/grafana-6.2.4.linux-amd64.tar.gz tar -zxvf grafana-. ...
- Mock常用占位符一览
1.随机字符串(类型 , 位数)@string(lower,10) lower : 小写字母upper : 大写字母number : 数字 2.随机int(下限 , 上限)@integer(60, 1 ...
- POJ3255(Roadblocks)--次短路径
点这里看题目 3228K 485MS G++ 2453B 根据题意和测试用例知道这是一个求次短路径的题目.次短路径,就是比最短路径长那么一丢丢的路径,而题中又是要求从一点到指定点的次短路径,果断Dij ...
- MySQL-8.0.16 的安装与配置
最近老是安装mysql, 但是由于各个环境下文件不互通,所以感觉笔记还是记录在这里比较方便.以下内容,是对网络上大家的笔记的搜集和整理,并经过自己的实践,记录下来.以便,让大家更好.更快的配置mysq ...
- nginx关闭日志功能access_log关闭
网上一堆错误示例,我就不吐槽了,未经验证的各种关闭配置.emmm.... 错误示例: error_log off ; access_log on; 以上这些会产生名字为 off/on 的日志文件... ...
- vue动态绘制四分之三圆环
参照网上的一个案例“参照的为绘制的是一个动态的圆环”,现在我的需求是改编成四分之三的圆环实现效果: 样式展示 canvas绘图基本操作设置就可以参考源代码链接:原文:https://blog.csdn ...
- 易优cms后台RCE以及任意文件上传漏洞
前言 EyouCms是基于TP5.0框架为核心开发的免费+开源的企业内容管理系统,专注企业建站用户需求提供海量各行业模板,降低中小企业网站建设.网络营销成本,致力于打造用户舒适的建站体验.易优cms ...
- arm9交叉编译工具链
Arm-linux-gcc: gcc和arm-linux-gcc的头文件并不一样. Eg. Arm-linux-ld:链接器,-T参数是使用链接器脚本. Eg. Arm-linux-readelf:读 ...
- sql 四舍五入 保留两位小数
一.问题描述 数据库里的 float momey 类型,都会精确到多位小数.但有时候 我们不需要那么精确,例如,只精确到两位有效数字. 二.sqlserver解决方案: 1. 使用 Round() 函 ...
- 开源框架---tensorflow c++ API 一个卡了很久的问题
<开源框架---tensorflow c++ API 运行第一个“手写字的例子”> 中可以说明tensorflow c++ API是好用的,.......