ROS入门(一) 文件结构篇
ROS有很多架构及概念,例如工作空间,功能包,消息,服务等等。
我们先从最开始的工作空间说,工作空间在其它里面,有的叫作项目,有的叫作解决方案。其实就是一个项目的根目录地址。
例如,我们在/home里创建一个工作空间叫作workspace的。
注意,ros的所有运行的程序文件都要写在叫作src的文件。
之后我们可以先尝试在terminal中进入workspace中,
使用 cd ~/workspace/ 指令进入
可以使用mkdir src 指令创建文件夹src。
在workspace 的根目下catkin_make,就可以编译整个项目了
(注意,catkin_make 要在workspace根目录下面使用,不要在其它文件夹下编译 。)
之后就是功能包了,
在src文件中,我们需要进入src文件夹里。
通过cd ./src进入
使用catkin_create_pkg 名称 创建你想要的package。
同样的,在package文件夹下也要建立一个src文件夹,
并且将所有的执行文件,节点文件要放在这里面。
(注意,catkin_make会在workspace中生成三个文件夹,一个install,一个devel,一个build)
其实catkin_make
实际和下面的指令是等效的
$ cd ~/workspace $ cd src $ catkin_init_workspace $ cd .. $ mkdir build $ cd build $ cmake ../src -DCMAKE_INSTALL_PREFIX=../install -DCATKIN_DEVEL_PREFIX=../devel $ make
之后就是消息,在相应的package下,建立相关的消息,可参考ROS Wiki中的章节:
http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv
在package根目录下创建msg文件夹写入msg文件。
这些就是最基本的文件夹结构和文件框架。
示意图可以更清楚地表示这些结构。
workspace_folder/ -- WORKSPACEsrc/ -- SOURCE SPACECMakeLists.txt -- 'Toplevel' CMake file, provided by catkinpackage_1/src/node.cppinclude/CMakeLists.txt -- CMakeLists.txt file for package_1package.xml -- Package manifest for package_1...package_n/ msg/ srv/src/node.pyinclude/CMakeLists.txt -- CMakeLists.txt file for package_npackage.xml -- Package manifest for package_n
一个基本的ros项目的文件结构基本就是这样啦。
转载于:https://www.cnblogs.com/TIANHUAHUA/p/7868528.html
ROS入门(一) 文件结构篇相关推荐
- ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)
ROS中的基本对象和概念学习笔记(ROS入门学习笔记一) ROS中创建工作区和包(ROS入门学习笔记二) ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三) 1.roslaunc ...
- 古月居ROS入门21讲-launch文件
视频链接:bilibili 搜 古月居 源代码:关注古月居公众号,回复ROS入门21讲 文章目录 1 launch文件语法 2 launch 示例 launch文集:通过XML文件实现多个节点的配置和 ...
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人"miiboo"中的大部分程序也采用ROS进行开发,所 ...
- ROS入门笔记(十三):分布式通信
ROS入门笔记(十三):分布式通信 文章目录 01 如何实现分布式多机通信 1.1 设置IP地址,确保底层链路的连通 1.2 在从机端设置ROS_MASTER_URI,让从机找到ROS Master ...
- ROS入门笔记(十二):动作编程 (C++)
ROS入门笔记(十二):动作编程 (C++) 文章目录 01 导读 02 功能包的创建 03 在功能包中创建action(动作) 3.1 自定义action 3.2 在package.xml中添加功能 ...
- ROS入门笔记(十一):编写与测试简单的Service和Client (Python)
ROS入门笔记(十一):编写与测试简单的Service和Client (Python) 文章目录 01 导读 02 功能包的创建 03 在功能包中创建自定义服务类型 3.1 定义srv文件 3.2 在 ...
- ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)
ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++) 文章目录 01 导读 02 功能包的创建 03 功能包的源代码编写 3.1 编写发布器节点(talker.cpp) 3.2 编写订阅 ...
- ROS入门笔记(九):编写ROS的第一个程序hello world(重点)
ROS入门笔记(九):编写ROS的第一个程序hello world(重点) 文章目录 1 Catkin工作空间 1.1 创建catkin工作空间 1.2 编译工作空间 1.3 设置环境变量 1.4 检 ...
- ROS入门笔记(七):详解ROS文件系统
ROS入门笔记(七):详解ROS文件系统 文章目录 01 Catkin编译系统 1.1 Catkin特点 1.2 Catkin工作原理 1.3 使用`catkin_make`进行编译 02 Catki ...
- ROS入门笔记(六): ROS系统架构
ROS入门笔记(六): ROS系统架构 文章目录 1 ROS系统架构 1.1 文件系统(重点) 1.2 计算图 1.3 开源社区 1 ROS系统架构 1.1 文件系统(重点) 文件系统:主要指在硬盘里 ...
最新文章
- AI一分钟|美团确认收购摩拜;特斯拉今年第一季度产量创历史新高
- 弹出查看图片_报表工具如何实现“点击查看原图”
- java并发集合有哪些_java中常见并发集合有哪些?详细解析
- Android -----ArrayAdapter的重写 .
- BugkuCTF-Reverse题Easy_vb多方法解决
- Qt工作笔记-QT_BEGIN_NAMESPACE与QT_END_NAMESPACE的理解
- LIO-SAM探秘之文章索引
- 串行卧重建19:大对象的演变
- 9种常见的前端跨域解决方案(详解)
- Keil5各个版本的下载地址
- 聚名企服商标注册流程及资料(2022新版新手教程)
- JDK官方下载(旧版本,以前老版本)
- 微端要用什么样的服务器
- 参考C++高级进阶教程
- tryhackme--Overpass 2 - Hacked
- 使用高德地图 地址一经纬度 之间相互转化的实例代码 python
- 计算机学硕一志愿仅录取一人,调剂录取几十人!重庆理工大学人工智能学院...
- java 语言是跨平台的吗_java语言的跨平台特点是由什么保证的?有什么用吗?
- 记一次服务器被挖矿木马攻击的经历
- 微信php示例代码,PHP判断手机端、PC端、微信示例代码分享
热门文章
- svn checkout的时候报E000022错误
- Linux的append函数,linux block层
- java 存储多叉树_JAVA多叉树森林的构造、内存存储与遍历
- 关于利用border-radius变形后,margin的参照对象
- Nginx源码编译及安装
- 设计模式---代理模式(c++实现)
- 【渝粤教育】国家开放大学2019年春季 2633轨道交通信号与通信系统 参考试题
- [渝粤教育] 西南科技大学 机械工程测试技术 在线考试复习资料
- 【sklearn第十九讲】高斯混合模型
- 23种设计模式(十九)数据结构之组合模式