본문으로 건너뛰기
cccskills
무료GitHub에 공개

ros2-troubleshooting

Diagnose ROS 2 Jazzy faults that reading the code cannot settle: QoS mismatch, sensor-mount and frame errors (REP 103/105), and odometry calibrated against CAD instead of the floor. Ships four runnable pass/fail checks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(10)

  • SKILL.md2.9 KB
  • references/calibration.md2.6 KB
  • references/frames.md2.7 KB
  • references/runtime.md2.6 KB
  • scripts/_check_common.py1.2 KB
  • scripts/check_imu_gravity.py8.3 KB
  • scripts/check_odom_direction.py6.6 KB
  • scripts/check_qos_compat.py2.9 KB
  • scripts/check_tf_tree.py5.7 KB
  • scripts/test_checks.py6.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

ROS 2 troubleshooting

Most of this skill is scripts that turn a suspicion into an exit code. Run one before reasoning about the symptom.

Bundled checks

scripts/ sits next to this file — resolve the path from this skill's own directory, not the user's CWD. The variable ROS2_SKILL_DIR in the examples represents the absolute directory of the loaded skill, set internally by the agent based on discovery location (do not ask the user for this path). This works with Claude Code and Codex, for project and user installations.

They are plain scripts: invoke with python3 and a real path. There is no package to ros2 run, and inventing one is a known failure mode. Exit code 0 = PASS, 1 = FAIL, 2 = inconclusive/invalid request. Tell the user the command you ran.

source /opt/ros/jazzy/setup.bash
ROS2_SKILL_DIR="/absolute/path/to/ros2-troubleshooting" # Set by agent to loaded skill directory.
python3 "${ROS2_SKILL_DIR}/scripts/check_qos_compat.py" --topic /scan
ScriptAnswers
check_qos_compat.py --topic /scanWhy a healthy publisher delivers nothing to this subscriber
check_tf_tree.py --sensors laser_frame,imu_linkDoes map->odom->base_link resolve? Prints sensor mount RPY for comparison with the hardware
check_imu_gravity.py [--topic /imu/data]On a level robot, is measured gravity ~+9.81 on +Z in --base base_link after declared TF or with --assume-aligned? Requires ≥2 samples; RMS variation >1.5 m/s² (adjustable via --max-variation) returns inconclusive for motion, vibration or noise. Neither declared TF nor --assume-aligned proves physical stillness; yaw is not observable. Missing TF is inconclusive without --assume-aligned
check_odom_direction.py [--topic /odom]Does odometry agree with the direction the robot physically moved

check_tf_tree.py prints VERIFY PHYSICALLY for any ~180° roll or yaw even when that mounting is deliberate. It asks for a comparison against the hardware; it is not a verdict. Report it that way.

References

Load the one the symptom points at.

  • references/frames.md — REP 103/105 axis conventions, and the misalignment symptoms that follow from getting them wrong. CLAUDE.md treats this file as ground truth for any frame or TF question.
  • references/runtime.md — what a QoS mismatch actually looks like on Jazzy, the two other policies that fail the same way, and why ros2 topic echo cannot detect any of them.
  • references/calibration.md — correcting diff_drive_controller wheel radius and separation against a tape measure, in the order that works. Read when odometry is consistent but wrong by a ratio.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Implement or change ROS 2 Jazzy packages, nodes, interfaces, launch files and configuration in a colcon workspace. Use for building and validating a development change, including tests that report success without running. For a live QoS, TF, IMU or odometry fault, use ros2-troubleshooting.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Leehyunbin0131/claude-ros2-skills202026년 9월 27일 업데이트

micro-ROS: agent, rclc client API, micro_ros_setup, custom transports, static memory.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Leehyunbin0131/claude-ros2-skills202026년 9월 27일 업데이트

Leehyunbin0131의 스킬 모두 보기

이 스킬의 문제 신고