로봇 브링업 (ROS2 부팅 자동화)
ROS2 로봇의 온보드 컴퓨터에서 systemd·launch 파일·udev 규칙으로 전체 스택을 부팅 시 자동 기동하도록 구성해 주는 스킬입니다.
개발·코딩고급★ 343⑂ 46AI 점수 9/10마지막 업데이트: 2026. 8. 12.
무엇을 해주나
- systemd 서비스 작성: ROS2 워크스페이스를 올바르게 source하고 DDS 환경변수(
RMW_IMPLEMENTATION,ROS_DOMAIN_ID,CYCLONEDDS_URI)를 설정하는 유닛 파일 템플릿을 제공합니다. 워치독(WatchdogSec), 재시작 정책, 재시작 폭주 방지(StartLimitBurst), cgroup 자원 제한까지 포함합니다. - 계층형 launch 파일 설계: hardware → drivers → perception → application 순서로 나눈 launch 구조와 최상위
bringup.launch.py합성 예제, 시뮬레이션/실장비·로봇 변형(variant) 조건부 로딩 패턴을 알려줍니다. - 부팅 순서 문제 해결: 장치 존재 확인 스크립트, ROS2 노드/토픽 대기 스크립트, Nav2 lifecycle manager를 이용한 순차 기동으로 부팅 시 레이스 컨디션을 제거합니다.
- udev 규칙:
/dev/video0,/dev/ttyUSB*번호가 매번 바뀌는 문제를/dev/robot/camera_front,/dev/robot/imu같은 고정 심볼릭 링크로 해결합니다. - 그 외 로그 로테이션, 안전 종료(액추에이터 안전 상태 전환), 다중 머신 DDS 디스커버리 설정을 다룹니다.
이런 분께 추천
- ROS2(Humble/Iron/Jazzy)로 실제 로봇을 운용하며 전원만 켜면 스택이 알아서 뜨길 바라는 로보틱스 엔지니어
- 개발 노트북에서는 잘 되는데 로봇 본체 부팅 시에만 노드가 죽거나 장치를 못 찾는 문제를 겪는 분
- 현장 배포용 로봇에 워치독·자동 재시작·로그 관리 같은 프로덕션 운영 체계를 세우려는 팀
활용 예시
- "부팅 시 우리 로봇의 ROS2 스택이 자동으로 뜨게 systemd 서비스를 만들어 줘" → 워크스페이스 source, SIGINT 기반 정상 종료, 실패 시 재시작이 들어간 유닛 파일 생성
- "LiDAR가 준비되기 전에 SLAM이 먼저 떠서 죽어요" →
ExecStartPre장치 체크 스크립트 + 토픽 대기 유틸 + 서비스 의존성(After/Requires)으로 순서 보장 - "USB 카메라 두 대의 /dev/video 번호가 재부팅마다 바뀝니다" → USB 포트 경로/시리얼 번호 기반 udev 규칙으로
/dev/robot/camera_front,/dev/robot/camera_rear고정
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/arpitg1304/robotics-agent-skills/HEAD/skills/robot-bringup/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 arpitg1304/robotics-agent-skills 의 skills/robot-bringup 폴더를 내 ~/.claude/skills/robot-bringup/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/arpitg1304/robotics-agent-skills.git /tmp/robotics-agent-skills && mkdir -p ~/.claude/skills && cp -r /tmp/robotics-agent-skills/skills/robot-bringup ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 저장소를 내려받습니다:
git clone https://github.com/arpitg1304/robotics-agent-skills.git - Claude Code 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 이 스킬만 복사합니다:
cp -r robotics-agent-skills/skills/robot-bringup ~/.claude/skills/ ~/.claude/skills/robot-bringup/SKILL.md파일이 있는지 확인합니다.- Claude Code를 다시 실행한 뒤 "로봇 브링업용 systemd 서비스를 작성해 줘" 같이 요청하면 스킬이 자동 활성화됩니다.
- 생성된 유닛 파일·udev 규칙은 예제 경로(
/home/robot/ros2_ws, 패키지명my_robot_bringup)를 쓰므로 실제 환경에 맞게 수정한 뒤sudo systemctl daemon-reload,sudo udevadm control --reload-rules로 적용하세요.
GitHub에서 원본 보기 ↗라이선스: Apache-2.0