当前位置: 首页 > news >正文

ros2常用命令

1、ros2安装

wgethttp://fishros.com/install -O fishros&&.fishros

2、小海龟:测试一下

ros2 run turtlesim turtlesim_node ros2 run turtlesim turtle_teleop_key

3、colcon安装

sudoaptinstallpython3-colcon-common-extensions colcon --help pip3 show colcon-core
  • 全称/背景colcon是一个通用的、可扩展的构建工具,支持多种构建系统(如 CMake、Python setuptools、ament 等)。
  • 在 ROS 2 中的作用
    • 编译你写的 ROS 2 包(C++ / Python)
    • 管理依赖关系
    • 生成可执行文件、库、消息类型等

📌 注意:colcon本身不是 ROS 2 的一部分,而是一个独立的 Python 工具,但 ROS 2 官方指定它为标准构建工具。

为什么 ROS 2 使用 Python 编写的colcon来编译 C++/Python 代码?

  • 核心思想:“编排者 ≠ 编译器”

colcon本身不编译任何代码,它只是一个“构建流程的协调者(orchestrator)”

  • 真正的编译工作由底层工具完成:
    • C++ 包→ 用CMake+make/ninja
    • Python 包→ 用setuptools/pip
    • 其他语言(如 Rust、Go)→ 对应的构建工具
  • colcon的任务是:
    • 扫描工作空间中的所有包
    • 分析依赖关系(谁依赖谁)
    • 按正确顺序调用CMakesetup.py等工具
    • 统一管理输出目录(build/,install/
    • 提供一致的命令行体验(colcon build,colcon test

✅ 所以:用 Python 写“调度器”完全合理,因为调度不需要高性能,但需要灵活性和可扩展性。


与 ROS 1 的教训对比

  • ROS 1 用catkin(基于 CMake 的宏),导致:
    • CMake 被“滥用”做包管理,逻辑混乱
    • 难以支持非 CMake 包(如纯 Python 包)
    • 构建系统和包描述 tightly coupled(紧耦合)
  • ROS 2 吸取教训:分离“包描述”、“构建系统”、“构建调度器”
    → 于是诞生了colcon(调度器) +ament(ROS 2 的包格式和 CMake 工具链)


4、ros2 编译流程:Hello World

# 1、创建功能包(工作空间的:src目录下)# pkg01_helloworld_cpp 是(自定义)的(功能包)的名词ros2 pkg create pkg01_helloworld_cpp --build-type ament_cmake --dependencies rclcpp --node-name helloworld# 2、编辑源文件.cpp文件# 3、编辑配置文件package.xml、CMakeLists.txt# 4、编译(工作空间下)colcon build# 5、执行(工作空间下)# helloworld 是node-name 名称.install/setup.bash ros2 run pkg01_helloworld_cpp helloworld
http://www.jsqmd.com/news/89750/

相关文章:

  • AMD处理器性能调优进阶实战:深度掌握Ryzen SDT调试工具
  • 固定球阀优质供应商排行,采购必看指南,固定球阀排行双达阀门发展迅速,实力雄厚 - 品牌推荐师
  • qy_蓝桥杯编程系列_编程22 不停的上课
  • GPU显存健康诊断:memtest_vulkan全面评测与实战指南
  • GPU显存健康诊断:memtest_vulkan全面评测与实战指南
  • 如何用OneMore插件实现终极笔记管理:开源免费的效率神器
  • 无锡地铁广告投放费用排行,高口碑供应商盘点,地铁站广告/电梯框架广告/应援广告/社区广告/电梯广告/电梯电子屏广告地铁广告采购有哪些 - 品牌推荐师
  • 题目集4~5以及课堂测验的总结Blog
  • ArkLights明日方舟终极自动化助手:一站式解放双手的完整解决方案
  • 5步掌握Python多尺度地理加权回归实战:从数据准备到结果解读
  • 联想拯救者工具箱:硬件优化与性能控制的终极解决方案
  • OpenWrt路由解锁网易云音乐全攻略:从零部署到高阶配置
  • 2025最新车牌识别/道闸/门禁/通道闸/停车场/人脸门禁公司首选骏通智能——智慧出入管理解决方案优选供应商 - 全局中转站
  • Easy-Scraper:零代码网页数据采集终极解决方案
  • iOS调试兼容性终极解决方案:全版本DeviceSupport文件使用指南
  • PiKVM硬件选型指南:从入门到专业部署的完整方案
  • 从 PRM 到 G-E:推荐重排架构的范式升级与工业实践
  • 终极指南:5步快速搭建纯净Galgame社区TouchGAL
  • 从 PRM 到 G-E:推荐重排架构的范式升级与工业实践
  • PKHeX自动化修改插件终极指南:5步打造完美合法宝可梦
  • PKHeX自动化修改插件终极指南:3分钟打造完美合法宝可梦队伍
  • java综合练
  • 突破百度网盘限速的3种高效解决方案
  • macOS软件管理新范式:从命令行到图形化界面的效率革命
  • Java爬虫入门(2/5)
  • 最好用的内网穿透工具之一,小白也会部署
  • GEO:让品牌从“被搜到”升级为“被AI 默认推荐”
  • vue基于Spring Boot的“健康”诊所药品仓库管理系统的应用和研究_529jlwi1
  • DOCX.js终极指南:5分钟在浏览器中生成专业Word文档
  • 球阀批发厂家排行榜:十四强实力榜单揭晓,专业的球阀10年质保有保障 - 品牌推荐师