06. 걸음 품질 측정 — “그거 진짜 걷는 거 맞아?”를 이번엔 처음부터

이번 단계 목표: 시즌 1의 10편에서 뼈아프게 배운 순서대로 갑니다 — 영상에 속지 말고 수치부터. 시즌 1의 걸음 지표 도구를 Isaac Lab에 이식해, 05편에서 학습된 정책의 걸음을 학습 직후 바로 실측합니다. 04편에서 적어 둔 예측도 채점합니다.


실행

python -u scripts/06_eval_gait.py --headless --vx 0.5 --record

학습 체크포인트를 로드해 고정 전진 명령(0.5m/s)으로 10초(워밍업 2초 별도) 걷게 하면서 발 접촉·위치·무릎 각도·몸통 상태를 기록합니다. --record를 주면 로봇을 따라가는 추적 카메라 영상도 같이 뽑습니다.

이식하며 달라진 것도 있습니다. 접촉력은 Genesis의 get_links_net_contact_force() 대신 Isaac Lab의 ContactSensor에서, 발 위치는 robot.data.body_pos_w에서 읽습니다. 대신 지표 정의(스윙 검출·클리어런스·보폭)는 시즌 1과 동일하게 유지했습니다. 그래야 시즌 간 비교가 성립하니까요.


결과 — 넘어지진 않지만, 잰걸음에 절뚝임이 있다

지표 시즌 2 (이번, 내장 환경) 시즌 1 셔플 시즌 1 교정 후
걸음 빈도 2.8~2.9 Hz ~8 Hz 1.25 Hz
보폭 13.5 cm (잔발) 32 cm
발 들림 (좌/우) 10.6 / 7.7 cm 수 mm 8 cm
접지율 50/53% ~구름
양발 동시 접지 3%
발 간격 16.5 cm 15 cm
전진 실측 0.39 m/s (−22%) 0.49 m/s (−2%)
몸통 높이 0.665 ± 0.005 m

영상:

— 추적 카메라 근접 촬영입니다. 지표를 알고 보면 종종거림과 좌우 차이가 눈에 들어옵니다.

판정과 해석입니다.

  1. 시즌 1의 셔플(8Hz)만큼 나쁘진 않지만, 정상 보행도 아닙니다. 2.85Hz 잰걸음에 보폭 13.5cm — 사람 걸음의 두 배 빈도로 종종거립니다. 내장 보상의 feet_air_time이 셔플은 막아 주지만(스윙 171ms는 채점 기준의 절반 수준), 박자를 강제하는 위상 클록이 없으니 정책은 “빨리 자주 떼는” 쪽으로 수렴했습니다.
  2. 비대칭(절뚝임)도 나타났습니다. 발 들림 좌 10.6 대 우 7.7cm로 37% 차이, 무릎 가동범위도 좌 40~77° 대 우 46~72°입니다. 대칭 보상이 없는 환경의 전형적 증상이에요.
  3. 명령 추종이 22% 미달입니다(0.39 대 0.5). 보폭이 짧은 잰걸음의 비용이 여기서 드러납니다.
  4. 좋은 것도 있습니다. 몸통 높이 요동 ±0.5cm로 매우 안정적이고, 측면 이탈 0.04m/s, 양발 동시 접지 3%의 또렷한 교대 보행, 발 간격은 시즌 1과 일치합니다.

예측 채점 — 2전 2승

04편에서 “채점표에 빈칸이 있는 축”을 세 개 적어 뒀었죠. 결과는 이렇습니다.

04편의 예측 실측 판정
빈도가 극단으로 갈 것 (채점 항목 없음) 2.85Hz 잰걸음 적중
절뚝임이 나올 것 (대칭 항목 없음) 들림 37% 비대칭 적중
들림이 들쭉날쭉할 것 (목표 없음) 10.6 대 7.7cm 적중

요약 판정: 내장 환경의 기본 튜닝만으로는 “넘어지지 않고 명령을 대충 따르는 잰걸음” 까지입니다. 시즌 1이 10~13편에서 걸음 채점·대칭 보상으로 해결한 그 문제들이, 도구를 바꿔도 같은 자리에서 기다리고 있었습니다. 보상이 명시하지 않은 품질은 공짜로 얻어지지 않는다는 얘기예요.

여기서 이 시리즈의 방향이 정해집니다. 채점표를 읽고 병리를 미리 맞힐 수 있다면, 그 반대도 되지 않을까? 로봇 제조사가 공개한 채점표를 읽으면 그쪽 걸음도 예측할 수 있을까요? 그 질문이 08편부터의 실험 연작이 됩니다.

개념 박스 — 시즌 간 지표 비교의 조건 이 비교가 성립하는 건 지표 정의를 그대로 이식했기 때문입니다. 스윙 검출(접지→비접지→ 접지), 클리어런스 기준(접지 시 평균 높이 대비), 보폭(착지 x좌표 차이)을 시즌 1과 같은 코드 로직으로 맞췄어요. 도구를 바꿀 때 가장 먼저 옮겨야 하는 것은 로봇도 보상도 아니고 측정입니다. 자가 아니면 개선을 주장할 수 없으니까요.


다음 단계

직진만 재 봤으니, 이번엔 조종해 봅니다. 시즌 1과 같은 16초 시나리오로 Phase B를 결산합니다 → 07. 조종 시나리오

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.