(无人机方向)ros小白学习之路(一)ROS创建节点与编译

2023-05-16

文章目录

  • 前言
  • ROS创建节点与编译
    • 创建工作空间
      • (1)创建和初始化
      • (2)编译
      • (3)为新建的工作空间配置系统环境
      • ros功能包的创建
        • 1:自定义功能包的创建
        • 2:在github上下载功能包源码
    • ROS功能包常用指令
      • 1:rospack profile
      • 2:rospack find [功能包名]
      • 3:rospack depends [功能包]
      • 4:rosls [功能包]
      • 4:roscd [功能包]


前言

记录个人学习ros的历程。研究方向为无人机。

ROS创建节点与编译

在这里插入图片描述

创建工作空间

(1)创建和初始化

mkdir -p ~catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

通过上面命令创建一个空的ROS工作空间,其中包含一个CMakeList.txt文件(源文件空间配置文件,由catkin_init_workspace命令生成)

(2)编译

cd ~/catkin_ws/src
catkin_make

现在就可以看见make命令创建的build和devel文件夹。
build文件:该目录为编译空间,在使用camke和catkin等工具进行编译时存储缓存信息,配置和其他中间件
devel文件:这个目录为开放空间用来保存编译完成的功能包,这些功能包可以在无须安装的情况下进行测试。
src文件:这个目录作为代码空间。

(3)为新建的工作空间配置系统环境

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

这句话的目的就是在开新的terminal的时候,运行这个setup.bash,而这个setup.bash的作用是让一些ROS*开头的命令可以使用。
在工作空间的devel文件夹中存在几个setup.*sh形式的环境变量设置脚本。使用source命令运行这些脚本文件,则工作空间的环境变量设置可以生效(如可以找到该工作空间内的项目)

ros功能包的创建

1:自定义功能包的创建

cd ~/catkin_ws/src
ros_create_pkg [功能包] [依赖项]

2:在github上下载功能包源码

ROS功能包常用指令

1:rospack profile

向我们提供新添加到ROS功能包信息。

2:rospack find [功能包名]

这条命令可以帮助我们找到指定功能包路径
在这里插入图片描述

3:rospack depends [功能包]

用于检索功能包依赖项
在这里插入图片描述

4:rosls [功能包]

用来显示指定功能包的内容
在这里插入图片描述

4:roscd [功能包]

在终端打开指定工作包的工作目录
在这里插入图片描述

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

(无人机方向)ros小白学习之路(一)ROS创建节点与编译 的相关文章

  • 编译px4 Firmware 执行make报错的问题解决办法

    ccache error Failed to create temporary file for home xxx ccache tmp tmp cpp stderr Permission denied 一般这个报错下面还会接另一个报错 x
  • 在Ubuntu中安装Docker,添加Docker官方GPG key失败,解决方案

    1 添加Docker官方GPG key xff1a curl fsSL https download docker com linux ubuntu gpg sudo apt key add 2 问题来了 xff0c 有的人会遇到如下的Bu
  • git中push或者clone时报错the remote end hung up unexpectedly

    使用git提交或者克隆时出现the remote end hung up unexpectedly的异常 xff0c 原因应该是网络原因引起的而且文件可能比较大的情况下 解决办法是 xff1a 配置git的最低速度和最低速度时间 xff0c
  • raspberrypi连接神经计算棒人脸识别

    Raspberrypi连接神经计算棒人脸识别 树莓派3B上部署英特尔神经网络计算棒Intel NCS2进行最普通的人脸识别 参考 英特尔官方文档 博文树莓派上部署英特尔神经网络计算棒Intel NCS2 硬件 xff1a 树莓派3B树莓派3
  • STM32F4 NANO + RT-Thread Studio 测试工程搭建流程

    STM32F4 NANO 43 RT Thread Studio 测试工程搭建流程 硬件 xff1a 正点原子 NANO开发板 MCU STM32F411RCT6 开发平台 xff1a RT Thread Studio 1 新建工程 新建R
  • 多态语法

    多态基础语法 xff1a 向上转型 xff1a 子类型 gt 父类型 xff08 类似于自动类型转换 xff09 向下转型 xff1a 子类型 lt 父类型 xff08 类似于强制类型转换 xff09 如果想调用子类中特有的方法 xff0c
  • python 内部作用域修改外部作用域的变量

    1 xff0c 当内部作用域想修改外部作用域的变量时 xff0c 就需要用到global和nonlocal关键字 2 xff0c 方法嵌套
  • GPS & Lidar & IMU 融合定位与建图_理论学习1

    Localization amp Mapping 参考 xff1a 博文 xff1a Lidar 数据处理 ADS GPS 定位 定位技术分类 xff1a GPS绝对定位 xff0c 相对定位 xff0c 融合定位 问题 xff1a 传统的
  • Aruco检测

    来自 xff1a https blog dgut top 2020 07 15 python aruco 检测ID span class token keyword import span numpy span class token ke
  • uio驱动编写 实例2 //增加了中断部分

    http blog csdn net ganggexiongqi article details 6794215 AUTHOR xff1a Joseph Yang 杨红刚 lt ganggexiongqi 64 gmail com gt C
  • ROS主从机配置方法及rviz显示从机雷达扫描信息

    ROS主从机配置方法及rviz显示从机雷达扫描信息 一 ros节点设置 1 IP查询 通过命令 ifconfig 分别查询主机从机ip 2 修改 bashrc文件 sudo gedit bashrc 主机中添加 xff1a export R
  • ROS创建自定义msg类型功能包

    ROS创建自定义msg类型功能包 一 创建msg消息 首先创建一个空的package单独存放msg类型 xff08 当然也可以在任意的package中自定义msg类型 xff09 为便于说明 xff0c 建立一个名为base sks msg
  • ROS中geometry_msgs消息类型、nav_msg消息

    ROS中geometry msgs消息类型 nav msg消息 参考 xff1a 链接 https blog csdn net ganbaoni9yang article details 50060343 官方文档 xff1a http d
  • 2011年总结

    又是一年年终时 亦是一年总结时 想想自己从去年写年终总结到现在 已经很久没有写过字了 时间过得真快 又是一年过去了 这一年也是我出来工作的第二年 这一年总体来说自己无论在技术还是心态方面有了很大的进步 记得刚出学校那会 啥都不知道 对于工作
  • 性能监测工具-node-export

    1 前言 无论是做性能测试或是运维等都会用到对服务的监测 xff0c 最基本的监测是就是对服务器的基本指标监测 xff0c 比如 xff1a cpu 内存 I O 网络等 这些其实一般系统自带的都有工具 xff0c 很方便 xff0c 比如
  • VSCode(Visual Studio Code)整合Git

    一 xff1a 初始化git插件 在拓展商店中搜索 git xff0c 在下发出现的列表中 xff0c 选择 Git History xff0c 在右边出现的界面 xff0c 点击 安装 即可 本人已经安装 xff0c 安装按钮已无 xff
  • Ubuntu 当前系统资源查看命令Top详解

    top xff1a 主要参数 d xff1a 指定更新的间隔 xff0c 以秒计算 q xff1a 没有任何延迟的更新 如果使用者有超级用户 xff0c 则top命令将会以最高的优先序执行 c xff1a 显示进程完整的路径与名称 S xf
  • ToString的用法

    ToString的用法 string y 61 x ToString 我才明白把一个类型转换为string类型是啥意思 比如当定义一个int类型后 xff0c 利用toString xff08 xff09 方法就能把int转化为string
  • STM32F4-KeyFIFO

    STM32按键FIFO 主要思想就是 xff1a 1 先配置按键的初始计数值为滤波值 如 xff0c 滤波为40ms xff0c 则配置该值为固定初始值 xff0c 如10 假如扫描周期为10ms xff0c 每间隔一定时间 上面说的10m
  • pid的后2位是无效的 在查询pspcidtable的时候 ExpLookupHandleTableEntry 函数会自动把pid的后两位置成0(Handle.TagBits = 0;就是这句!!)

    PHANDLE TABLE ENTRY ExpLookupHandleTableEntry IN PHANDLE TABLE HandleTable IN EXHANDLE tHandle 43 43 Routine Description

随机推荐