ros-robotics
SKILL.md
ROS Robotics
何时使用
当用户请求涉及以下任一主题时使用本 skill:
catkin_ws、colcon_ws、src/CMakeLists.txt、package.xml、setup.py- ROS 1 / ROS 2 package 新建、移植、构建、测试、调试
launch/launch.py、参数 YAML、URDF/Xacro、RViz、TFtopic/service/action/msg/srv/QoS- 底盘、IMU、LiDAR、相机、定位、SLAM、Navigation2、
ros2_control - Gazebo / Ignition 仿真、传感器仿真、
ros_gz_bridge - Docker 容器化 ROS 开发、
docker-compose多节点编排 - Lifecycle 节点、
rclcpp_components组件化、进程内通信 rosbag2录制回放、mcap、离线诊断- SLAM 建图(Cartographer、SLAM Toolbox、ORB-SLAM)
- DDS / QoS 配置、
ROS_DOMAIN_ID、RMW 选择、多机网络 - 自定义
msg/srv/action接口定义与生成 - 多机器人系统、命名空间隔离、跨机通信
- MoveIt 2 运动规划、SRDF、运动学插件
- ROS 2 CI/CD(GitHub Actions、colcon test、ament_lint)
- Foxglove Studio / PlotJuggler 数据可视化与离线分析
- MCU / RTOS / UART / CAN /
micro-ROS协同开发
先做什么
1. 先识别工作区
python scripts/detect_ros_workspace.py <workspace-path>
2. 再做一致性检查
python scripts/check_ros_workspace_consistency.py <workspace-path>
3. 按问题加载最少必要文档
- ROS 1:
references/ros1-catkin.md - ROS 2:
references/ros2-colcon.md - 混合 / 迁移:
references/interop-and-migration.md - 模型 / TF:
references/robot-description-and-tf.md - 导航:
references/navigation2.md - 控制:
references/ros2-control.md - 嵌入式:
references/micro-ros-and-embedded.md - 仿真:
references/gazebo-simulation.md - Lifecycle / 组件:
references/lifecycle-and-components.md - DDS / QoS / 网络:
references/dds-qos-networking.md - 录制回放 / 诊断:
references/rosbag-diagnostics.md - SLAM / 建图:
references/slam-mapping.md - Docker:
references/docker-ros.md - 自定义接口:
references/custom-interfaces.md - 多机器人:
references/multi-robot.md - MoveIt 2:
references/moveit2.md - CI/CD:
references/ros2-cicd.md - 可视化:
references/foxglove-visualization.md - 排障:
references/debug-playbooks.md - 审查:
references/review-checklist.md
必须遵守的原则
- 先识别构建系统,再改代码
- 先修
package.xml/CMakeLists.txt一致性,再谈重构 - 先看 TF、时间戳、frame、单位,再怪算法
- 先证据链,再修改:构建输出、topic、TF、参数、日志必须可验证
- ROS 1 → ROS 2 先桥接或分层,不要一口气推倒重来
- MCU /
micro-ROS先判断是否真的需要进入 ROS 图
常见任务处理方式
新增或修复 package
- 先判定包类型:
catkin、ament_cmake、ament_python - 先补依赖声明,再补构建逻辑,再补安装规则
- 自定义
msg/srv/action优先检查生成顺序和依赖闭环(详见references/custom-interfaces.md)
构建失败
- 先跑
rosdep - 再核对
package.xml与构建脚本 - 再看环境是否正确 source
- 再看系统依赖、ABI、发行版兼容
运行正常但机器人表现不对
- 先看 launch、namespace、remap、参数
- 再看 topic 名称、频率、时间戳、单位、
frame_id - 再看 TF 是否单根、静态 / 动态是否分清
- 最后再怀疑算法本身
Nav2 / ros2_control
- Navigation2 优先排
/cmd_vel链路、定位质量、控制频率和底盘单位 ros2_control优先排硬件接口类型、控制器 YAML、读写周期和 active 状态
MCU / micro-ROS
- 先判断 Linux 侧桥接节点是否足够
- 若 MCU 必须进入 ROS 2 图,再考虑
micro-ROS - 严格检查字节序、校验、超时、重连、时间源和失连保护
反模式
- 同一个包混写
catkin与ament - 只改
CMakeLists.txt不改package.xml - 忽略 TF、时间戳、单位、坐标轴定义
- 把驱动、协议、滤波、控制、诊断全塞进一个大节点
- 迁移 ROS 1 → ROS 2 时只做 API 替换,不做系统验证
输出要求
使用本 skill 处理任务时,优先输出:
- 当前工作区和包类型判断
- 关键依据与假设
- 修改点与原因
- 最小构建 / 测试 / 运行命令
- 风险点与回归检查点
Weekly Installs
6
Repository
wzyn20051216/ro…cs-skillGitHub Stars
4
First Seen
7 days ago
Security Audits
Installed on
gemini-cli6
github-copilot6
codex6
kimi-cli6
cursor6
amp6