StackForce Mini · Wobbly 뒤뚱이 균형 실험실
Seeed가 공개한 공식 URDF로 만든 휠-레그 로봇입니다. 조종해서 경사로·턱·낮은 문을 지나 보고, "균형 실험실"에서 P·D·속도 이득을 바꿔 가며 넘어지지 않는 원리를 확인하세요.
시뮬레이터 준비 중
끌면 시점이 돌고, 휠로 확대합니다. 바닥 격자 한 칸은 10 cm입니다. 카메라는 로봇을 따라갑니다.
안에서 일어나는 일
- 물리: MuJoCo 물리 엔진이 브라우저에서 1초에 500번 계산합니다. 모양·관절·무게는 Seeed 위키의 공식 URDF에서 가져왔습니다. 실물 다리는 5절 링크지만 공식 URDF는 허벅지·종아리 2관절로 단순화돼 있어 그대로 씁니다.
- 안쪽 루프 (기울기 PD): IMU로 잰 기울기와 기울어지는 속도로 바퀴 토크를 정합니다. 기울어진 쪽으로 바퀴를 굴려 무게중심 밑으로 들어갑니다(역진자).
- 바깥 루프 (속도 PI): 원하는 속도와 실제 속도의 차이로 "목표 기울기"를 정합니다. 앞으로 가려면 먼저 앞으로 기울어야 합니다.
- 회전·직진: 좌우 바퀴 토크 차이로 돌고, 방향 유지를 켜면 밀려도 원래 방향으로 돌아옵니다.
- 다리: 키를 바꾸면 다리 관절 각도를 미리 계산한 표에서 찾아 서보에 보냅니다. 롤 보정은 기울어진 쪽 다리를 늘리거나 줄여 몸을 수평으로 맞춥니다.
- 기계 영점: 무게중심이 바퀴 축 바로 위에 오는 기울기를 키마다 계산해 둡니다(실물의 '보정' 단계).
이 시뮬레이션을 쓰는 차시
| 차시 | 시뮬레이터 활동 |
|---|---|
| 1 | 해 보기: 조종하며 역진자 원리 관찰, 균형 제어를 끄면 어떻게 되는지 보기 |
| 3 | 균형 실험실: 기울기 그래프로 넘어지는 순간 관찰 |
| 4–5 | ① P만 → ② PD: 이득을 바꾸며 흔들림·넘어짐 비교 (공식 3강) |
| 6–7 | ③ 속도 루프: 2중 루프로 흘러감 줄이기, 밀기 버튼으로 외란 시험 (4강) |
| 8 | 방향 유지(폐루프 직진) 켜고 끄기, 코드로 사각형 그리기 (5강) |
| 9–11 | 키 바꾸기와 롤 보정, 낮은 문 통과 미션 (6·7강) |
| 12–13 | 경사로·턱 코스 미션 (8강) |
| 15–16 | 이 시뮬레이터가 바로 "공식 URDF를 MuJoCo로" 실습: 시뮬레이션과 실물 이득 비교 |
차시 활동은 엔스크린 제안입니다. 실물 수업 전 연습과 장비가 모자랄 때 대신 쓰는 용도입니다.
출처와 이용 조건
로봇 모델(URDF·STL)은 Seeed 위키의 공식 "urdf & stl" 파일입니다. 같은 프로젝트의 GitHub 저장소는 Apache-2.0이며, 위키 파일도 같은 조건인지 Seeed에 확인 중입니다. 총질량은 공식 사양 540 g에 맞췄고, 바퀴 충돌은 원기둥으로 바꿨습니다.
균형 제어기(2중 루프 PID)와 시뮬레이터 코드는 엔스크린이 작성했으며 MuJoCo(Apache-2.0)와 three.js(MIT)를 우리 서버에서 불러옵니다. 이득값은 시뮬레이션용이라 실물 이득과 다릅니다.