ros入门文件结构篇

大G霸 大G霸     2022-10-01     800

关键词:

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/        -- WORKSPACE
  src/                   -- SOURCE SPACE
    CMakeLists.txt       -- Toplevel CMake file, provided by catkin
    package_1/
      src/
      node.cpp
      include/
      CMakeLists.txt     -- CMakeLists.txt file for package_1
      package.xml        -- Package manifest for package_1
    ...
    package_n/
      src/
      node.py
      include/
      CMakeLists.txt     -- CMakeLists.txt file for package_n
      package.xml        -- Package manifest for package_n

一个基本的ros项目的文件结构基本就是这样啦。

ros入门必了解的ros文件系统和软件包

...件系统概念及创建和编辑ROS软件包进行讲解,便于初学者入门。1、ROS文件系统概念:(1)功能包集(stack)将几个具有某种功能的包组织在一起,就是一个功能包集,在ROS系统中,存在大量不同用途的功能包集,例如导航功能... 查看详情

ros开机自动启动节点

...具实现守护进程开机启动功能.1 systemd工具简介Systemd入门教程:命令篇Systemd入门教程:实战篇2 robot_upstart安装节点sudo apt-get install ros-kinetic-robot-upstartrosrunrobot_upst 查看详情

ros从入门到精通系列--ros客户端(上)roscpp

目录一、ROS支持的客户端库和整体的包结构分布二、roscpp:1.主要部分 查看详情

ros从入门到精通系列--ros客户端(上)roscpp

目录一、ROS支持的客户端库和整体的包结构分布二、roscpp:1.主要部分 查看详情

ros1/ros2机器人编程光速入门指南(2021)

标题很滑稽可笑,写这一篇有点无奈,如果有这样的文章,一定是骗人的。'Romaindienonaedificata'Theproverb‘Romewasn’tbuiltinaday’statesthatgreatthingsandachievementstaketimeandshouldn’tberushed.ThecityofRome,wh 查看详情

ros1/ros2机器人编程光速入门指南(2021)

标题很滑稽可笑,写这一篇有点无奈,如果有这样的文章,一定是骗人的。'Romaindienonaedificata'Theproverb‘Romewasn’tbuiltinaday’statesthatgreatthingsandachievementstaketimeandshouldn’tberushed.ThecityofRome,wh 查看详情

ros从入门到精通系列(十八)--rostf(上)

​​​​​​​目录1.官方文档 2.TF介绍3. TF原理3.1TF树的结构 查看详情

ros从入门到精通系列(十八)--rostf(上)

​​​​​​​目录1.官方文档 2.TF介绍3. TF原理3.1TF树的结构 查看详情

mysql从入门到精通高级篇mysql目录结构与表在文件系统中的表示(代码片段)

...网打尽,9.9元买不了吃亏,买不了上当。Python从入门到精通❤️2.Python爬虫专栏,系统性的学习爬虫的知识点。9.9元买不了吃亏,买不了上当。python 查看详情

数据结构和算法入门初识篇

目录一、前言二、数据结构的理解物理结构和逻辑结构1.逻辑结构2.物理结构一、前言我们前面我学了Java的内部类,现在来学习一下数据结构和算法,多科齐下不仅可以学科交插学习互相帮助,还可以锻炼跳跃性思维... 查看详情

详解ros文件系统(代码片段)

本章主要介绍了ROS的工程结构,也就是ROS的文件系统结构。要学会建立一个ROS工程,首先要认识一个ROS工程,了解它们的组织架构,从根本上熟悉ROS项目的组织形式,了解各个文件的功能和作用,才能正确的进行开发和编程。本... 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。650)this.width=650;"src="https://s3.51cto.com/wyfs02/M01/A2/70/wKioL1mf0MqwRCa0AAA_SnPBxrY664.png"title="11.png"style... 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。650)this.width=650;"src="https://s3.51cto.com/wyfs02/M01/A2/70/wKioL1mf0MqwRCa0AAA_SnPBxrY664.png"title="11.png"style... 查看详情

ros从入门到精通系列(十七)--机械臂驱动器方案

目录舵机原理简介结构组成工作原理与性能指标角度伺服力矩伺服 查看详情

ros从入门到精通系列(十七)--机械臂驱动器方案

目录舵机原理简介结构组成工作原理与性能指标角度伺服力矩伺服 查看详情

ros从入门到精通系列ros系统整体架构详解(上)

目录一、理解ROS文件系统级1.1 Catkin编译系统1.1.1Catkin特点1.1.2Catkin编译原理 查看详情

hbase入门修行基础篇

HBase入门修行基础篇 HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一... 查看详情

《java从入门到放弃》javase篇:程序结构

程序的结构一般分为三种:顺序结构。选择结构。循环结构。 一、顺序结构:这个不用多说吧,跟我们平时写文章的顺序一样,从上往下。 二、选择结构:从名字就能看出,要选择嘛,到底是要漂亮滴妹子,还是要有钱... 查看详情