{
 "date": "2026-11-03",
 "note": "One source for the V2 design map: v2_robot/README.md, overview/design_map.py and the per-part sheets in parts/ read it. Numbers come from top_down/budget.json, r05/out_rod/metrics.json, top_down/candidates/README.md and top_down/heat/README.md; design_map.py asserts the mass numbers against those files.",
 "robot": {
  "target_kg": 17.0,
  "current_kg": 16.44,
  "current_basis": "r05 with the rod knee and the B-plate body; battery, computer and wiring as budget placeholders",
  "fixed_interfaces": [
   "hip spacing front-rear 380 mm, foot track 226 mm",
   "thigh 200 mm, knee to foot centre 195 mm",
   "RS06 x 12 (abduction, hip, knee motors on every leg)",
   "knee drive: rod, knee range 32.5-149 deg",
   "body envelope of r05 (B-plate: printed end blocks, aluminium top and bottom sheets)"
  ],
  "open_requirements": [
   "payload (decides motors margin and the top sheet as a deck)",
   "pass line set by the user 2026-11-03: strength use at most 50 % (safety factor 2)"
  ],
  "budget_rule_ko": "질량 규칙 (2026-11-03 사용자 승인): 지켜야 하는 선은 로봇 17 kg과 다리 하나 1,580 g(모터 제외)뿐이다. 부품별 예산(힙 390, 무릎 600, 허벅지 350, 정강이·발 145, 나사 95 g)은 탑다운 예산에서 Claude가 나눈 출발값(가이드)이고, 다리 합계 안에서 부품끼리 무게를 옮길 수 있다. 옮길 때는 어디서 어디로 몇 g인지 parts.json에 적는다.",
  "leg_limit_g": 1580,
  "leg_current_g": 1571.0,
  "transfers_ko": [
   "힙 +48.6 g (Ms 438.6 g, 가이드 390) ← 무릎 로드 여유 (2026-11-03, 잠정; 한 덩어리 Mt25일 때는 +34 g)"
  ]
 },
 "parts": [
  {
   "id": "hip",
   "n": 1,
   "name_ko": "힙 모듈",
   "name_en": "Hip module (abduction carrier and motor seats)",
   "role_ko": "벌림 모터를 몸체에 달고, 허벅지·무릎 모터 두 개를 받치는 부품",
   "connects": [
    "body",
    "thigh",
    "knee",
    "motors"
   ],
   "budget_g": 390,
   "current_g": 481.3,
   "mass_key": "carrier",
   "status": "provisional",
   "chosen_by_ko": "구조 유형 11개 + 가공 없는 경로 7개 + 두 조각 가공 1개 Fusion 비교 → Ms(Mt25를 가공 U 프레임 + 3 mm 레이저 덮개 두 조각으로)로 잠정, 사용자 확정 전",
   "evidence_ko": "Fusion 정적 해석 6회: 275 g에서는 어떤 후보도 50 % 선 아래가 아님(프린트 95-144 %, 알루미늄 L 58 %). 한 덩어리 Mt25 309 g 37.4 %. 가공 없는 경로: 평판+기성 각재 273-276 %, 판금 브래킷 TBr 356 g 50.6 %. 두 조각 Ms 323.7 g 44.4 %, 시트 회전 10.6 mrad(r05 48.0), 옆 강성 35.7 N/mm(Mt25 48.7).",
   "issues_ko": [
    "힙 모듈 438.6 g은 가이드 390 g보다 48.6 g 무거움 → 무릎 로드의 여유에서 옮김 (다리 합계 안, 남은 여유 52 g)",
    "볼트 이음: 옆 밀기에서 이음마다 732-951 N 전단, M3 마찰(핸드북 약 440-660 N)로는 미끄러질 수 있음 → 다월 핀 2개 또는 M4 12.9 (해석 안 함)",
    "해석은 덮개를 보스 면에 붙인 모델: 강성은 상한",
    "최대 응력이 날카로운 안쪽 모서리(필렛 없음)",
    "견적 없음: 업체가 STEP 업로드(계정)를 요구, 업로드는 사용자 확인 뒤"
   ],
   "next_ko": "Ms 이음을 전단 지지(다월 핀 또는 M4 12.9)로 바꾸고, 그 STEP으로 meviy·MakeIT·현선 견적(업로드는 사용자 확인 뒤)",
   "candidate_g": 438.6,
   "candidate_ko": "Ms: 6061 가공 U 프레임 260.1 g + 3 mm 레이저 덮개 41.6 g + 볼트 = 323.7 g, 기존 HFE 어댑터 114.9 g",
   "report": "https://sankim-ai-reports.vercel.app/shappy/v2-hip-module/"
  },
  {
   "id": "thigh",
   "n": 2,
   "name_ko": "허벅지",
   "name_en": "Thigh",
   "role_ko": "힙 모듈에서 무릎 축까지 200 mm, 안에 무릎 로드가 지나감",
   "connects": [
    "hip",
    "knee",
    "shin"
   ],
   "budget_g": 350,
   "current_g": 442.4,
   "mass_key": "thigh",
   "status": "over",
   "chosen_by_ko": "구조 유형 비교 완료 (벽이 있는 상자형이 필요)",
   "evidence_ko": "구조 유형 비교: 벽 없는 형태는 무릎 처짐 5.5-7.5배. r05 로드 허벅지: 덮개 이음 47.6 %.",
   "issues_ko": [
    "가이드보다 92 g 무거움 (다리 합계 1,580 g 안이라 규칙 위반은 아님)",
    "덮개 이음이 50 % 선 바로 아래 (47.6 %)",
    "무릎 모터 시트(허벅지 덮개) 과열: PETG가 견디는 4.3 N·m, 걷기 요구 7.6 N·m"
   ],
   "next_ko": "덮개 이음(47.6 %)과 무릎 모터 시트 과열부터 해결. 무게는 다리 합계 1,580 g 안에서"
  },
  {
   "id": "knee",
   "n": 3,
   "name_ko": "무릎 전달 (로드)",
   "name_en": "Knee drive (rod)",
   "role_ko": "엉덩이 쪽 무릎 모터의 회전을 로드로 무릎에 전달",
   "connects": [
    "thigh",
    "shin",
    "motors"
   ],
   "budget_g": 600,
   "current_g": 311.3,
   "mass_key": "drive",
   "status": "provisional",
   "chosen_by_ko": "9개 후보 비교 (손 계산 + 계단 시뮬) → 로드 잠정 선정, 사용자 확정 전",
   "evidence_ko": "벨트보다 411 g 가벼움, 무릎 토크비 1.24 (계단 요구 1.15). 계단 시뮬은 구동 방식 간 차이 없음.",
   "issues_ko": [
    "가동 범위 끝에서 로드엔드 정적 여유 1.18 (JMC)",
    "무릎 범위 32.5-149° 밖은 펌웨어 제한 필요"
   ],
   "next_ko": "로드엔드 선정(IKO 4.2 kN급)과 무릎 정지 위치 확정"
  },
  {
   "id": "shin",
   "n": 4,
   "name_ko": "정강이·발",
   "name_en": "Shin and foot",
   "role_ko": "무릎에서 발 중심까지 195 mm, 발은 교체식",
   "connects": [
    "knee",
    "thigh"
   ],
   "budget_g": 145,
   "current_g": 178.5,
   "mass_key": "shin_foot",
   "status": "over",
   "chosen_by_ko": "구조 유형 9종 비교 (타원관이 가장 고르게 강함)",
   "evidence_ko": "발 연결부(혀)는 모든 PETG 형태에서 147-206 %: 금속 필요 (6061 8 mm면 25 %).",
   "issues_ko": [
    "가이드보다 34 g 무거움 (다리 합계 안)",
    "발 연결부 금속화 필요"
   ],
   "next_ko": "타원관 + 알루미늄 발 연결부. 무게는 다리 합계 1,580 g 안에서"
  },
  {
   "id": "body",
   "n": 5,
   "name_ko": "몸체",
   "name_en": "Body frame",
   "role_ko": "네 힙 모듈을 380 mm 간격으로 묶고 전장을 품음",
   "connects": [
    "hip",
    "electronics"
   ],
   "budget_g": 1300,
   "current_g": 789.3,
   "mass_key": null,
   "status": "chosen",
   "chosen_by_ko": "5개 후보 비교로 B-plate 선정",
   "evidence_ko": "비틀림 강성 45.9 kN·m/rad (선 0.24), 최악 강도 17.5 %. 열린 몸체 3종은 강도 선 통과 못함.",
   "issues_ko": [
    "정비: 컴퓨터를 꺼내려면 하중 받는 판을 떼야 함 → 해치",
    "탑재물 데크 역할 미정",
    "닫힌 몸체 안 컴퓨터 과열"
   ],
   "next_ko": "윗판 정비 해치(+43 g) 해석, 탑재물 장착점"
  },
  {
   "id": "electronics",
   "n": 6,
   "name_ko": "전장·전원",
   "name_en": "Battery, computer, power board, wiring",
   "role_ko": "배터리·컴퓨터·전원 보드·배선·비상정지",
   "connects": [
    "body",
    "motors"
   ],
   "budget_g": 2000,
   "current_g": null,
   "mass_key": null,
   "status": "not_started",
   "chosen_by_ko": "예산만 있음 (배터리 1.2, 컴퓨터 0.3, 전원 보드 0.2, 배선 0.3 kg)",
   "evidence_ko": "국내 48 V 팩 없음 → 전동공구 팩 2개 직렬 36 V 경로 (속도 약 25 % 감소). 열 모델: 닫힌 몸체에서 Pi 5 91.5 °C.",
   "issues_ko": [
    "배터리 전압·팩 결정",
    "컴퓨터 (Pi 5 / Orin Nano) 결정",
    "CAN 버스·비상정지 배선"
   ],
   "next_ko": "전원 구성도 (배터리 → 보드 → 모터 버스 4개 → 컴퓨터)와 배치"
  },
  {
   "id": "motors",
   "n": 0,
   "name_ko": "모터 RS06 × 12",
   "name_en": "Motors",
   "role_ko": "모든 관절의 구동기 (공통 부품, 설계가 아니라 선택·검증 대상)",
   "connects": [
    "hip",
    "knee",
    "electronics"
   ],
   "budget_g": 7380,
   "current_g": 7380,
   "mass_key": null,
   "status": "chosen",
   "chosen_by_ko": "탑다운 예산으로 선택",
   "evidence_ko": "열 모델: 계단 시뮬의 앞 엉덩이 RMS 11.4 N·m가 정격 11 N·m를 넘음. 실물 측정 없음.",
   "issues_ko": [
    "실물 1개 열 시험 (448,800원)",
    "계단 앞다리 토크가 정격 초과"
   ],
   "next_ko": "RS06 1개 + CAN-USB 구매해 벤치 열 시험"
  }
 ],
 "whole": {
  "stairs_ko": "계단 시뮬 16 cm 통과 0/100 (Go2 공식 모델도 0) → 학습 레시피 문제, 아직 하중 근거로 못 씀",
  "printed": 0,
  "bought": 0
 },
 "order_ko": [
  "인터페이스 고정: 힙 간격·다리 길이·모터·무릎 방식·몸체 외곽 (이미 정해진 것을 '고정'으로 선언)",
  "1 힙 모듈: 가장 문제가 많고 허벅지·몸체·모터와 모두 맞닿음",
  "2 허벅지 → 3 무릎 로드 상세 → 4 정강이·발: 다리 위에서 아래로",
  "5 몸체 정비 해치·탑재 데크 → 6 전장·전원",
  "전신 조립 검사 (간섭·질량·무게중심) → 한 다리 출력·시험대"
 ],
 "parallel_ko": [
  "RS06 1개 열 벤치 (모든 모터 시트 재료를 결정)",
  "계단 학습 레시피 수정 (Go2가 16 cm를 올라야 하중을 믿을 수 있음)"
 ],
 "done_when_ko": [
  "다리 합계 1,580 g 안 유지 (부품별 예산은 가이드, 넘으면 어디서 옮겼는지 기록)",
  "모든 출력 부위 강도 사용률이 선 이하 (Fusion)",
  "슬라이스 확인: 지지대·밀폐 공간·P2S 크기",
  "맞닿는 부품과 체결 위치 일치 (CAD 간섭 0)",
  "국내 구매 부품표 행 완성"
 ]
}
