조립 가이드
모든 부품을 받았다는 가정에서 6단계로 mechadog v26.06를 조립합니다. 평균 작업 시간 12~18시간 (3D 프린트 시간 별도).
0. 준비물 (도구 / 별도 구매)
3D 프린터Bambu Lab A1·P1S 또는 Ender-3 V3 SE 등 (PETG 출력 가능)
드라이버 세트M2/M3 Phillips, hex 1.5/2.0/2.5
인두·납땜60W 이상, 0.6mm 솔더 와이어
점퍼 케이블M-F, M-M, F-F (dupont, 10cm) ×50
JST 압착기XH 2.54mm 2/3/4 pin
멀티미터전압·단선 확인
접착제PCL 3D 프린트, M3 너트용 Loctite
태블릿/노트북Rock 5C에 SSH 접속·Isaac Lab 학습
1단계 — 3D 프린트 부품 출력
| 파트 이름 | 수량 | 재료 | 예상 출력시간 |
|---|---|---|---|
| body_bottom (몸통 하판) | 1 | PETG | 3h |
| body_top (몸통 상판) | 1 | PETG | 3h |
| hip_bracket (3-DOF 허벅지 지지) | 4 | PETG | 1h |
| upper_leg (허벅지) | 4 | PETG | 1h |
| lower_leg (정강이) | 4 | PETG | 1h |
| foot_pad (고무 패드 부착 면) | 4 | PETG | 30m |
| camera_mount (Pi Camera v3 브래킷) | 1 | PETG | 45m |
| Rock5C_plate (8GB 캐리어) | 1 | PETG | 1h |
| Pico2+PCA9685 plate | 1 | PETG | 1h |
| battery_holder | 1 | PETG | 30m |
| 총 출력 시간 (Bambu A1에서) | ~14h / 약 1kg PETG (≈$17.99) | ||
인쇄 팁: PETG는 PLA보다 출력 시간이 살짝 더 걸리지만 충격 흡수가 좋습니다. 레이어 0.2mm, infill 35%, 자동 support Bambu Lab 표준 옵션이면 충분. 각 다리 부품은 모두 같은 방향(Z-up)으로 인쇄해 infill·층 강도 일관성 유지.
2단계 — 본체(body) 결합
1
body_bottom · body_top 조립
4개의 M3×8 볼트로 body_bottom과 body_top을 결합합니다. 카메라·IMU·Rock 5C 캐리어 mounted 위치에 미리 M3 너트 6개를 Loctite로 고정해 둡니다.
- Top body 박스 위쪽엔 RGB 카메라를 위한 cut-out (15mm × 15mm)
- 박스 안쪽 중앙에 BNO055 IMU를 양면테이프 또는 M2 볼트로 고정 — IMU XYZ가 body frame과 일치하도록 정렬
- 본체 무게중심은 배터리 슬롯(body_bottom 중앙)이 받도록 위치
3단계 — 다리 조립
2
다리당 3-DOF 표준 조립
각 다리는 다음 순서로 조립 (총 4개 다리 = 12 DOF 완성):
- Hip rotator (hip abduction) MG90S — 본체 사이드 hip_bracket에 고정. 서보축이 본체 centerline 평행.
- Hip thigh MG90S — hip_bracket 내부, hip rotator 서보 호른 위에 적층. 서보축이 본체 Z축 평행.
- Knee (calf) MG90S — upper_leg의 원위부에 고정. 서보축이 hip thigh와 평행.
각 MG90S에서 나오는 주황(PPM)·빨강(+5V)·갈색(GND)을 3P JST-XH 케이블로 연장 → PCA9685 채널 0~11에 매핑합니다. 다리 인덱스 권장 매핑:
CHN# LABEL LEG JOINT
0 LF_HIP_AA 앞-좌 hip abduction
1 LF_HIP_FL 앞-좌 hip thigh
2 LF_KNEE 앞-좌 knee
3 RF_HIP_AA 앞-우 hip abduction
4 RF_HIP_FL 앞-우 hip thigh
5 RF_KNEE 앞-우 knee
6 LH_HIP_AA 뒤-좌 hip abduction
7 LH_HIP_FL 뒤-좌 hip thigh
8 LH_KNEE 뒤-좌 knee
9 RH_HIP_AA 뒤-우 hip abduction
10 RH_HIP_FL 뒤-우 hip thigh
11 RH_KNEE 뒤-우 knee
4단계 — 서보 → PCA9685 wiring
3
I2C + 전원 wiring
PCA9685 (Adafruit) Pico 2
───────────────── ──────
V+ ←──────────── 5V BEC (서보용 별도 전원, 총 6A)
GND ←──────────── GND (배터리 GND와 동일)
SDA ────────► GP0 (I2C0 SDA, Pico 2)
SCL ────────► GP1 (I2C0 SCL)
VCC ←──────────── 3.3V (Pico 2의 3V3_OUT)
OE ───────── GND (또는 Pico 2 GP2 출력)
Pico 2 5V → PCA9685 VCC OK
0x70 (PCA9685 default addr) → PCA I2C 주소
PCA9685 output freq 50 Hz (서보 호환)
⚠ 전원 분할 — 서보 12개 정격 합계 전류는 ~2.5A이며, 동시 작동 시 피크 5A까지 치솟습니다. 서보용 5V/6V BEC는 별도로, SBC·MCU·IMU·RX용 5V는 별도의 buck regulator (Pololu D24V22F5 등)로 분할하세요. GND는 모두 공유.
5단계 — 메인보드 및 카메라 설치
4
SBC + MCU + IMU 배치
- Rock 5C Lite 8GB CARRIER 위에 M2.5 스페이서 4개로 마운트. carrier 뒷면에 5V input 라인을 BEC에 연결
- Raspberry Pi Pico 2 M2.5 볼트 × 2로 body_top 안 wall에 수직 부착. 3V3 OUT은 센서용, GP0/1은 I2C로 사용
- BNO055 본체 geometric center (X·Y 모두 0)에 sticky pad로 부착. 방향 표시는 X→전방, Y→좌측, Z→위
- Raspberry Pi Camera v3 (IMX708) body_top 전방 cutout에 CSI 케이블로 Rock 5C에 연결. 드라이버는 Radxa 공식 Armbian ROS2 이미지에서 자동 활성화
6단계 — RF 조종 라인 · 안테나 · 배터리
5
ELRS RX · 안테나 · 배터리 설치
- Matek R24-P6 body_bottom 안 R/F 안테나 위치에서 5cm 간격 두고 carrier. UART TX → Rock 5C의 UART4 RX (GPIO14)
- 안테나 (U.fl) RX 뒷면에서 몸통 뒷쪽으로 7~10cm 길이의 flexible 안테나를 looping — 손 부상 최소화
- 3S 2200mAh LiPo battery_holder에 가로로 슬라이드. 가는 양면테이프·strap으로 추가 고정. 무게중심이 본체 정중앙 아래쪽에 머물도록 위치 조정
- XT60 anti-spark 배터리 connector와 메인 PD 입력 사이에 연결. 5V input으로 변환 후 main PDB 입력으로 들어가게 wiring
[LiPo 3S 11.1V] ──► [XT60 anti-spark] ──► [Step-up to PD input]
│
┌──────────────────────┼──────────────────────┐
▼ ▼ ▼
[Buck 5V (Pololu D24V22F5)] [BEC 6V (UBEC for servos)]
│ │
┌────────┼────────┐ │
▼ ▼ ▼ ▼
Rock 5C Pico 2 BNO055 PCA9685 → servos ×12
(USB-C)(3.3V) (3.3V)
RX+BEC mat Camera v3
7단계 — 초기 시운전 체크리스트
6
전원投入 후 검증
- LiPo 연결 전 → 멀티미터로 main PDB 출력 5V/6V 확인
- Pico 2 USB 전원으로 단독 부팅 → LED 점등 확인
- PCA9685 단독 시험: 모든 12채널에 `
servo.write(90°)` 명령으로 중앙값만 보내고 KG90S가 정상 작동하는지 확인 - Rock 5C 부팅 후 SSH 접속 →
i2cdetect -y 0로 0x40(PCA9685), 0x28(BNO055) 둘 다 response 확인 - ELRS 페어링: RadioMaster Boxer TX로 R24-P6 binding → CRSF 프로토콜로 데이터가 들어오는지
cat /dev/ttyS4검증 - 최종 안전 테스트: 메인보드 off 상태에서 사람이 서보 호른에 직접 손가락 가까이 가져가지 않고, RC 명령 없이 사람 옆에서 LiPo 연결 — 미세한 jitter 없음 확인
- 전부 OK면 제어 페이지의 CRSF 파서 코드로 다음 단계 진행
⚠ 안전 유의 — LiPo 연결 후 즉시 서보 중앙값 전송이 끝나지 않으면 호른의 회전 반경 안에 손가락·머리카락이 들어가지 마세요. 특히 개발 초기에는 E-stop SW가 켜져 있어도 모터는 idle 토크를 받을 수 있습니다.
다음 단계
- 소프트웨어 스택 → (Rock 5C에 OS 깔기, ROS2 활성화, ONNX 설치)
- Isaac Lab에서 RL 학습 → (PC에서)
- Rock 5C 제어 + RC 통합 →