실습 6-2: Temporal Filter와 안전 승격 감독기

목표

  • EMA와 temporal ensemble을 구분한다.
  • 승격 게이트와 latched FAULT를 시험한다.
  • workspace 위반을 clamp하지 않고 거부한다.

1부: 필터

python code/temporal_filters.py
  1. EMA alpha를 0.1, 0.3, 0.8로 바꾸고 step input 응답을 기록한다.
  2. chunk의 두 번째 예측에 큰 이상치를 넣고 ensemble 출력 변화를 본다.
  3. ensemble 출력을 joint/rate limit에 다시 통과시켜야 하는 이유를 설명한다.
  4. stale/NaN/다른 phase proposal을 ensemble 전에 제거하고 E-stop/reset에서 history를 비운다.

2부: 감독기

python code/safety_supervisor.py
  1. OFFLINE → DRY_RUN을 승인 없이 시도한다.
  2. 단계를 건너뛰어 DRY_RUN → BOUNDED로 승격을 시도한다.
  3. NaN target, timeout, workspace 위반을 각각 주입한다.
  4. human_approval=True, pose_aligned=False로 fault reset을 시도한다.
  5. 두 조건을 모두 만족시킨 뒤 reset이 항상 DRY_RUN으로 돌아가는지 확인한다.

상태 전이 설계 과제

다음 사건을 상태 전이표에 추가한다.

  • 카메라 serial 변경
  • 정책 checkpoint hash 변경
  • 세 번 연속 deadline miss
  • E-stop 입력
  • 그리퍼 과전류

각 사건에서 자동 복구 허용 여부와 사람이 확인할 항목을 적는다.

가상실습: 안전 게이트와 오래된 명령

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

명령의 나이를 TTL보다 크게 만들어 보세요. 속도 제한과 비상 정지가 각각 출력에 어떤 영향을 주는지 확인하고, 재개 조건을 보고서에 설명합니다.

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

안전 게이트는 유효 시간, 비상 정지, 속도 제한을 독립적으로 검사합니다. 이 단순 모형은 관절 제한·충돌·상태 머신 전체를 재현하지 않습니다. 실제 장비는 E-stop 해제만으로 자동 재개해서는 안 됩니다.

직접 답하고 피드백 받기

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

1. 수행 결과와 근거

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

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

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