본문으로 건너뛰기

[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

임의 길이 78·64 mm, 관절 제한이 없는 평면 2링크 모형입니다. 실제 SO-101 치수가 아닙니다. 도달 반경은 14 ≤ r ≤ 142 mm이며 원점은 제외됩니다. 현재 r=132.0 mm. 양의 q₂를 택한 해석적 IK 해가 있습니다. 해석적 IK의 양의 q₂ 한 분기이며 DLS가 아닙니다. ±180° 슬라이더는 교육용 각도 표시이고 실제 SO-101 관절 한계가 아닙니다. 각도 동치를 이용한 보간은 관절 제한·충돌·연속해 선택이나 안전한 연속 궤적을 보장하지 않습니다. 화면의 목표 근접 표시는 오차 3 mm 미만입니다.

수동 관절 조작

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

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

직접 답하고 피드백 받기

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

1. 수행 결과와 근거

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

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

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