尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
ROS2 Jazzy 包管理极简实战:创建、编译、运行一条龙
ROS2 Jazzy 包管理极简实战创建、编译、运行一条龙本文基于ROS2 Jazzy Ubuntu 24.04演示如何用命令行快速创建 C/Python 功能包、编译、查询信息并运行节点。适合刚装好 Jazzy、想快速跑通包管理流程的同学。一、环境准备先确认已安装ROS2 Jazzy和colconsource/opt/ros/jazzy/setup.bashsudoaptinstallpython3-colcon-common-extensions验证环境ros2--versioncolcon--version如果能看到 Jazzy 版本号说明环境正常。二、创建工作空间mkdir-p~/ros2_ws/srccd~/ros2_ws/srcROS2 的功能包通常放在工作空间的src目录下。三、创建功能包1. 创建 C 包ros2 pkg create my_cpp_pkg\--build-type ament_cmake\--dependenciesrclcpp std_msgs生成的目录结构大致如下my_cpp_pkg/ ├── CMakeLists.txt ├── package.xml └── src/2. 创建 Python 包ros2 pkg create my_py_pkg\--build-type ament_python\--dependenciesrclpy生成的目录结构大致如下my_py_pkg/ ├── my_py_pkg/ │ └── __init__.py ├── package.xml ├── setup.py └── setup.cfg四、编译功能包回到工作空间根目录cd~/ros2_ws只编译指定包节省时间colcon build --packages-select my_cpp_pkg colcon build --packages-select my_py_pkg --symlink-install其中--symlink-install对 Python 包特别有用修改代码后通常不需要重新编译。编译完成后刷新环境sourceinstall/setup.bash五、查询包信息1. 查看所有包ros2 pkg list可以配合grep过滤ros2 pkg list|grepmy_2. 查看包安装路径ros2 pkg prefix my_py_pkg3. 查看包里的可执行文件ros2 pkg executables my_py_pkg如果 C 包还没有注册可执行文件ros2 pkg executables my_cpp_pkg可能没有输出这是正常现象。六、运行 Python 节点示例在my_py_pkg/my_py_pkg/目录下创建文件nano~/ros2_ws/src/my_py_pkg/my_py_pkg/hello.py写入importrclpyfromrclpy.nodeimportNodeclassHelloNode(Node):def__init__(self):super().__init__(hello_node)self.get_logger().info(Hello ROS2 Jazzy)defmain():rclpy.init()nodeHelloNode()node.destroy_node()rclpy.shutdown()if__name____main__:main()编辑setup.py在entry_points中添加entry_points{console_scripts:[hello my_py_pkg.hello:main,],},重新编译并运行cd~/ros2_ws colcon build --packages-select my_py_pkg --symlink-installsourceinstall/setup.bash ros2 run my_py_pkg hello终端输出类似[INFO] [hello_node]: Hello ROS2 Jazzy七、常用命令速查用途命令创建 C 包ros2 pkg create --build-type ament_cmake创建 Python 包ros2 pkg create --build-type ament_python编译指定包colcon build --packages-select pkg软链接安装colcon build --symlink-install查看所有包ros2 pkg list查看包路径ros2 pkg prefix pkg查看可执行文件ros2 pkg executables pkg运行节点ros2 run pkg executable八、常见问题找不到包编译后需要执行source install/setup.bash。找不到可执行文件Python 包需要在setup.py的entry_points中注册C 包需要在CMakeLists.txt中用add_executable注册。Python 修改不生效建议使用--symlink-install编译修改后通常无需重新编译。colcon 命令不存在执行sudo apt install python3-colcon-common-extensions安装。
RELATED

相关推荐

电商平台软件架构设计:从业务边界到微服务落地实践

电商平台软件架构设计:从业务边界到微服务落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/24 5:44:03
AI 创新合伙人公会:用体系化机制破解 AI 创业的六大落地难题

AI 创新合伙人公会:用体系化机制破解 AI 创业的六大落地难题

摘要AI 项目从想法到落地,卡点往往不在技术本身,而在选题、组队、获客、融资、工程化与资源整合六个环节。本文以"智栈 AI 创新合伙人公会"为例,拆解其面向独立开发者、创业团队与成长型企业提供的六项赋能机制,逐条落到…

📅 2026/9/24 5:44:03
华硕X99上Tesla M40无法点亮?一文搞懂Above 4G Decoding设置

华硕X99上Tesla M40无法点亮?一文搞懂Above 4G Decoding设置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/24 5:44:03
MORE NEWS

更多资讯

📰

小米刷机卡Fastboot?VAB/AB分区脚本适配与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

TMC5160+STM32步进电机驱动:SPI配置全流程实战与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

CCDE 400-007 官方指南:资深网络架构师的设计决策训练手册

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

DSP56800实时控制开发实战:CodeWarrior环境搭建与硬核调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

嵌入式作业2

STM32F103C8T6 流水灯实验报告 一、实验目的 掌握 STM32F103C8T6 最小系统核心板的 GPIO 端口寄存器结构与地址映射。学会使用 C 语言直接操作寄存器的方式配置 GPIO 端口为推挽输出模式。理解 GPIO 端口时钟使能、端口配置寄存器(CRL/CRH)、输出数据寄存…

📰

PaddleSpeech 服务端异常处理体系详解:ServerBaseException 与统一错误响应机制

人工智能语音音频 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬