news 2026/4/16 21:24:47

ros2常用命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:00:23

终极网盘直链解析:一键解锁高速下载新体验

还在为网盘下载速度慢而烦恼吗?LinkSwift网盘直链解析工具是你的终极解决方案!这款基于JavaScript开发的神器能够轻松获取百度网盘、阿里云盘、天翼云盘、迅雷云盘、夸克网盘、移动云盘等八大主流平台的真实下载地址,让你彻底告别网盘限速和繁…

作者头像 李华
网站建设 2026/4/16 10:40:47

终极指南:5分钟学会用stl-thumb实现STL文件快速预览

终极指南:5分钟学会用stl-thumb实现STL文件快速预览 【免费下载链接】stl-thumb Thumbnail generator for STL files 项目地址: https://gitcode.com/gh_mirrors/st/stl-thumb 在3D打印和CAD设计工作中,STL文件预览一直是个令人头疼的问题。传统的…

作者头像 李华
网站建设 2026/4/16 14:26:22

抖音无水印视频下载神器使用全攻略

抖音无水印视频下载神器使用全攻略 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downloader 想要完美保存抖音上的精彩视频却总是被水印…

作者头像 李华
网站建设 2026/4/16 10:56:31

Java Excel处理革命性突破:FastExcel实现20倍性能提升的终极指南

还在为Java Excel处理的性能瓶颈而烦恼吗?🤔 每次处理大数据量时,内存飙升、速度缓慢的问题是否让你头痛不已?今天,就让我们一起探索FastExcel这个神奇的解决方案,看看它是如何让Excel处理变得轻松高效的&a…

作者头像 李华
网站建设 2026/4/15 14:47:42

LiteLoaderQQNT防撤回插件完全指南:彻底解决QQ消息消失难题

在日常QQ使用中,重要消息被对方撤回的尴尬情况时有发生。无论是工作群中的关键通知、朋友分享的趣闻轶事,还是尚未保存的文件链接,一旦撤回便无从查找。LiteLoaderQQNT防撤回插件正是为解决这一痛点而生,通过智能拦截与本地存储技…

作者头像 李华
网站建设 2026/4/16 10:56:07

eSpeak NG:轻量级跨平台文本转语音终极指南

eSpeak NG:轻量级跨平台文本转语音终极指南 【免费下载链接】espeak-ng espeak-ng: 是一个文本到语音的合成器,支持多种语言和口音,适用于Linux、Windows、Android等操作系统。 项目地址: https://gitcode.com/GitHub_Trending/es/espeak-n…

作者头像 李华