본문으로 건너뛰기

M30.02 · Domain Randomization·System Identification·수집 재설계

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 식별/랜덤화·자료 수집 변경의 목적과 가설/계약 오류에 맞는 선택을 구분한다.
  • 합성 정상 속도 모형의 계수·검증 잔차/가정과 랜덤화 범위를 계산한다.
  • 조건/그룹·불확실성에 맞춰 수집/선택·독립 시험과 수정 후 평가를 설계한다.

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

권장 선수

M02의 선형/최소제곱, M20의 그룹 수집과 M30.01의 오차 가설을 사용한다. 최소제곱 두 계수/식별 가능성과 분포 범위를 본문에서 보충한다. 기본은 합성 표/표준 Python 계산이며 실제 수집·모델 학습/장비 실험은 하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

무엇을 알아내고 무엇을 넓힐지 구분한다

System Identification은 입출력 관측으로 시스템의 모형/파라미터를 추정하는 식별이다. 이미 정한 구조의 관성/마찰·지연 계수를 맞출 수도 있고 모형 구조를 비교할 수도 있다. Domain Randomization은 조명/질감·물리/센서 파라미터 등을 정한 분포에서 바꾸어 다양한 조건을 만들고 학습/시험하는 접근이다. 자료 수집 재설계는 빠진 조건/실패·개입·시간 계약 등을 기록/분할하는 방식을 바꾸는 작업이다. 세 방법은 보완 관계지만 같은 문제를 자동으로 해결하지 않는다.

예를 들어 τ가 같은데 가속/속도가 다르면 동역학/구동 가설과 식별 자료를 검토하고, 조명 변화에만 인지가 약하면 해당 관측 조건/표현과 시각 다양화를 검토한다. 희귀 실패/물체를 학습에서 보지 못했다면 조건별 수집이 필요할 수 있다. rad/degree나 absolute/delta가 섞인 계약 오류를 무작위 범위로 덮지는 않는다. M30.01의 경로/대안 가설을 먼저 확인한다.

MIT 저자 System Identification은 모형 적합 문제와 한 단계 예측 오차/장기 simulation 오차의 차이를 다룬다. 작은 자료에 맞는 모형이 모든 상태/폐루프에 맞는 것은 아니다. Tobin 등 논문의 렌더링 다양화/전이 사례도 임의의 로봇/구동·시간 차이에 대한 보장은 아니다. 아래 모형은 그 연구 성과를 재현하지 않고 두 접근의 역할을 계산한다.

양의 정상 속도에서 두 계수를 적합한다

가상 한 축이 양의 각속도 ω로 일정하게 움직이며 가속/중력/외력 등 다른 항을 제외했다고 하자. 저항과 균형을 이루는 양의 적용 토크 τ를 τ=c+bω로 근사한다. c는 이 양의 운동 구간의 일정 저항 토크(N·m), b는 속도 비례 계수(N·m·s/rad), ω는 rad/s다. 이는 정지 마찰/역방향·백래시나 모든 속도의 모형이 아니다. 측정 토크/속도는 동일 축/정상 구간으로 정렬되어 있다고 입력한다.

적합 자료는 (ω,τ)=(1,0.07),(2,0.09),(3,0.11)이다. ω가 1 증가할 때 τ가 0.02 증가하므로 b=0.02, c=0.07−0.02×1=0.05다. 평균 속도는 2, 평균 토크는 0.09다. 잡음이 있는 일반 자료에서는 관측과 예측 차이의 제곱 합을 최소화하는 두 계수를 구할 수 있다. 평균을 각각 ω_bar/τ_bar라 하고 자료 순서를 i로 쓰면 다음 식이다.

b=∑i(ωi−ωˉ)(τi−τˉ)∑i(ωi−ωˉ)2,c=τˉ−bωˉ.b=\frac{\sum_i(\omega_i-\bar\omega)(\tau_i-\bar\tau)}{\sum_i(\omega_i-\bar\omega)^2},\qquad c=\bar\tau-b\bar\omega.

분모가 0이면 모든 속도가 같아 이 방식으로 두 계수를 분리할 수 없다. ω=2에서 τ=0.09만 반복 관측하면 c+2b=0.09를 만족하는 조합이 여럿이다. 데이터를 많이 복제해도 속도 다양성이 없다는 문제는 사라지지 않는다. 센서/환산 잡음과 속도 추정 오차가 있으면 단순 적합 계수에도 불확실성·편향이 남을 수 있다.

적합한 행과 다른 행에서 예측을 확인한다

선택적 완전한 표준 Python 예제는 위 표의 계수를 계산한다. 입력은 합성값이며 실제 식별 실험/구동기 측정을 한 것이 아니다.

speed = [1.0, 2.0, 3.0]
torque = [0.07, 0.09, 0.11]
mx, my = sum(speed)/len(speed), sum(torque)/len(torque)
den = sum((x-mx)**2 for x in speed)
if den == 0:
    raise ValueError("speed variation is required")
b = sum((x-mx)*(y-my) for x, y in zip(speed, torque))/den
c = my - b*mx
pred = c + b*4.0
print(f"b={b:.3f} c={c:.3f}")
print(f"pred={pred:.3f} residual={0.15-pred:.3f}")

기대 출력은 b=0.020 c=0.050과 pred=0.130 residual=0.020이다. 이 계산은 작성 환경 Darwin/macOS·Python 3.13.4 CPU에서 확인했다. 별도 검증 행 ω=4/τ=0.15에서 예측은 0.13 N·m이고 관측−예측 잔차는 +0.02 N·m다. 적합 행의 오차는 0이지만 새 속도에서는 차이가 남는다. 모형 누락/부하·환산·온도 등 대안을 확인하며, 이를 실제 마찰의 참값이라고 선언하지 않는다.

검증 행을 보고 모형/계수를 다시 선택하면 그 행은 선택에 사용한 자료가 된다. 독립 최종 시험은 따로 남겨야 한다. 한 단계 잔차만 작게 만들고도 반복 전이/접촉·제어 동작이 다를 수 있어 실제 사용 목적의 장기 경로/조건별 지표도 필요하다. 이 단위의 정적 표 적합을 실제 폐루프 안정성 검증으로 확대하지 않는다.

랜덤 범위는 근거와 물리적 조합을 가진다

합성 랜덤화 후보를 c=0.04~0.06 N·m, b=0.015~0.025 N·m·s/rad에서 각각 균등 샘플한다고 하자. 균등은 이 구간에서 같은 길이의 부분 구간을 같은 확률로 뽑는다는 뜻이다. 독립 샘플 가정은 과제에서 정한 것이며 실제 계수 간 관계가 독립이라는 증거가 아니다. 양의 ω=2에서 토크의 가능한 범위는 0.04+0.015×2=0.07부터 0.06+0.025×2=0.11 N·m다.

이 구간이 적합 자료의 0.09를 포함한다고 실제 전이가 보장되지는 않는다. 단일 고정 모형이 맞지 않는 원인·시간/센서 차이를 빠뜨렸을 수 있고, 동일 범위 안에서도 정책이 학습하지 못할 수 있다. 범위를 크게 잡으면 항상 좋다는 법칙도 없다. 물리적으로 불가능한 계수 조합이나 관측/행동 계약을 깨는 랜덤화는 과업을 바꿔 버린다. 예를 들어 카메라 외부 파라미터를 바꾸면 영상/정답 좌표의 관계도 일관되게 유지해야 한다.

시각/시간·동역학 범위를 한꺼번에 바꾸기 전에 범주별 비교로 민감도를 확인한다. 측정/문서·불확실성을 근거로 분포와 상관/고정 조건을 기록한다. seed는 같은 난수 절차를 재현하는 데 도움을 주지만 소프트웨어/장치·데이터/모든 연산의 동일성을 보장하지 않는다. 학습용 랜덤 조건과 평가할 잠근 조건/새 조건을 분리한다.

수집 계획에는 실패와 독립 그룹도 들어간다

자료 수집 표에는 조건(조명/물체·부하/속도/방향), 반복/세션, 입력/출력·센서 기준/시각·포화/오류/개입을 둔다. 이 과제에서는 실제 실험 대신 어떤 기록이 필요할지 설계한다. 정상 속도만 있으면 정지/반전과 접촉을 판단할 수 없고 성공만 저장하면 실패 조건이 사라진다. 실패 시연을 곧바로 모방 목표로 학습시키는 대신 용도/품질·수정 구간을 명시한다.

같은 세션의 인접 프레임/증강본은 같은 그룹으로 관리해 학습/시험의 중복을 막는다. 모형 식별/랜덤 범위 선택에 쓴 기록과 최종 시험을 나눈다. 수정 전후 입력/모델·통계/버전과 조건별 성공/잔차·지연을 함께 남겨 효과를 평가한다. 기존 6.1 Reality Gap과 5.4 데이터 품질을 연결하자. 합성 적합/범위 계산은 실제 장비의 식별/수집·일반화 성과가 아니다.

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

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

    4.6 Domain Randomization

    목표 일부 관련

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

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

    2.9 물리 파라미터 튜닝 절차

    목표 일부 관련

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

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

    5.4 데이터 수집과 품질 관리

    목표 일부 관련

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

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

    6.1 Reality Gap의 구조

    목표 일부 관련

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

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

    Reality Gap을 원인 지도로 바꾸기

    목표 일부 관련

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

학습 범위와 한계

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

실습 필수

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

입력은 본문 세 적합 행과 별도 (4,0.15) 검증 행, c/b 랜덤 범위다. 추가 가상 자료는 같은 세션의 인접 프레임이 train/test에 나뉘었고 모든 기록이 양의 정상 속도·정상 조명 성공뿐이라고 한다.

  1. 식별/랜덤화·수집 변경이 각각 무엇을 해결하고 무엇을 보장하지 않는지 가설에 연결한다.
  2. b/c·분모/검증 예측/잔차와 ω=2의 범위를 계산한다. 정지/역방향·동일 속도만의 한계도 적는다.
  3. 현재 수집/분할의 빈 조건·중복을 찾고 자료 용도/기준·수정 후 선택/독립 시험을 설계한다.

관찰은 접근 선택, 계산/가정, 자료/검증의 세 열이다. 막히면 평균과 단위를 적고 적합/검증 행을 다른 표로 나눈다. 코드는 선택이며 실제 수집/학습은 필요하지 않다.

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

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

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

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

    실습 2-C: 마찰·반발·질량 파라미터 보정

    목표 일부 관련

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

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

    02_physx_simulation/code/contact_estimator.py

    목표 충족 범위 없음

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

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

시간 단위가 ms/s로 섞였는데 물리 계수의 랜덤 범위만 넓히려 한다. 적절한가? 식별/랜덤화·수집 재설계의 역할을 구분하라.

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

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

확인 문제 Q2

같은 양의 정상 속도 모형에서 (1,0.08),(3,0.12)만 주어진다. b/c와 ω=2 예측을 구하라. 동일 ω=2의 행만 여러 번 있으면 두 계수를 이 방식으로 분리할 수 있는가?

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

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

확인 문제 Q3

검증 잔차를 보고 랜덤 범위를 여러 번 바꿨고 같은 세션의 다른 프레임으로 최종 성공률을 보고했다. 어떤 한계/누수가 있는가? 필요한 새 근거를 제안하라.

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

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

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

  • 기존 보고서 · 관련 기존 자료 · 보충 참고

    실습 보고서 · 기존 원고와 평가 안내

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 요약 점검 · 관련 기존 자료 · 보충 참고

    여러 파라미터를 한 번에 바꾸지 않는 이유는?

    목표 일부 관련

    단답은 키워드 포함 여부이며 의미 이해를 보장하지 않음

    기존 교재 해설·평가 기준을 참고할 수 있습니다. 답안 평가 후 화면의 비교 항목도 확인하세요.

학습 범위와 한계

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

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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