ROS: catkin_make/catkin_make_isolated/catkin build/colcon的区别

2023-05-16

1. catkin_make

catkin_make是第一个构建catkin工作区的脚本,因此在许多教程中使用。它有几个缺点(需要包中的非标准逻辑来声明跨包目标依赖关系)和限制(不能处理普通的CMake包,要求工作区中所有包中的所有目标都是唯一的)。因此,我不建议使用它。

2. catkin_make_isolated

catkin_make_isolated是接下来开发的脚本,它解决了所有这些缺点。它的代价是速度较慢,因为它按顺序处理所有包。它正在build.ros.org的开发和PR工作中使用。如果您想要最可靠的解决方案(仅适用于ROS 1),我建议您使用它。

3. catkin_tools

catkin_tools(上面称为catkin build)类似于catkin_make_isolated,但通过在可能的情况下并行处理包来解决性能限制。它还具有许多可用性特性,使其更易于使用和配置。缺点是,过去几年没有积极维护该工具,因此我也不推荐它。

4.colcon

colcon是为ROS 2开发的新构建工具,与catkin_tools类似,但目前可用性功能较少,但能够在所有主要平台(Linux、macOS、Windows)上构建任何类型的软件包(catkin、ament、CMake、Python setuptools、gradle、bazel、cargo等)。虽然是为ROS 2开发的,但原则上也适用于ROS 1。如果您愿意使用更前沿的产品(可能会出现尚未解决/完善的奇怪问题),这可能是一个选项。最大的优势是该工具非常模块化,并且由多方积极开发和扩展。


既然您正在为VSCode编写扩展,我认为colcon是最佳选择-为什么?


它是唯一积极维护的工具。如果你想贡献,你的补丁很可能会被及时审查、合并和发布。

它是高度模块化和可配置的,这将允许您提供其他工具难以实现的各种选项。

您的扩展将支持ROS 1和ROS 2。

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

ROS: catkin_make/catkin_make_isolated/catkin build/colcon的区别 的相关文章

随机推荐

  • 棉类工业园--奋斗的故事--2018~2020

    nbsp 2018年8月 进入深圳的工业园继续搞数字化新零售中台业务开发 18年初步规划设计 从0到1打造整个电商与新零售中台体系 1 用户中心 用户表 角色表 系统表 菜单表 用户角色表 角色菜单表 角色系统表 数据范围表 用户数据范围
  • YOLOv5改进:引入DenseNet思想打造密集连接模块,彻底提升目标检测性能

    目录 一 密集连接模块的介绍1 密集连接的概念2 密集连接与残差连接的对比3 DenseNet的结构 二 YOLOv5中引入密集连接模块的原因1 密集连接模块对于目标检测的优势2 密集连接模块对目标检测性能的影响 三 YOLOv5中密集连接
  • 不是我写的原文

    青春的尾声悄然敲响 xff0c 我站在尽头送别剩下为数不多的光阴 婚礼上同学聚会上 xff0c 越来越多的人开始为人妻为人母 xff0c 我们在经受着一场不可逆的转变 转变以前是快乐的 xff0c 转变后也会是另一种快乐 xff0c 但是转
  • 我这是一条什么路

    首先 xff0c 我从未在这里发表博客 xff0c 有些胆战 其次 xff0c 我技术不精 xff0c Java web php Android 再次 xff0c 没有共享过源码 xff0c 倒是从不少开源代码获益 最后 xff0c 这也许
  • 在珠海的一年

    时间倒退到2013年 作为应届生 xff0c 初入职场 xff0c 来到珠海 xff0c 开始了我IT生涯的第一步 以Java初级程序员的身份 xff0c 加入一家港企 xff0c 位于珠海的香洲区唐家湾镇 xff0c 还真的是一个镇啊 一
  • Hadoop的构造模块

    Hadoop集群中运行的守护进程共有5类 xff1a NameNodeDataNodeSecondary NameNodeJobTrackerTaskTracker Hadoop集群中的机器 节点 分为2类 xff1a 主节点和从节点 xf
  • 通过yum来进行mysql的安装

    1 卸载掉原有mysql rpm qa grep mysql 这个命令就会查看该操作系统上是否已经安装了mysql数据库 rpm e mysql 普通删除模式 rpm e nodeps mysql 强力删除模式 xff0c 如果使用上面命令
  • 因为咳嗽

    看了下我曾写过的博客 xff0c 居然发现年初的时候 xff0c 原来也咳嗽的撕心裂肺一次 xff0c 而这次又发作了 xff0c 我预估这是一种很严重的肺炎 xff0c 但还没去医院检测过 xff0c 心情甚是忧伤 回头望了下自己这几年写
  • 微服务横行的今天, 你的文档跟上节奏了么?

    转载自 xff1a https blog maxleap cn archives 1241 说起微服务 想必现在的技术圈内人士个个都能谈笑风云 娓娓道来 的确 技术变革日新月异 各种工具框架雨后春笋般涌现 现在我们可以轻巧便捷地根据自己的业
  • 微服务实战:从架构到发布(一)

    转载自 xff1a https blog maxleap cn archives 195 引言 xff1a 微服务 是当前软件架构领域非常热门的词汇 xff0c 能找到很多关于微服务的定义 准则 xff0c 以及如何从微服务中获益的文章 x
  • 《次时代Java编程(一):续 vertx-sync实践》

    转载自 xff1a https blog maxleap cn archives 1013 vertx sync是什么 上一篇我们已经讲了 Fiber 相关的知识 xff0c 想必大家对Java实现类似Golang的coroutine已经有
  • 我的2016--"狗血"

    偶然看到了CSDN的 我的2016 主题征文活动 xff0c 突然感慨一番 xff0c 今年又快结束了 xff0c 而我这一年的经历 xff0c 可以浓缩为两个字 xff1a 狗血 然而 xff0c 我能用上如此不羁的词汇 xff0c 并未
  • 华为OD机试 - 买卖股票的最佳时机(Java)

    一 题目描述 给定一个数组 prices xff0c 它的第 i 个元素 prices i 表示一支给定股票第 i 天的价格 你只能选择 某一天 买入这只股票 xff0c 并选择在 未来的某一个不同的日子 卖出该股票 设计一个算法来计算你所
  • Linux下安装、配置、启动Apache

    环境 Centos 6 5 64位操作系统 安装Apache前准备 xff1a 1 检查该环境中是否已经存在httpd服务的配置文件 xff0c 默认存储路径 xff1a etc httpd httpd conf xff08 这是cento
  • 我从来没有得到过你,却好像已经失去了你千万次。

    为什么从来没有得到的东西 xff0c 也会让人有一种失去的感觉 xff1f 如题 xff01 xff01
  • power yourself

    1 不要做繁琐的计划 2 远离魔鬼 躲避诱惑 3 保持早睡早起的习惯 4 记录自己的成长轨迹 5 选择性离开网络世界
  • 希望余生尽早开始

    我爱你在暖和的天气感冒 我爱你用一小时来点菜 我爱你皱着眉头看我 好像我是疯子一样 我爱跟你分别后 仍然萦绕不散的余香 我想在睡前和你聊天 我来这 并不是因为我寂寞 也不是因为今天是除夕 是因为发现 如果你想要与某人共度余生 那你就会希望余
  • 又一年--在深圳

    一晃再晃 xff1b 一拖再拖 xff1b 我还是独自一个人奋战 xff0c 在这座繁华都市 严重的错觉就是 xff0c 总以为自己不想加班 xff0c 却发现只有加班的日子才过的充实 xff0c 也许事不知道业余时间该干嘛 这一年 xff
  • Debian下安装配置fcitx

    本人新装Debian7 LXDE桌面 xff0c 下面介绍一下安装配置fcitx的步骤 在此之前 xff0c 需要先保证locale的中文支持 xff1a 1 locale a xff0c 得到若干语言编码组合 xff0c 其中需要有zh
  • ROS: catkin_make/catkin_make_isolated/catkin build/colcon的区别

    1 catkin make catkin make 是第一个构建catkin工作区的脚本 xff0c 因此在许多教程中使用 它有几个缺点 xff08 需要包中的非标准逻辑来声明跨包目标依赖关系 xff09 和限制 xff08 不能处理普通的