理解ROS功能包(三):创建功能包和ROS环境

2023-05-16

理解ROS功能包(三):创建功能包和ROS环境

上一篇中创建好了工作空间,现在开始在工作空间中创建具有实际功能的功能包

1.创建功能包:

//创建指令
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
//之后就会生成一个功能包
package/
  CMakeLists.txt
  package.xml
  ...

进入后会发现里面有两个文件:

CMakeLists.txt和一般的cmake文件完全一样,但是都默认设置好了和ROS相关的一些文本。

package.xml可以理解为ROS专用的一种cmake,专门给ROS看的。

//回到工作空间起始位置
catkin_make
//之后会在功能包内自动产生两个文件夹src和include,这里可以先完全不去管它们

2.ROS环境:

ROS环境是由一个个工作空间组成的。

大家都熟悉使用apt-install来安装功能包,这些功能包并不会像一般软件那样安装,因为既然是用于ROS的功能包,必然要放置在一个工作空间中才行,因此它们会被放在ROS的默认工作空间里。

关于工作空间的注册在上一篇中已经说到了,其实就是在bashrc中加入自动source的指令,使得ROS可以知道目标工作空间的存在。

关于工作空间还有一个有意思的问题是:如果两个功能包同名,在ROS阅读了package.xml后它会看到两个一样的功能包,它会选择执行哪个?

这个问题的解决方式是避而不答,也就是不要这么做。但是对于apt-install安装的功能包,如果后来又在用户自己创建的工作空间里用源码安装了相同的功能包,那么可以通过env | grep ros查找到有关ROS_PACKAGE_PATH的信息,就会发现默认工作空间中的功能包会被用户自定义的工作空间中的同名功能包覆盖。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

理解ROS功能包(三):创建功能包和ROS环境 的相关文章

随机推荐

  • 3-10 图文并茂解释TCP/IP 3次握手4次断开

    文章目录 前言TCP报文首部TCP数据传输3次握手4次断开 前言 TCP IP传输协议 xff0c 即传输控制 网络协议 xff0c 也叫作网络通讯协议 它是在网络的使用中的最基本的通信协议 TCP IP传输协议对互联网中各部分进行通信的标
  • 3-11 网卡绑定bond0的实现

    文章目录 前言centos网卡绑定ubuntu网卡绑定故障测试 前言 网卡绑定bond又称多网卡 bonding xff0c 是将多块网卡绑定同一IP地址对外提供服务 xff0c 可以实现高可用或者负载均衡 然而直接给两块网卡设置同一IP地
  • 3-12 使用expect登陆远程主机并安装应用

    文章目录 前言一键脚本脚本验证免密登陆安装mysql安装apache退出 前言 实现免密登陆脚本 expect登陆远程主机 xff0c 将生成的密钥写入到目标主机 expect测试远程登陆 1 xff09 通过shift读取脚本参数 2 x
  • 4-1 定时任务的示例10个

    文章目录 前言基本命令与格式示例 前言 Linux crontab 是用来定期执行程序的命令 当安装完成操作系统之后 xff0c 默认都已经安装 xff0c 并启动此任务调度命令 crond 命令每分钟会定期检查是否有要执行的工作 xff0
  • 4-2 Linux进程和内存概念

    文章目录 前言进程状态进程优先级内存模型进程内存关系 前言 进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源 一般来说 xff0c Linux系统会在进程之间共享程序代码和系统函数库 xff0c 所以在任何时刻内存中都
  • 4-3 Linux启动流程

    文章目录 前言经典启动流程1 按下电源2 开机自检 BIOS 3 MBR引导4 GRUB菜单5 加载内核6 运行init进程7 读取 etc inittab8 读取 etc rc sysinit初始化系统9 运行 etc rc d rcN
  • pixhawk光流,思码光thone-flow的使用

    测试硬件 xff1a Holybro pixhawk FMU V5 测试固件 xff1a V1 13 测试光流 xff1a thone flow 这此从淘宝店家 xff08 玩物励志科技 xff09 购买了迷你光流传感器 xff0c 也就是
  • ROS | 工作空间及功能包的创建

    ROS 工作空间及功能包的创建 1 创建工作空间2 创建功能包 1 创建工作空间 工作空间是一个存放工程开发相关文件的文件夹 xff0c 创建工作空间首先在Linux系统中打开一个新的终端 xff0c 并按照以下步骤输入指令 mkdir p
  • Spring-Aop的使用

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 Aoc的相关术语二 aop使用步骤三 aop中获取切面的一些信息三 aop中设置切面的优先级 前言 Spring两大核心
  • 步骤二:Ubantu18.04中Realsense的安装(T265)

    1 安装realsense SDK git clone https ghproxy com https github com IntelRealSense librealsense 此处参考上一篇jetsonnano安装ros的文章 xff
  • 步骤四:T265和Mavros通讯

    阿木的volans项目连接t265与px4是在2022年暑假实验的 但是随后在九月初再试实验时 由于一些暂时不知明的原因 无法联机 于是 我们改用了官网的连接方法 下面附上官网链接 T265 Intel Realsense Tracking
  • PX4报错问题整理

    1 装好机能够正常解锁 xff0c mannual模式 xff0c 能够起飞 xff0c 但飞行大幅摇晃 xff0c 最后侧翻 常见解答 xff0c 电调校准 xff0c 加速度计校准 但我们是因为电机的kv值不同 xff0c 出了乌龙 2
  • 步骤六: Jetson nano平台部署TensorRT加速Yolo4-Tiny网络

    在无人机飞行任务中需要识别特定的物体 所以神经网络的部署非常重要 而jetson自带的tensorrt技术能够很好的优化我们的网络 提升识别速度 步骤1 了解环境 非必要 确定TensorRT的python库所在的环境 已经其他的必须库所在
  • Android NDK 实现视音频播放器源码

    目录 xff1a CMake配置环境项目 xff0c gradle代码块 xff1a 项目流程图 xff1a ffmpeg解封装解码流程API概况 xff1a activity main xml 搭建C 43 43 上层 xff1a Jav
  • STL(标准模板库)

    概念 xff1a STL xff1a 标准模板库 xff0c 是C 43 43 标准库的重要组成部分 xff0c STL xff0c 英文全称 s tandard template library xff0c 中文可译为 标准模板库 或者
  • mobx的基础知识

    1 mobx的安装 xff1a yarn add mobx mobx react lite 这个针对于函数式组件的安装 2 mobx的类组件安装 xff1a yarn add mobx mobx react 这个是对类组件的安装 app 代
  • Windows系统安装adb/fastboot驱动教程

    方法一 xff1a 1 1 下载安卓adb驱动 xff0c 下载完成后解压到任意目录 1 2 手机关机进入bootloader模式 xff0c 以小米2s为例是按住音量下 43 开机键 1 3 用usb数据线连接电脑 1 4 右键计算机 x
  • adb工具包的安装和使用(Windows)

    目录 1 什么是adb与fastboot 2 下载 3 adb工具包的安装 4 adb工具包的使用方法 4 1 adb工具 4 1 1 连接方式 4 1 2 adb的命令 4 2 fastboot工具 4 2 1 与手机的连接方式 4 2
  • edge浏览器自带冲浪小游戏的打开方法

    edge83版本之后 xff0c 冲浪游戏作为彩蛋出现在edge浏览器中 xff0c 游戏玩法简单又非常有趣 xff0c 也是我很喜欢的游戏 玩家在断网时可以游玩 在edge浏览器的地址栏中输入edge surf即可进入冲浪游戏 xff0c
  • 理解ROS功能包(三):创建功能包和ROS环境

    理解ROS功能包 xff08 三 xff09 xff1a 创建功能包和ROS环境 上一篇中创建好了工作空间 xff0c 现在开始在工作空间中创建具有实际功能的功能包 1 创建功能包 xff1a 创建指令 catkin create pkg