실습 5-D: 20 Hz Action Chunk 폐루프

목표

  • 50 ms deadline과 inference latency 관계를 측정한다.
  • receding horizon과 temporal ensemble을 비교한다.
  • queue underrun 시 safe behavior를 설계한다.

준비

python code/temporal_ensemble.py
python code/closed_loop_20hz.py

실험 조건

  1. inference latency를 10, 40, 70, 120 ms로 모사한다.
  2. chunk horizon을 1, 8, 16으로 바꾼다.
  3. execution horizon을 1, 4, 8로 바꾼다.
  4. temporal ensemble decay를 0, 0.25, 1.0으로 바꾼다.
  5. 2% 확률의 latency spike와 NaN action을 주입한다.
  6. stale chunk, task/phase가 다른 chunk, hard limit을 크게 벗어난 proposal을 주입하고 ensemble 전에 제거되는지 확인한다.
  7. grasp/retreat phase 전환과 E-stop/reset에서 ensemble history를 비운다.

측정

  • missed deadline 수
  • queue underrun 수
  • command delta/jerk
  • goal error
  • safety reject 수
  • stale observation age

안전 정책 설계

다음 사건별 동작을 표로 작성한다.

사건감지 조건즉시 동작복구/종료
queue underrun실행할 action 없음hold 또는 감속 정지새 chunk 대기
stale imageage > threshold신규 inference 금지sensor 복구
NaN actionfinite check 실패command rejectsafe stop
watchdog lossheartbeat timeouttorque/velocity 안전 상태operator reset

토의

temporal averaging으로 smoothness는 좋아졌지만 goal error가 커질 수 있는 경우를 설명한다. 서로 다른 action mode를 평균하는 것이 안전하지 않은 사례도 제시한다.

가상실습: 수집·분할·행동 청크 설계

장비 없이 변수를 조절해 결과를 관찰하는 단순 개념 모형입니다.

episode 수와 길이, 수집 주파수로 데이터 행 수를 계산하세요. 행동 청크가 길어질수록 환경 변화에 대응하지 못하는 구간이 얼마나 길어지는지 확인합니다.

결과 해설과 실제 환경에서 확인할 점

행 수는 episode 수×길이×수집 주파수입니다. 인접 프레임을 무작위 분할하면 누출될 수 있어 episode 단위로 나눕니다. chunk 길이는 새 관측을 반영하는 빈도와 구분해야 합니다.

직접 답하고 피드백 받기

답안은 이 브라우저에 저장됩니다. AI 평가는 학습을 위한 피드백이며 실제 코드 실행이나 장비 동작을 검증하지 않습니다.

1. 수행 결과와 근거

위 과제를 수행하고 설정값, 관찰 결과, 해석과 개선안을 작성하세요. 실제 장비 없이 한 경우 가상실습 결과임을 명시하세요.

0 / 8,000자 · 최소 10자
이 장의 예제 코드·설정 파일 (5)

이 장의 자가 점검·가상실습