ROS | 工作空间及功能包的创建

2023-05-16

ROS | 工作空间及功能包的创建

  • 1. 创建工作空间
  • 2. 创建功能包

1. 创建工作空间

工作空间是一个存放工程开发相关文件的文件夹,创建工作空间首先在Linux系统中打开一个新的终端,并按照以下步骤输入指令。

$ mkdir -p ~/ROS_ws/src
$ cd ~/ROS_ws/src
$ catkin_init_workspace
$ cd ..
$ catkin_make install

说明:

  • 第一条指令表示在/home/用户名/下创建一个ROS工作空间,即文件夹ROS_ws。同时在工作空间ROS_ws下创建一个文件夹src。其中mkdir是Linux命令,用于建立子目录。参数-p确保目录名称存在,不存在的就建一个。
    这里也可以将工作空间ROS_ws换成其他名字xxx,那么下面的所有命令中的ROS_ws都要对应换成xxx。
    在这里插入图片描述
  • 第二条指令表示进入创建的工作空间ROS_ws下的文件夹src。
    在这里插入图片描述
  • 第三条指令表示对当前文件夹进行初始化,使它变成ROS的工作空间,同时src目录下会多出一个 CMakeLists.txt 文件。
  • 第四条指令表示返回到上一级目录,即ROS_ws文件夹。
  • 第五条指令表示对当前工作空间进行编译。编译完成后,工作空间ROS_ws中会再生成三个子目录:builddevelinstall

2. 创建功能包

在ROS中,提供了一种方式可以将不同的功能打包成一个功能包,当需要安装某个功能模块时,直接调用打包后的功能包即可。按照以下步骤输入指令,可以实现自定义功能包的创建。

$ catkin_create_pkg test_pkg std_msgs roscpp rospy
$ cd ~/ROS_ws
$ catkin_make
$ source devel/setup.bash
$ echo $ROS_PACKAGE_PATH

说明:

  • 第一条指令表示创建功能包,代码语句的格式可参考上面。test_pkg是功能包的名称,std_msgsroscpprospy分别是我们需要依赖的其他功能包。假如使用C++或Python编写程序时,那么就需要依赖相关的库roscpprospy。在之后的例程中将运用到int、bool等消息类型,因此需要依赖相关的库std_msgs
  • 第二条指令表示返回到ROS_ws文件夹目录下。
  • 第三条指令表示对当前工作空间进行编译。
  • 第四条指令表示将对应的工作空间的路径加入到环境变量ROS_PACKAGE_PATH中。有些电脑系统环境是zsh,则最后的.bash需要改成.zsh,可以通过如下语句查看当前环境设定的sh类型:
    在这里插入图片描述
    如果新开了一个终端命令行,在使用该工作空间前,必须先将该工作空间的路径加入环境变量ROS_PACKAGE_PATH中,否则无法运行功能包。要想避免反复设置环境变量带来的麻烦,可以按照如下步骤配置。
    • 进入主文件夹目录。
      在这里插入图片描述
    • 使用快捷键Ctrl + H,显示文件夹中的隐藏文件。
      在这里插入图片描述
    • 打开.bash文件,并拉到最后一行,添加下图中的最后一条语句:
      在这里插入图片描述
  • 第五条指令表示ROS_PACKAGE_PATH是ROS本身的环境变量,它会根据这个环境变量查找所有功能包的路径。如果打印出以下信息,说明工作环境已经设置完毕。
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS | 工作空间及功能包的创建 的相关文章

  • solvepnp参数获取

    1 上参数 xff1a solvePnP 具体参数 xff1a objectPoints xff1a 特征点的世界坐标 xff08 3d点 xff09 xff0c 坐标值需为float型 xff0c 不能为double型 xff0c 可以为
  • 磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准

    磁力计校准椭球拟合使用篇 xff01 xff01 下方蓝色函数链接 xff01 xff01 matlab 椭球拟合函数链接 串口打印磁力计数据 xff0c 可以选择原始数据不进行任何缩放 xff08 前提是各轴向分辨率一致 xff09 sp
  • 数据结构与算法 — 希尔排序 和 快速排序

    目录 一 希尔排序 1 希尔排序的介绍 1 希尔排序的历史背景 2 插入排序的问题 3 希尔排序的做法 4 选择合适的增量 2 希尔排序的实现 3 希尔排序的效率 1 希尔排序的效率 2 Hibbard 增量序列 3 Sedgewick增量
  • MCU与MPU的区别

    CPU xff08 Central Processing Unit xff0c 中央处理器 xff09 发展出来三个分枝 xff0c 一个是DSP xff08 Digital Signal Processing Processor xff0
  • vue 自定义指令

    指令包含有四个生命周期的钩子函数 xff1a 可以局部注册 xff0c 也可以全局注册 注册一个全局自定义指令 96 v focus 96 Vue directive 39 focus 39 当被绑定的元素插入到 DOM 中时 insert
  • Ubuntu16.04下安装编译gcc10.1.0

    我自己这里有 xff0c 不过我要升级一下 xff0c 参考的这个网站 GCC编译器下载和安装教程 xff08 针对Linux发行版 xff09 首先确定一下自己当前使用的linux是否装有编译器 gcc version 可以看到我这里装了
  • Docker指令报错的解决方法:Got permission denied while trying to connect to the Docker daemon socket at unix:/

    安装完docker xff0c 运行指令时 xff0c 出现了以下错误提示 xff1a Got permission denied while trying to connect to the Docker daemon socket at
  • Ubuntu18.04上安装ROS的详细教程

    镜像下载 域名解析 时间同步请点击 阿里巴巴开源镜像站 前言 最近 xff0c 学习了胡老师的 ROS入门21讲 xff0c 在Ubuntu18 04上安装ROS过程中遇到了一些问题 xff0c 解决这些问题耗费了大半天 xff0c 故通过
  • ubuntu apt-get install xxx报错无法下载的解决方法

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 由于我使用ubuntu20 04的火狐浏览器时 xff0c 总是播放不了视频 说是要下载Flash xff0c 但是我顺着网址进去 xff0c 发现并没有linux版本的 xff08 也
  • 【xshell连接不上ubuntu】

    如果xshell连不上ubuntu xff0c 不妨讲虚拟机ubuntu的虚拟网络编辑器还原默认设置 虚拟机 xff1e 编辑 xff1e 虚拟网络编辑器 xff1e 更改设置 xff1e 还原默认设置 记得改完连接xshell时别忘了更改
  • Linux系统上QQ闪退的问题

    Linux版本的QQ在登录后会自动退出登录 通过许多博客和多次实践发现 删除配置文件 config里面关于自己qq的文件夹 xff0c 具体命令如下 rm rf config tencent qq 自己的qq号 例如rm rf config
  • Linux离线安装Kafka(超级精简亲测安装)

    一 环境和安装包准备 首先安装jdk环境 xff0c 通过yum一键安装jdk java version 到官网下载离线安装包 zookeeper https zookeeper apache org releases html kafka
  • linux离线安装Mysql(详细步骤,亲测安装)

    链接 https pan baidu com s 1KtlYGHzKXjaXFqHP2easrQ pwd 61 k4u5 提取码 k4u5 复制这段内容后打开百度网盘手机App xff0c 操作更方便哦 tar xvf mysql 5 7
  • 【Linux面试常用问题】会了这些,去工作完全不用担心了

    Linux操作系统 如何统计一个文件占用大小 如何动态的查看日志文件 Tail f filepath 通常使用的查看日志命令是什么 说出几个常用的linux命令 1 你之前在公司使用linux命令做什么 我们公司之前测试系统搭建在linux
  • zabbix一键部署(亲测实用)

    链接 xff1a https pan baidu com s 1 NPKGDkUPktoGhV1DrrF8A pwd 61 g9p1 提取码 xff1a g9p1 下载安装包 xff0c 按照文件里的操作步骤进行部署 xff0c 非常实用
  • Socket编程-应用编程接口(API)--套接字(及其函数介绍)

    文章目录 Socket编程 应用编程接口 xff08 API xff09 套接字 网络程序设计接口 应用编程接口 API 几种典型的应用编程接口 Socket编程 Socket API概述 Socket API 套接字就像一个插销和插座 例
  • 10-1 基于Prometheus联邦收集Node指标数据

    文章目录 前言环境准备安装prometheus安装node exporterPrometheus配置联邦节点1配置联邦节点2配置主节点配置 前言 在生产环境中 xff0c 如果使用一个prometheus的话 xff0c 随着监控数据的持续
  • 横向控制 | 路径信息及可视化

    横向控制 路径信息及可视化 1 全局路径的读取2 局部路径和历史路径的更新3 路径可视化 Github链接 xff1a https github com chanchanchan97 ROS 1 全局路径的读取 waypoint loade
  • 10-2 Prometheus本地存储机制,单机远端存储

    文章目录 前言本地存储机制存储块blockblock文件block特性 本地存储远端存储单机部署Victoria metricsPrometheus配置Grafana模板 前言 Prometheus有着非常高效的时间序列数据存储方法 xff
  • 10-3 Prometheus远端存储VictoriaMetrics集群版

    文章目录 前言VictoriaMetrics集群版组件VictoriaMetrics集群版部署vmstorage服务vminsert服务vmselect服务 Prometheus配置Grafana配置 前言 Victoria Metrics

随机推荐

  • 10-4 Skywalking介绍,二进制与docker部署Skywalking,Skywalking收集Java博客案例,Skywalking面板介绍

    文章目录 简介Skywalking介绍分布式链路追踪APM系统Skywalking组件 Skywalking部署二进制部署安装Elasticsearch安装Skywalking docker部署 Skywalking收集Java博客案例安装
  • 10-5 Skywalking基于nginx+jenkins服务的全链路数据收集

    文章目录 前言Jenkins案例安装Jenkins安装Skywalking Java Agent Nginx案例安装OpenResty安装Skywalking Nginx Lua全链路追踪 前言 在上一节 10 4 Skywalking介绍
  • 1-1 开源许可证GPL, BSD, MIT, Mozilla, Apache, LGPL的介绍

    文章目录 前言开源许可证由来开源许可证类型开源许可证介绍GPL协议BSD协议MIT协议Mozilla许可Apache协议LGPL开源协议 前言 开源许可证 xff08 Open source licenses xff09 xff0c 广义来
  • 1-2 VMware安装Rocky9.0和Ubuntu22.04系统

    文章目录 前言下载链接VMware使用安装Rocky9 0系统Rocky初始化 安装Ubuntu22 04系统Ubuntu初始化 VMware快照 前言 VMware虚拟机软件是一个 虚拟PC 软件 xff0c 它使你可以在一台机器上同时运
  • 1-3 Linux ifconfig 命令使用

    文章目录 ifconfig 查看状态ifconfig 常用命令 ifconfig是linux中用于显示或配置网络设备 xff08 网络接口卡 xff09 的命令 xff0c 英文全称是network interfaces configuri
  • 1-4 Linux 标准目录结构FHS

    文章目录 前言标准目录结构 根目录 bin boot dev etc home lib media mnt opt run sbin srv tmp proc sys var lost 43 found root usr 前言 Linux操
  • 1-5 Linux学习路线规划

    文章目录 前言第1章 Linux简介第2章 Linux安装第3章 Linux文件和目录管理第4章 Linux打包 xff08 归档 xff09 和压缩第5章 Vim文本编辑器第6章 Linux文本处理 xff08 Linux三剑客 xff0
  • Shell常用实例,查看IP,创建用户,安装应用等。

    文章目录 前言查看IPnet tools与iproute2全部已激活连接的IP查看连接互联网的IP 创建用户批量创建用户 安装应用一个脚本搞定一键安装一键还原 前言 Shell 是一个用 C 语言编写的程序 xff0c 它是用户使用 Lin
  • ROS | 机器人操作系统简介

    ROS 机器人操作系统简介 1 ROS基本概念2 ROS架构2 1 OS层2 2 中间层2 3 应用层 3 通信机制4 计算图4 1 节点 xff08 Node xff09 4 2 节点管理器 xff08 Master xff09 4 3
  • 3-1 图文并茂说明raid0,raid1, raid10, raid01, raid5等原理

    文章目录 简介RAID类型RAID0RAID1RAID5RAID6RAID10RAID01 RAID对比图 简介 一 RAID 是什么 xff1f RAID xff08 Redundant Array of Independent Disk
  • 3-2至3-8 创建一个至少有两个PV组成的大小为20G的名为testvg的VG

    文章目录 1 在vmware添加多块20G的硬盘 xff0c 并创建分区2 创建一个至少有两个PV组成的大小为20G的名为testvg的VG xff0c 要求PE大小为16M xff0c 而后在卷组中创建大小为5G的逻辑卷testlv 挂载
  • 3-9 静态配置网卡IP,centos/ubuntu实现

    文章目录 centos配置IPubuntu配置IP centos配置IP span class token comment 显示当前IP地址 xff0c 为DHCP获取 span span class token function host
  • 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