Community코딩 & 개발github.com

wzyn20051216/ros-robotics-skill

ROS 1 / ROS 2 机器人开发、迁移与联调专用技能。覆盖 catkin/catkin_tools、colcon/ament、package.xml、CMakeLists.txt、launch、URDF/Xacro、RViz、TF、Navigation2、ros2_control、串口/CAN、MCU 与 micro-ROS 等常见工程场景。

ros-robotics-skill란 무엇인가요?

이 스킬은 ROS 1 및 ROS 2 환경에서의 로봇 개발, 이전, 통합 디버깅을 돕는 AI 에이전트 전용 도구입니다. Catkin/catkin_tools, colcon/ament 빌드 시스템부터 package.xml, CMakeLists.txt, launch 파일, URDF/Xacro, RViz, TF, Navigation2, ros2_control, 직렬 통신/CAN, MCU 및 micro-ROS에 이르기까지 로봇공학에서 흔히 마주치는 거의 모든 개발 시나리오를 포괄합니다. Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있도록 설계되었습니다. 이 스킬은 먼저 작업 공간 유형(Catkin vs Colcon)을 식별하고 일관성 검사를 수행한 다음, 문제 특성에 맞게 참조 문서를 로드합니다. 사용자는 빌드 실패, 탐색 문제, TF 프레임 문제 또는 이전 작업과 같은 일반적인 작업에 대한 모범 사례와 함께 '먼저 진단, 그다음 수정' 원칙을 따르는 구조화된 접근 방식을 제공받습니다. 이 스킬은 반패턴을 명시적으로 금지하고 오류 원인을 체계적으로 좁혀나갈 것을 권장하여, 초보자와 숙련된 로봇공학 엔지니어 모두에게 효과적인 지원을 제공합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add wzyn20051216/ros-robotics-skill

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

ROS Robotics

사용 시기

사용자가 다음 주제 중 하나와 관련된 요청을 할 때 이 스킬을 사용하세요:

  • catkin_ws, colcon_ws, src/CMakeLists.txt, package.xml, setup.py
  • ROS 1 / ROS 2 패키지 생성, 이전, 빌드, 테스트, 디버깅
  • launch / launch.py, 파라미터 YAML, URDF/Xacro, RViz, TF
  • topic / 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, 타임스탬프, 프레임, 단위를 먼저 확인한 후 알고리즘을 의심하세요.
  • 먼저 증거 사슬을 확보한 후 수정하세요: 빌드 출력, 토픽, TF, 파라미터, 로그는 검증 가능해야 합니다.
  • ROS 1 → ROS 2는 먼저 브리징 또는 계층화하고, 한 번에 모두 다시 작성하지 마세요.
  • MCU / micro-ROS의 경우 ROS 그래프 진입이 실제로 필요한지 먼저 판단하세요.

일반적인 작업 처리 방식

패키지 추가 또는 수정

  • 패키지 유형을 먼저 판단: catkin, ament_cmake, ament_python
  • 종속성 선언을 먼저 추가하고, 빌드 로직을 추가한 다음, 설치 규칙을 추가하세요.
  • 사용자 정의 msg / srv / action은 생성 순서와 종속성 순환을 우선 확인하세요 (자세한 내용은 references/custom-interfaces.md 참조).

빌드 실패

  • 먼저 rosdep 실행
  • 그다음 package.xml과 빌드 스크립트 확인
  • 환경이 올바르게 source 되었는지 확인
  • 시스템 종속성, ABI, 배포판 호환성 확인

정상 실행되지만 로봇 동작이 잘못됨

  • launch, namespace, remap, 파라미터를 먼저 확인
  • 그다음 토픽 이름, 주파수, 타임스탬프, 단위, frame_id 확인
  • TF가 단일 루트인지, 정적/동적이 구분되어 있는지 확인
  • 마지막으로 알고리즘 자체를 의심

Nav2 / ros2_control

  • Navigation2는 /cmd_vel 경로, 위치 추정 품질, 제어 주파수 및 섀시 단위를 우선적으로 확인
  • ros2_control은 하드웨어 인터페이스 유형, 컨트롤러 YAML, 읽기/쓰기 주기 및 활성 상태를 우선 확인

MCU / micro-ROS

  • Linux 측 브리지 노드가 충분한지 먼저 판단
  • MCU가 ROS 2 그래프에 반드시 진입해야 하는 경우에만 micro-ROS 고려
  • 바이트 순서, 체크섬, 타임아웃, 재연결, 시간 소스 및 연결 끊김 보호를 엄격히 확인

반패턴

  • 동일한 패키지에 catkin과 ament 혼용
  • CMakeLists.txt만 수정하고 package.xml은 수정하지 않음
  • TF, 타임스탬프, 단위, 좌표축 정의 무시
  • 드라이버, 프로토콜, 필터링, 제어, 진단을 모두 하나의 큰 노드에 넣음
  • ROS 1 → ROS 2 이전 시 API 교체만 하고 시스템 검증은 수행하지 않음

출력 요구 사항

이 스킬을 사용하여 작업을 처리할 때는 다음을 우선 출력하세요:

  1. 현재 작업 공간 및 패키지 유형 판단
  2. 주요 근거 및 가정
  3. 수정 사항 및 이유
  4. 최소 빌드 / 테스트 / 실행 명령어
  5. 위험 요소 및 회귀 검사 지점

관련 스킬