[SIM] [SAFETY] 실습 3-2: Leader-Follower 안전 필터

cd ebook/book/03_so101_kinematics_teleop

목표

  • 이름 기반 관절 매핑, soft limit, slew-rate limit, watchdog을 실험한다.
  • 정상 운전과 HOLD/FAULT 전이를 구분한다.

안전 경계

이 실습은 code/safe_teleop_core.py의 메모리 내 숫자만 처리한다. 모터 송신 코드를 추가하지 않는다.

절차

  1. python code/safe_teleop_core.py를 실행한다.
  2. Leader의 shoulder_pan 목표를 상한보다 크게 바꾸고 clamp 결과를 확인한다.
  3. 한 관절을 삭제한 dict를 입력해 FAULT가 되는지 확인한다.
  4. 한 값을 float("nan")으로 바꿔 프레임 거부를 확인한다.
  5. deadman=False로 호출해 측정 자세를 유지하는지 확인한다.
  6. timeout을 0.05 s로 줄이고 워치독을 실험한다.
  7. MAX_RATE를 높였을 때 첫 프레임의 변화량과 위험을 설명한다.

설계 확장

  • FAULT 이후에는 새 프레임만으로 자동 복구되지 않고 reset_fault()를 요구하도록 바꾼다.
  • 캘리브레이션 ID와 URDF 해시를 입력 계약에 추가한다.
  • 관절 clamp가 연속 5회 발생하면 작업 공간 명령을 거부하도록 한다.

제출물

  • 상태 전이표
  • 각 실패 입력에 대한 예상 상태와 실제 상태
  • 실물 적용 전 추가해야 할 하드웨어 독립 안전장치 목록

장비 없이 먼저 해보기

가상실습

실제 장비의 정밀한 동작을 재현하는 대신, 제어값을 바꾸고 결과를 관찰하는 실습 흐름을 안전하게 연습합니다.

Browser simulation

2링크 로봇팔 기구학

관절각을 직접 바꾸어 순기구학을 관찰하거나, 목표점을 정해 단순 역기구학 추종을 실행합니다.

개념 모형
실습 과제: 관절각을 바꿔 말단 위치를 예측한 뒤, 목표점을 이동하고 역기구학 추종 결과와 비교하세요.
초록: 목표 · 주황: 말단

말단 X

97.7mm

말단 Y

91.0mm

위치 오차

42.3mm

수동 관절 조작

  • ›대기: 목표점을 정하고 추종을 실행하세요.
단순화 안내: 지연, 마찰, 백래시, 센서 비선형성 등 실제 장비의 모든 특성을 재현하지 않습니다. 실물 적용 전에는 저속·제한된 작업공간·비상 정지 조건에서 다시 검증하세요.
가상실습 해설과 적용 범위

관절각과 목표 위치의 관계를 먼저 확인하세요. 이 기구학 모형만으로 안전한 텔레오퍼레이션이 보장되지는 않습니다. 아래 보고서에서는 정렬, timeout, 속도 제한, 자동 재개 금지 조건을 별도로 설명하세요.

직접 답하고 피드백 받기

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

1. 수행 결과와 근거

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

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

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