원하는 속도와 측정된 속도는 다르다
보행 정책의 속도 지령은 로봇에게 원하는 운동을 알려 주는 입력이다. 자체 명세는 body 프레임의 전방 속도 vx(m/s), 좌우 속도 vy(m/s), yaw 각속도 wz(rad/s)다. 실제 추종 속도는 별도 관측/추정 값이며 지령을 그대로 측정 값으로 복사하면 추종오차가 항상 0이 되는 거짓 평가가 된다. body와 world의 축·yaw 부호·명령 유효 기간을 정한다.
로봇이 세계 z 축에서 90도 회전해 앞쪽이 world+y를 향할 때 body 속도(1,0)m/s는 world(0,1)m/s다. world(1,0)을 그대로 body 전방 1로 읽으면 옆 방향 이동과 혼동한다. 실제 회전은 기저 자세의 회전 행렬을 사용하고 예제는 평면 yaw만 있는 조건이다. 자세/속도 추정의 취득 시각과 지령 시 각도 맞춰야한다.
관측 벡터를 항목별로 읽는다
일반적인 관측 후보는 몸통 각속도·body 축의 중력 방향·속도 지령·기준 자세에 대한 관절각 차·관절 속도·이전 행동 등이다. 무엇을 실제로 쓸지는 선택 정책의 계약이다. 센서/추정기에서 만들 수 없는 정답 속도나 접촉 정보를 필수 입력으로 가정하지 않는다. 중력 방향은 몸통 기울기의 단서이지만 세계 위치나 모든 yaw를 알려 주지는 않는다.
자체 예제는 관측 48 차원·이력 4 프레임으로 192개 스칼라를 actor에 전달한다. 정책 주기 20ms라면 가장 새 프레임과 가장 오래된 프레임의 시각 차이는 3×20=60ms다. 4 프레임이므로 80ms라고 말하면 표본 간격과 창 길이 정의를 혼동한 것이다. 새 프레임의 순서·reset 패딩·유효마스크와 이전 행동 갱신 시점을 명세한다.
정규화는 관절각 차를 스케일로 나누거나 클 리 핑하는 등 입력 분포를 맞추는 과정이다. 학습 통계/상수와배포전처리가 같아야한다. 관측이 범위를 벗어났다고 무조건 clip 하면 센서 고장/분포 이탈을 숨길 수 있어 원값/포화 빈도를 기록한다. 누락 관측 과정상 0을 같게 두지 않는다.
정책출력을 실제제어목표로 바꾼다
자체 한 관절 계약은 q_des=q_nom+scale×a다. q_nom=.2rad·scale=.3rad·a=−.5이면 목표.05rad다. 이는 현재 각에 매번 −.15rad를 누적하는 명령이 아니라 기준 자세 주위의 위치 목표다. 출력이 토크인지 위치 인지의 차이는 PD 계층/구동기 동작을 바꾸므로 행동 차원만으로 판단하지 않는다. M24.04에서 목표와 PD 토크의 연결을 계산한다.
그림 M24.02-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.
행동 clip·관절각 limit·목표 변화율 limit·토크/전류 limit은 다른 위치의 제약이다. 자체 목표 이전.2rad→새.05rad·정책 간격.02s이면 목표 변화율은 −7.5rad/s다. 이것은 목표 신호의 변화율이지 측정 관절 속도가 아니다. 허용 목표 변화율을 2rad/s로 정했다면 한 번에 허용되는 변화 크기는.04rad이므로 이 예제의 제안을 그대로 적용할 수 없다. 거부/제한/보간 정책과 그로 인한 추종 변화를 평가한다.
명령의 범위와 중단 상태를 정한다
속도 지령 범위는 학습과 평가에서 명시한다. 학습 vx−.5~.5m/s에서 평가 vx1m/s는 범위 밖 조건이다. 조용히 정상 명령처럼 분모에 섞지 않고 한계 외 일반화로 분리한다. zero 지령이 정지/제자리 균형/보행 중 정지 중 무엇인지 목표와 종료를 정하고 지령 변화의 기울기/유효 기간을 명세한다.
통신이 끊겨 마지막 지령이 남으면 정책이 계속 보행할 수 있다. watchdog은 오래된 지령/관측을 감지해 정의한 정지/중단 상태로 전환해야 한다. zero 입력만 넣으면 어떤 상황에서도 안전하게 서는 것으로 가정하지 않는다. 실제 정지 전략은 모델/환경·균형 상태에 따라 별도 검증해야 한다. 기본 활동에서는 명령 유효성과 중단 분기를 분석하며 실물 동작을 실행하지 않는다.
최종 계약 표에는 지령/관측/행동의 이름·차원/순서·단위/프레임·주기·정규화/clip·이력/마스크·관측 출처·종료/중단과 버전을 함께 쓴다. 고정 입력의 원본 정책/내보낸 정책 출력 대조와 관절 매 핑 검사를 이 계약으로 수행한다. M24.03은 이 정책이 실제로 지령을 따르는지와 넘어짐/접촉/지면 조건의 평가로 이어진다.
Body 축의 중력 방향 관측은 기울기의 단서를 제공하지만 수직 축 주위 회전은 중력 방향을 바꾸지 않는다. 따라서 이 값만 보고 전역 yaw를 측정했다고 주장하지 않는다. 필요한 경우 별도의 방향 추정과 좌표 기준을 명시한다. 센서 자세가 끊겼다면 마지막 중력 방향을 새 측정처럼 계속 복제하지 않는다.
명령 시험은 일정 전 방지 령뿐 아니라 0 지령·방향 전환·범위 경계·오래된 지령을 포함한다. 각 조건에서 지령을 받은 시각, 적용 시각, 측정 속도와 품질, 출력 포화와 중단 이유를 기록한다. 원래 명령과 제한 후 명령을 따로 보존해야 추종오차가 정책 탓인지 입력 제한 탓인지 설명할 수 있다. 단순히 제한 후 값만 남기면 사용자의 실제 요구가 사라진다.