본문으로 건너뛰기

M20.01 · SO-101·Leader-Follower·영점·스케일·클러치

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • SO-101 Leader/Follower의 장치·관절/보정 식별과 raw tick·각도·정규화 값의 단위를 구분한다.
  • 합성 상대 매핑과 클러치 재기준을 계산하고 영점/방향·스케일 오류와 재연결 점프를 설명한다.
  • 목표 제한과 실제 관측을 구분해 전송/기록 계약을 설계하고 제한·통신/보정 상태의 실패를 진단한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M03의 엔코더/구동, M06.06의 영점/범위와 M19의 상태/공구 계약을 연결한다. 실제 SO-101은 필요하지 않으며 숫자는 합성 보정/로그다. 클러치는 본문의 교육용 상대 매핑 설계이고 LeRobot의 내장 기능으로 가정하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

두 팔을 연결하기 전에 같은 의미의 숫자인지 확인한다

Leader-Follower는 사람이 조작하는 leader의 상태를 읽어 follower의 목표를 만드는 방식이다. SO-101의 두 팔이 닮았더라도 포트/장치 ID·모터 ID와 관절 순서, 기구 영점/회전 방향·유효 범위가 같다고 가정하지 않는다. 배열 첫 번째 숫자를 첫 번째 모터에 그대로 복사하는 것보다 이름별 계약을 먼저 확인해야 한다. 그리퍼도 팔의 일반 회전 관절과 별도 의미일 수 있다.

공식 SO-101 안내는 leader/follower의 구성을 구별하고 보정/식별 절차를 제공한다. 여기서는 장비를 연결하거나 토크/전원을 조작하지 않고 이미 주어진 보정 레코드를 검토한다. 같은 의미의 물리 자세가 같은 목표 의미로 이어져야 한다는 원칙과 실제 보정 실행은 다른 일이다. 부품/조립·펌웨어/설정이 달라지면 과거 보정 파일을 그대로 승인하지 않는다.

raw tick은 엔코더가 제공한 수치 단위다. 이를 rad/degree나 정규화 값으로 바꾸는 규칙은 해당 설정/보정에 의존한다. 한 회전의 count 수만 알더라도 tick0이 어느 물리 방향인지, 센서가 감속기 앞/뒤인지와 wrap/다회전 표현을 모르면 관절각이 완성되지 않는다. 이미 출력축 각도로 변환된 값에 기어비를 또 곱하지 않는다.

영점·스케일·방향을 각각 적는다

합성 한 관절의 변환을 q_L=s_L(r_L−r₀)라고 하자. r_L은 leader tick, r₀는 기준 tick, s_L은 출력축 rad/tick의 부호 있는 스케일이고 q_L은 기준에 대한 각도(rad)다. r₀=1000 tick, s_L=0.002 rad/tick, r_L=1100 tick이면 q_L=0.2 rad다. r₀를 1050으로 잘못 읽으면 0.1 rad가 되고, 부호를 반대로 쓰면−0.2 rad가 된다. 단순 offset 오류와 방향 오류를 서로 다른 항목으로 진단한다.

Leader 명령과 Follower 관측: Leader 관절 측정 → 매핑/클러치 → Follower 목표 → Follower 실제 상태.그림 원본 크기로 보기

그림 M20.01-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

이 선형식은 입력으로 준 제한 구간에서만 쓰는 교육용 보정이다. 실제 구현의 homing/range·정규화와 동일한 알고리즘이라고 주장하지 않는다. 한 점에서 offset을 맞추는 것만으로 전 범위 스케일/비선형성·백래시를 확인할 수 없으므로 여러 기준 위치와 별도 검증 자료가 필요하다. 유효 범위 밖이나 비유한 값은 정상 관측으로 넣지 않는다.

현재 LeRobot SOFollower 공식 소스는 설정에 따라 일반 관절의 degree 또는 범위 정규화를 택하고 그리퍼를 별도의 0~100 범위로 구성한다. main은 변경될 수 있으므로 재현 시 commit/설정과 실제 feature 의미를 고정한다. 이 값을 모든 버전의 rad 배열로 읽어서는 안 된다. 예를 들어 그리퍼 50은 해당 정규화 좌표이며 0.5 m 간격이나 50 rad가 아니다. 물리 간격과의 대응은 별도 보정/모형으로 확인한다.

상대 매핑은 기준점을 명시해야 한다

편의를 위해 leader가 움직인 만큼 follower 목표를 상대적으로 옮기는 교육용 매핑을 정의한다. q_La는 연결 시 leader 기준 각도, q_Fa는 follower 기준 각도, k는 양의 무차원 배율, ε는 방향을 나타내는+1 또는−1이다. 목표 q_F*는 아래처럼 계산한다.

qF∗=qFa+εk(qL−qLa).q_F^*=q_{Fa}+\varepsilon k(q_L-q_{La}).

이것은 절대 관절값 복사와 다른 계약이다. q_La=0.2 rad, q_Fa=0.5 rad, k=0.5, ε=−1에서 q_L=0.4 rad면 leader 변화는+0.2, follower 목표 변화는−0.1이므로 q_F*=0.4 rad다. 배율을 0.25로 바꾸면 목표는 0.45 rad다. 각도/정규화가 섞여 있을 때 k를 무차원이라 쓰면 안 되므로 먼저 같은 각도 표현으로 변환한다.

절대 복사/상대 매핑 중 어느 쪽이 언제나 더 좋은 것은 아니다. 기구학·관절 대응과 작업의 목적에 맞춰 선택하고, 서로 다른 관절 수/작업 자유도라면 단순 관절 복사가 아닌 과업 공간 매핑이 필요할 수 있다. 이 단위의 한 관절 식으로 전체 TCP 경로를 검증했다고 하지 않는다.

클러치는 끊기와 재기준을 함께 정의한다

여기서 클러치란 leader를 재배치하는 동안 follower 목표의 상대 연결을 잠시 끊는 입력이다. 클러치 중에는 follower로 새 상대 변화를 전달하지 않고 유지/정지 정책을 적용한다. 단순히 마지막 목표를 보관했다는 소프트웨어 사실이 실제 모터의 자세 유지나 안전 정지를 보장하지 않으므로, 통신/제어 상태에 맞춘 동작을 따로 정의한다.

위 사례에서 목표 0.4 rad를 보관한 동안 leader를−0.3 rad로 옮겼다고 하자. 해제 시 옛 기준 q_La=0.2/q_Fa=0.5를 그대로 쓰면 목표는 0.5+(−1)×0.5×(−0.3−0.2)=0.75 rad가 된다. 이전 0.4에서 갑자기 0.35 rad가 바뀐다. 클러치를 눌렀다는 플래그만으로 이런 점프가 없어지는 것은 아니다.

해제 시 follower 실제 관측이 0.41 rad이고 유효/최신이라고 확인됐다고 하자. 새 기준을 q_La=−0.3, q_Fa=0.41로 정하면 해제 순간 목표는 0.41 rad다. 이후 leader가−0.1로 움직이면 목표는 0.41−0.5×0.2=0.31 rad다. follower 관측이 오래됐거나 누락됐다면 재기준을 완료했다고 표시하지 않고 보류한다. 보관 목표 0.4와 실제 0.41의 차이도 로그에 남긴다.

제한 뒤 목표와 실제 동작을 다른 열에 남긴다

새 목표가 합법적인 각도여도 한 주기에 너무 큰 변화를 요구할 수 있다. 합성 속도 상한 v_max=0.5 rad/s, 실제 계산 간격 Δt=0.02 s이면 한 번의 허용 변화 크기는 v_maxΔt=0.01 rad다. 현재 관측 0.41에서 희망 목표 0.31로 한 번에−0.1을 보내는 대신, 이 제한 모형에서는 다음 출력 목표를 0.40 rad로 제한한다. 다음 주기의 기준/관측·시간도 다시 확인해야 한다.

이 계산은 목표 변화 제한이지 실제 속도/토크가 한계 안이라는 측정 증거가 아니다. 위치/속도·작업 공간/충돌, 최신성/TTL과 통신 상태를 함께 검사한다. Δt가 너무 크거나 음수·미상일 때 큰 이동을 허용하는 근거로 삼지 말고 정해진 실패 정책을 적용한다. 장비별 정지/비상정지 기능은 교육용 소프트웨어 제한과 별도다.

시연 데이터에는 raw/보정 값, 희망 목표·제한 후 전송 목표·실제 follower 관측을 구분해 남긴다. 학습할 action을 어느 열로 정의했는지 명시해야 정책이 실제로 실행하지 않은 큰 목표를 정답으로 배우는 문제를 검토할 수 있다. 클러치 시작/해제·재기준, 제한 발생과 지연/누락도 기록하며 정상 시연으로 숨기지 않는다. 보정 ID/파일 hash·관절 이름/단위, 장치/소프트웨어 버전과 시간 기준을 묶어야 나중에 의미를 복원할 수 있다.

기존 3.4 Leader-Follower 캘리브레이션과 기존 3.5 실행 루프는 실제 구현의 계약을 연결하는 자료다. 하드웨어 명령은 이번 활동에 사용하지 않으며 아래 수치만으로 검토한다.

관련 기존 자료 · 보충해서 읽기

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    3.4 Leader-Follower 캘리브레이션

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    3.5 안전한 텔레오퍼레이션 루프

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    3.8 트러블슈팅

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 요약 레슨 · 관련 기존 자료 · 보충 참고

    안전한 Leader-Follower 루프

    목표 일부 관련

    핵심 요약 레슨입니다. 자세한 유도·수식·코드는 연결된 상세 본문을 함께 읽으세요.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 본문의 한 관절 보정·상대 매핑과 클러치 전후 값, follower0.41/희망 0.31 및 속도/간격이다. 그리퍼 기록은 정규화 50이고 물리 간격 보정은 없다. follower 관측은 재기준 시점에 유효/최신이라고 주어진다.

  1. leader 각도와 그리퍼 값의 의미를 구분한다. 필요한 장치/관절·보정 식별 자료를 적는다.
  2. 초기 상대 목표, 옛 기준 해제 시 점프, 재기준 해제/이후 목표를 계산한다. 배율 0.25 변형도 계산한다.
  3. 속도 제한 후 다음 목표를 계산하고 로그 열/클러치·제한·시간 실패의 처리 근거를 설계한다. 실제 유지/속도를 측정했다고 볼 수 있는지도 설명한다.

관찰은 표현/식별, 상대 매핑/클러치, 제한/기록으로 나눈다. 막히면 기준값·현재 관측·희망 목표를 다른 칸에 쓰고 모든 각도를 rad로 맞춘다. 실물/시리얼 통신은 하지 않는다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

  • 기존 실습 원고 · 관련 기존 자료 · 보충 참고

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

    목표 일부 관련

    실습 원고 참조. 로컬/ROS/Isaac/GPU/실물 실행과 장비 없는 기본 경로의 목표 검수는 미실시. 연결된 원고의 환경·절차를 확인하세요. 원고 열람은 실습 수행을 뜻하지 않습니다.

  • 코드·원본 파일 · 관련 기존 자료 · 보충 참고

    03_so101_kinematics_teleop/code/safe_teleop_core.py

    목표 충족 범위 없음

    파일 열람은 코드 실행·실습 완료를 뜻하지 않습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

같은 합성 보정에서 r_L=1150 tick이면 q_L은 얼마인가? 같은 파일의 그리퍼 50도 50 rad로 넣어도 되는가? 이름/보정 ID가 필요한 이유를 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

ε=+1/k=0.5, 재기준 시 q_La=−0.2/q_Fa=0.3 rad다. leader가 0으로 움직이면 목표는 얼마인가? 재기준에 사용한 follower 관측 시각이 미상이라면 해제를 승인할 수 있는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

현재 0.2 rad, 희망 0.3 rad, Δt=0.04 s/v_max=0.5 rad/s다. 이 제한 모형의 다음 목표를 계산하라. 희망값을 action 정답으로만 기록하면 무엇이 빠지는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.