《动手学ROS2》3.2ROS2工作空间介绍

本系列教程作者:小鱼
公众号:鱼香ROS
QQ交流群:139707339
教学视频地址:小鱼的B站
完整文档地址:鱼香ROS官网
版权声明:如非允许禁止转载与商业用途。
公众号

3.2 ROS2工作空间介绍

大家好,我是小鱼~上一节小鱼给大家介绍了一下节点,运行一个节点的时候使用的是

ros2 run 包名字 可执行文件名字

那你有没有想过,我们想找到一个节点(可执行文件),就必须要先知道它在哪个包,那问题就来了,想要找到某个包,该去哪里找?

答案就是:工作空间

注意:一个工作空间下可以有多个功能包,一个功能包可以有多个节点存在

1. 工作空间

小鱼定义:工作空间是包含若干个功能包的目录,一开始大家把工作空间理解成一个文件夹就行了。这个文件夹包含下有src。所以一般新建一个工作空间的操作就像下面一样:

mkdir: 创建一个目录,mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

mkdir -p turtle_ws/src
cd turtle_ws/src

是不是觉得就像创建一个目录(其实就是创建一个目录)

2.功能包是什么

功能包可以理解为存放节点的地方,ROS2中功能包根据编译方式的不同分为三种类型。

  • ament_python,适用于python程序
  • cmake,适用于C++
  • ament_cmake,适用于C++程序,是cmake的增强版

后面小鱼会带你一起手把手创建功能包~

3.功能包获取的两种方式

3.1 安装获取

安装一般使用

sudo apt install ros-<version>-package_name

安装获取会自动放置到系统目录,不用再次手动source。

3.2 手动编译获取

手动编译相对麻烦一些,需要下载源码然后进行编译生成相关文件。

什么时候需要手动编译呢?一般我们能安装的功能包都是作者编译好程序将可执行文件上传到仓库中,然后我们才能够通过apt进行安装,如果作者还没来得及测试上传,或者忘记了测试上传,就会找不到对应的包,这时候就需要手动编译安装了。

另外一种就是我们需要对包的源码进行修改,这个时候也需要自己编译修改。

手动编译之后,需要手动source工作空间的install目录。

下一节学习完编译器colcon小鱼会通过实例带大家一起下载编译安装功能包~

4.与功能包相关的指令 ros2 pkg

create       Create a new ROS2 package
executables  Output a list of package specific executables
list         Output a list of available packages
prefix       Output the prefix path of a package
xml          Output the XML of the package manifest or a specific tag

1.创建功能包

ros2 pkg create <package-name>  --build-type  {cmake,ament_cmake,ament_python}  --dependencies <依赖名字>

2.列出可执行文件

列出所有

ros2 pkg executables

列出某个功能包的

ros2 pkg executables turtlesim

image-20210915172702101

3.列出所有的包

ros2 pkg list

4.输出某个包所在路径的前缀

ros2 pkg prefix  <package-name>

比如小乌龟

ros2 pkg prefix turtlesim

5.列出包的清单描述文件

每一个功能包都有一个标配的manifest.xml文件,用于记录这个包的名字,构建工具,编译信息,拥有者,干啥用的等信息。

通过这个信息,就可以自动为该功能包安装依赖,构建时确定编译顺序等

查看小乌龟模拟器功能包的信息。

ros2 pkg xml turtlesim 

5.总结

介绍完工作空间和功能包,接下来就可以讲讲ROS2的编译工具colcon,下一讲我们就开始对代码动手了~

作者介绍:

我是小鱼,机器人领域资深玩家,现深圳某独脚兽机器人算法工程师一枚
初中学习编程,高中开始接触机器人,大学期间打机器人相关比赛实现月入2W+(比赛奖金)
目前在输出机器人学习指南、论文注解、工作经验,欢迎大家关注小智,一起交流技术,学习机器人

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值