본문으로 건너뛰기

실용적 구현 및 튜닝

솔버 실시간 제약

MPC는 40 Hz에서 25ms 데드라인으로 실행됩니다. QP 풀이는 상태 추정과 로깅을 위한 여유를 남기기 위해 5ms 이내에 완료되어야 합니다.

문제 크기

N=16N=16 타임스텝과 단계당 12개 힘 변수:

  • 결정 변수: uR192\mathbf{u} \in \mathbb{R}^{192}
  • 동등 제약 (동역학): 13×15=19513 \times 15 = 195
  • 부등 제약 (마찰 + 범위): 100\sim 100

이는 중간 크기 QP입니다: 192개 변수, ~300개 제약. 현대 솔버가 쉽게 처리합니다.

웜 스타팅

QP 솔버 (qpOASES)는 이전 솔루션으로 초기화됩니다:

ukuk1+Δu\mathbf{u}^*_{k} \approx \mathbf{u}^*_{k-1} + \Delta \mathbf{u}

문제가 천천히 변하기 때문에 (로봇 동역학이 프레임마다 변하지 않음), 이전 솔루션이 좋은 초기화입니다. 전형적 수렴: 1–3 반복 대 10–20 콜드-스타트.

수치 스케일링

QP 솔버는 나쁜 조건화에 민감합니다. 정규화:

  • 힘: 로봇 질량 및 중력에 상대적으로 [0,1][0, 1]로 스케일
  • 위치: 전형적 CoM 변위 정규화 (몇 센티미터)
  • 속도: 작동 범위로 스케일 (±0.5\pm 0.5 m/s)

이는 헤시안 조건수를 관리 가능하게 유지합니다 (κ<1000\kappa < 1000), 수치 오류를 피합니다.

설계 선택과 트레이드오프

왜 단일 강체?

  • 효율성: O(1)O(1)로 스케일 대 다중체에서 O(n)O(n) (여기서 nn = 조인트 수)
  • 유효성: 트로트 속도에서 다리 질량 효과는 본 질량의 <10%<10\%
  • 견고성: 명시적 다리 모델링 없음은 컨트롤러가 로봇 변종 전반에서 작동함을 의미

왜 영순서 유지 이산화?

  • 단순성: 각 25ms 간격에 걸친 일정 힘
  • 현실: 실제 컨트롤러는 업데이트 간 일정 토크를 출력합니다
  • 충분성: 40 Hz 재계획은 대부분의 장애를 포착합니다

왜 고정-타이밍 보행?

  • 볼록성: 미리 정해진 접지 일정은 볼록 QP를 가능하게 합니다
  • 견고성: 발 센서에 의존하지 않음; 최악 경우는 일시적
  • 트레이드오프: 거친 지형이나 장애물에 보행을 적응할 수 없음

왜 비례 MPC 비용 (적분 없음)?

  • 단순성: 비례 항으로 상태 증강 회피
  • 속도: QP 문제 크기 감소
  • 트레이드오프: 작은 정상 상태 오프셋 (~3 cm 몸 높이, ~3° 피치)

튜닝 파라미터

실행 중 조정 가능한 파라미터:

파라미터효과범위
vx,vy,ωzv_x, v_y, \omega_z속도 명령±1.2, ±0.6, ±1.0 m/s, rad/s
몸 높이 목표CoM 참조 높이±10 cm
QQ 가중치상태 추종 공격성0–1000 (스케일)
RR 가중치힘 부드러움 강조0–1000 (스케일)
μ\mu (마찰)쿨롱 계수0.3–1.5 (콘크리트 위 고무 ~0.7)

성능 프로파일링

전형적 타이밍 분석 (하나의 25ms 제어 주기):

작업지속 시간
센서로부터 상태 추출0.5 ms
MPC 행렬 어셈블리1.5 ms
QP 풀이 (웜-스타트)2–4 ms
유상 다리 제어0.5 ms
야코비안 + 토크 맵핑0.5 ms
총 제어~5–7 ms
물리학 시뮬레이션 (1 kHz, 25 스텝)~12 ms
총 계산~17 ms
40 Hz에서의 여유~8 ms

배포 고려사항

네이티브 시뮬레이션

  • 시뮬레이터: MuJoCo (물리학, 충돌 감지, 렌더링 선택사항)
  • 런타임: 실제 세계 초당 ~100배
  • 적합: 개발, 검증, CI/CD 테스트

WebAssembly (브라우저)

  • 모듈 크기: ~3–5 MB (gzipped)
  • 풀이 시간: ~10–15 ms/스텝 (네이티브 대비 오버헤드: ~10%)
  • 적합: 상호작용 시각화, 파라미터 실험

실제 하드웨어

  • 필요: 실시간 OS, 상태 추정기 (IMU + 기구학)
  • 야코비안 토크 맵핑을 모터 명령으로
  • 전형적 주기 시간: 40–200 Hz @ 1–5 ms

알려진 제약사항

  • 고정 보행: 경사로 > ~20° 또는 희박한 발판에 적응할 수 없음
  • 착지 과도현상: 발이 지면에 닿을 때 간단한 힘 스파이크 (컴플라이언스 모델 없음)
  • 정상 상태 오프셋: 몸 높이 참조 위 약 3 cm, 속도 시 약 3° 피치
  • 가정: 단일 강체, 조인트 백래시 없음, 즉각적 힘 전달

이들은 원본 2018 IROS 논문에 따른 의도적 단순화입니다. 더 고급 변종이 존재하지만 단순성과 실시간 보장을 희생합니다.

다음: 요약은 완전한 제어 루프를 함께 넣습니다.