ROS2 开发助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/ros2-development-jtva。
技能介绍
解决的工程痛点
ROS2 开发中常面临这些具体问题:colcon 工作空间结构混乱导致构建失败;CMakeLists.txt/package.xml/setup.py 配置不规范引发依赖错误;节点参数化声明不统一,动态调整时出现类型或范围异常;QoS 策略误配(如传感器数据误用可靠传输)导致通信延迟或丢包;DDS 发现失败、节点生命周期管理混乱时排查困难;集成 Nav2、MoveIt2 等框架时接口适配无头绪;嵌入式或生产环境部署缺乏工程化指引。
核心能力与工作流程
技能围绕 ROS2 工程全链路展开,核心能力包括:
- 支持
ament_cmake/ament_python包创建,规范CMakeLists.txt、package.xml、setup.py编写; - 定义自定义消息、服务、动作接口,适配复杂通信需求;
- 编写带条件逻辑的 Python 启动文件,支持灵活部署场景;
- 配置 DDS 中间件与
QoSProfile(如BEST_EFFORT用于传感器流,RELIABLE用于检测结果),避免策略误用; - 实现生命周期(managed)节点,规范节点状态流转;
- 覆盖 Nav2、MoveIt2 等框架的集成指引,适配机器人核心模块。
关键步骤遵循工程实践:先按节点设计模式搭建基础(声明参数并定义类型/范围,如 rate_hz 的浮点范围约束;按数据特性配置 QoS,区分传感器流与可靠通信;先创建发布者再注册订阅者,避免订阅时无发布者导致的消息丢失;用定时器驱动周期性任务,通过参数回调实现动态调整),再构建包结构与通信接口,最后针对中间件、框架或部署场景调优。
适用边界与使用提示
该技能为工程实践参考,需结合具体硬件环境(如嵌入式平台的 micro-ROS 适配)、依赖版本(如 ROS2 发行版差异)和业务逻辑调整。不替代实际编译、调试与测试,复杂场景(如跨域 DDS 通信、多机器人协同)需补充专项验证。
使用场景
- 搭建新 ROS2 包时,需正确编写 `CMakeLists.txt` 与 `package.xml`,并选择 ament 构建类型
- 节点间通信出现丢包或延迟,需排查并修正 DDS QoS 配置,如传感器流误用可靠传输策略
- 实现可被外部管理的生命周期节点,规范启动、停止与状态切换的完整流程
- 将 ROS2 部署到嵌入式设备(如 micro-ROS)时,需调整中间件配置以适配资源受限环境
适合人员
- 机器人软件工程师,需要编写 ROS2 节点、消息与服务接口并构建分布式系统
- 无人机或自动驾驶算法工程师,需要集成 Nav2、MoveIt2 并调试模块间通信
- 嵌入式开发工程师,负责将 ROS2 部署到资源受限的 micro-ROS 硬件
- 机器人团队技术负责人,需要规范 colcon 工作空间并为包配置 CI/CD 流水线