본문으로 건너뛰기

M07.06 · 필터·지연·jitter·센서 잡음과 제어 품질

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 가상 1차/이동평균 필터를 계산하고 잡음 평균의 분산 감소 조건과 지연을 설명한다.
  • 동일 시계의 합성 로그에서 경로 지연·처리 시간·실제 주기와 정의한 jitter를 구별하여 계산한다.
  • 필터·샘플 지연·포화와 추종 지표를 함께 검토하여 제어 품질의 절충 및 실제 검증의 한계를 설명한다.

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

권장 선수

M02.04의 분산/독립성, M05.06의 시계/주기, M07.03~05의 미분 잡음·위상·추종이 선수다. 종이 계산이 기본이며 실제 센서·네트워크·제어기를 실행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

부드러운 값이 항상 더 좋은 피드백은 아니다

센서 잡음은 측정이 변하는 원인 중 하나다. 실제 운동·보정 오차·시간 불일치·단위 오류와 모두 같은 것으로 취급하지 않는다. 잡음을 줄이는 필터는 관심 신호의 빠른 변화도 늦추거나 줄일 수 있다. 제어기는 그 측정을 보고 입력을 정하므로 화면이 부드러워졌다는 사실만으로 제어 품질이 좋아졌다고 판단하지 않는다. 원시 측정·필터 출력·목표·입력을 같은 시각 기준으로 비교한다.

정규화 원시 측정을 y[k], 필터 출력을 z[k], 샘플 번호를 k라고 하자. 다음 1차 지수 필터는 직전 출력과 새 측정을 섞는다. α는 0≤α<1의 무차원 계수다. 초기 z[−1]도 모델의 일부다.

z[k]=αz[k−1]+(1−α)y[k].z[k]=\alpha z[k-1]+(1-\alpha)y[k].

α=0.8, 초기 출력 0에서 첫 입력이 1이면 z[0]=0.2다. 다음 입력이 0이면 z[1]=0.16이다. 원시 스파이크가 줄었지만 그 영향은 다음 표본에도 남았다. 입력이 계속 1인 계단이라면 두 번째 출력은 0.36으로 느리게 따라간다. 두 입력 시나리오를 섞지 않는다. α가 1에 가까우면 과거 출력의 비중이 커지지만, 최적값은 대상의 대역폭과 잡음·지연 요구에 따라 달라진다.

위 z[k]는 k번째 측정을 받은 직후 갱신한 출력이다. 계수의 시간 스케일을 비교할 때는 연속 1차 필터의 ZOH 계수 관계 α=e^(−T/τ)를 참고할 수 있다. τ는 시간상수(s)다. 연속 모델에서 구간 시작값을 w[k]라 하고 입력 y[k]를 T 동안 유지하면 구간 끝값은 w[k+1]=αw[k]+(1−α)y[k]다. 현재 측정 뒤의 z[k]와 구간 끝의 w[k+1]은 시점 표기가 다르며 같은 인덱스의 물리 시각을 뜻한다고 가정하지 않는다. T=0.1 s와 α=0.8이면 τ=−T/ln α≈0.4481 s다. α를 그대로 두고 T만 바꾸면 실제 초 단위의 필터 특성도 바뀐다. 같은 τ를 유지하면서 T를 0.05 s로 바꾸면 α는 √0.8≈0.8944가 된다. 이 관계는 일정 간격의 해당 1차 필터 모델에 대한 것이며 임의의 가변 표본 처리를 자동 보장하지 않는다.

평균은 무엇을 줄이고 무엇을 늦추는가

최근 세 표본을 같은 가중치로 평균하는 인과 이동평균은 z[k]=(y[k]+y[k−1]+y[k−2])/3이다. T=0.1 s, 기울기 1/s인 가상 램프의 최근 값이 0,0.1,0.2라면 현재 y=0.2일 때 평균은 0.1이다. 이 램프에서는 한 표본, 즉 0.1 s만큼 뒤처진 값과 같다. 모든 신호에서 단순한 고정 이동 하나로 완전히 같은 모양을 보존하는 필터라는 뜻은 아니다.

잡음 n1, n2, n3가 평균 0, 서로 독립이며 각각 같은 분산 σ²를 가진다고 하자. 세 잡음값을 평균한 값의 분산은 합의 분산을 9로 나누므로 (3σ²)/9=σ²/3이다. 표준편차는 σ/√3이다. σ=0.06이면 원래 분산 0.0036, 평균의 분산 0.0012, 표준편차 약 0.03464다. 분산과 표준편차를 둘 다 3으로 나누면 틀린다. M02.04의 독립/공분산 조건을 여기에도 적용한다.

독립성이 깨지면 공분산 항이 추가된다. 세 잡음이 매번 같은 값으로 함께 움직이는 완전 상관의 경우 평균을 내도 그 값은 그대로여서 표준편차 0.06이 줄지 않는다. 센서의 공통 바이어스나 빠른 반복 표본의 상관도 점검해야 한다. 평균이 모든 오차를 없애거나 보정의 정확도를 보장한다고 말하지 않는다. 표본 간격이 불규칙할 때 최근 세 개의 평균은 일정 시간 폭의 평균과도 다를 수 있다.

지연 경로와 반복 주기를 따로 읽는다

모든 시각이 비교 가능한 같은 시계라는 합성 경로를 보자. 생성 0 ms, 수신 15 ms, 콜백 시작 25 ms, 종료 30 ms, 적용 45 ms다. 생성→수신은 15 ms, 대기는 10 ms, 처리는 5 ms, 종료→적용은 15 ms로 전체는 45 ms다. 콜백만 재면 5 ms이지만 관측에서 적용까지는 45 ms다. 실제 분산 장비에서 이런 차이를 재려면 시계 동기화와 사건 정의의 오차도 필요하다.

목표 주기가 20 ms라고 전체 지연 45 ms를 곧바로 ‘주기 실패’와 같다고 판정하지 않는다. 파이프라인이 겹쳐 실행되면 새 결과가 20 ms 간격으로 나와도 각 결과의 나이는 45 ms일 수 있다. 반대로 처리 한 부분이 5 ms라는 사실도 전체 주기를 입증하지 않는다. 가상 시작 시각 0/20/43/60 ms의 간격은 20/23/17 ms다. jitter를 목표 간격에서의 편차로 정의하면 0/+3/−3 ms이고 최대 절댓값은 3 ms다. 지연·주기·편차를 같은 숫자로 보고하지 않는다.

실제 입력까지 추가 대기하는 샘플 지연도 있다. 간격 T=0.1 s에 정수 지연 d=3표본이면 명령 지연은 0.3 s다. 여기의 d는 표본 수이며 앞 단위의 초 단위 지연과 구분한다. 일정한 순수 지연 모델을 가정하면 각주파수 2 rad/s에서 추가 위상은 −2×0.3=−0.6 rad≈−34.38도다. 필터로 잡음을 줄여도 이와 같은 위상 손실과 관측의 오래됨이 추종을 악화할 수 있다.

제어 품질은 여러 증거로 판단한다

필터 전후의 오차 RMS만 비교하면 충분하지 않다. 원시/필터 측정의 시간 정합, 급격한 목표나 외란 뒤의 최대 오차와 회복, 입력 peak와 포화 지속, 실제 적용 입력 및 주기 분포를 함께 본다. 잡음이 줄어 입력 진동은 작아졌지만 늦은 측정 때문에 외란 복구가 더 느려질 수도 있다. 두 설정 중 무엇이 좋은지는 허용 오차·입력 한계·복구 시간 같은 요구가 있어야 결정한다. 부드러운 화면이나 낮은 평균값 하나로 전체 품질 순위를 매기지 않는다.

필터나 이전 측정 상태를 언제 초기화하는지도 중요하다. ROS 시간의 reset·긴 누락·프레임 변경 뒤에 옛 표본을 그대로 섞으면 물리적으로 다른 시점/좌표를 평균할 수 있다. 어떤 시계로 간격을 쟀는지, 누락 시 보류/재초기화 정책이 무엇인지 기록한다. 이 정책은 응용의 계약이며 모든 ROS 도구가 자동으로 같은 처리를 한다는 뜻은 아니다.

선택 보충인 PID 지연 개념 모형은 정규화 1차 plant·정수 샘플 명령 지연·이산 PID와 포화를 비교하는 별도 모델이다. 실제 센서 필터나 네트워크·마찰·모터를 재현하지 않으며 exact ZOH로 계산한 가상 응답이다. 아래 필터/잡음/로그 계산은 이 위젯 없이 수행한다. 기존 4장의 센서 파이프라인과 연결할 때도 필터의 표시 효과와 실제 관측/제어 품질을 구별한다.

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

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

    6.2 정량 진단

    목표 일부 관련

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

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

    6.3 출력 안정화

    목표 일부 관련

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

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

    5.9 20 Hz 폐루프 추론

    목표 일부 관련

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

학습 범위와 한계

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

실습 필수

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

입력 A는 α=0.8, 초기 출력 0인 필터에 원시값 1,0이 순서대로 들어오는 기록이다. 별도 3점 평균은 독립 잡음 σ=0.06과 램프 0/0.1/0.2, T=0.1 s다. 입력 B는 본문의 생성/수신/시작/종료/적용 시각과 시작 0/20/43/60 ms다. 명령 지연은 T=0.1 s, d=3이다.

  1. A의 두 출력과 3점 잡음 평균의 분산/표준편차, 램프에서의 뒤처짐을 구한다. 잡음이 완전 상관이면 무엇이 달라지는지 설명한다.
  2. B의 구간별/전체 지연과 처리 시간, 시작 간격과 jitter를 구한다. 전체 45 ms와 목표 주기 20 ms를 같은 실패 판정으로 읽어도 되는지 쓴다.
  3. 명령 지연의 초 단위 값과 2 rad/s에서의 추가 위상을 계산한다. 필터를 더 강하게 하면 항상 좋다는 주장을 판정하고 필요한 추종/입력/시간 기록을 제안한다.

실제 장비나 네트워크를 조작하지 않는다. 막히면 필터의 초기값·표본 수·시간 단위를 먼저 쓴다. 서로 다른 시계의 숫자를 검증 없이 빼지 않는다.

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

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

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

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

    06_sim2real_deployment/code/temporal_filters.py

    목표 충족 범위 없음

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

  • 브라우저 계산 모형 · 관련 기존 자료 · 보충 참고

    1차원 비례 제어·입력 포화·주기 외란

    목표 일부 관련

    PID 전체·실제 모바일 운동학·물리 검증 아님 브라우저 근사 계산이며 ROS·물리 엔진·GPU·실물 실행 결과가 아닙니다.

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

α=0.8, 초기 0에서 측정 1,0의 필터 출력을 구하라. 독립 잡음 세 개의 평균에서 σ=0.06의 표준편차가 0.02가 아닌 이유와 완전 상관의 결과를 설명하라. T=0.1 s의 램프 0/0.1/0.2를 평균하면 현재값보다 얼마나 뒤처지는지도 구하라.

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

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

확인 문제 Q2

같은 시계의 가상 경로가 생성 0/수신 10/처리 시작 18/종료 23/적용 30 ms다. 전체와 처리 지연을 구하라. 결과가 10 ms마다 나오더라도 각 결과의 지연이 30 ms일 수 있는가?

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

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

확인 문제 Q3

설정 A는 필터 뒤 오차 RMS가 작지만 포화와 외란 복구가 길고, 설정 B는 RMS가 조금 크지만 복구가 짧다. 무엇이 더 좋다고 바로 정할 수 있는가? 요구 조건과 시각/입력/관측 근거를 제안하라.

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

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

학습 범위와 한계

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

선택 보충 · 브라우저 제어 개념 모형

정규화한 1차 plant의 12초 응답을 계산합니다. 목표는 0~4 s에 1.5, 이후 0.2입니다. 입력 한계 ±1 때문에 처음 목표는 도달할 수 없으며, 목표가 낮아진 뒤 적분 누적과 회복을 비교합니다. 화면의 시간은 계산 모형의 시간입니다.

출력·목표는 정규화한 무차원 값입니다. 선은 샘플 시점의 값을 직선으로 이은 표시입니다.
실선: 현재 적분 제한 적용 · 파선: 반대 설정 · 점선: 목표

-1011.504812시간 (s)

현재 · 조건부 적분 적용

최대 |e| · 전 구간
1.500
4 s 이후 최대 |e|
0.752
요청 명령 포화 시간
0.70 s
4 s 이후 ±0.05 첫 진입 시각 (전체 t)
5.10 s
요청 명령 포화 구간 1개
  1. [0.00, 0.70) s

비교 · 조건부 적분 미적용

최대 |e| · 전 구간
1.500
4 s 이후 최대 |e|
0.796
요청 명령 포화 시간
5.50 s
4 s 이후 ±0.05 첫 진입 시각 (전체 t)
10.10 s
요청 명령 포화 구간 1개
  1. [0.00, 5.50) s

포화 시간·구간은 지연 전 요청 명령 v의 |v| > 1인 구간입니다. ±0.05 첫 진입은 정착 시간·지속 안정 보장이 아닙니다. 같은 모형의 조건 비교이며 anti-windup이 모든 성능·안전에서 항상 우월하다는 뜻은 아닙니다.

모형식·계산 순서·검증 한계

연속 plant는 τ·dy/dt = −y + u_applied, τ=1 s입니다. y, r, u는 정규화한 무차원 값입니다. 샘플 구간 내 입력이 일정하다는 가정에서 exact ZOH를 사용합니다.

e[k] = r[k] − y[k]
D[k] = −Kd · (y[k] − y[k−1]) / Ts
I_trial = I_prev + Ki · Ts · e[k]
v_trial = Kp · e[k] + I_trial + D[k]
u[k] = saturation(Kp · e[k] + I[k] + D[k], −1, 1)
y[k+1] = a · y[k] + (1−a) · u[k−d], a = exp(−Ts/τ)

초기 y=0, I=0, 미분 차분=0입니다. v_trial이 상한을 넘고 e>0이거나 하한을 넘고 e<0이면, 조건부 적분은 이번 I 갱신을 거절합니다. 그 뒤 출력 포화·명령 지연·plant 갱신 순으로 계산합니다. 미분은 목표 오차 대신 측정값에 적용합니다.

d=0은 이번 명령을 즉시 현재 구간에 적용합니다. d>0은 d개 샘플 전의 포화 후 명령을 적용하며, 시작 전 큐는 0입니다. 목표 변경 인덱스는 4/Ts입니다. 아래 기록에서 요청 명령 u와 실제 모형에 적용한 u_applied를 구별하세요.

모터·다관절 동역학, 센서 잡음·양자화, 마찰, ROS 실행기·통신의 변동 지연은 포함하지 않습니다. 실제 ROS·모터·GPU 실험이 아니며 매개변수 튜닝이나 안전 인증을 대신하지 않습니다.

초기·목표 변경 전후 요청/적용 명령 기록
t(s)ryIv(포화 전)u(요청)u_applied
0.001.5000.0000.0001.5001.0001.000
0.101.5000.0950.0001.4051.0001.000
0.201.5000.1810.0001.3191.0001.000
3.801.5000.9440.4320.9880.9880.988
3.901.5000.9480.4320.9840.9840.984
4.000.2000.9520.357-0.395-0.395-0.395
4.100.2000.8240.294-0.329-0.329-0.329
4.200.2000.7140.243-0.271-0.271-0.271
4.300.2000.6200.201-0.219-0.219-0.219

선택 보충 모형은 기존 실습·세 문항을 대신하지 않습니다. 설정과 관찰 결과는 필요한 경우 답안에 직접 적으세요. 이 조작은 답안·진도·학습 완료를 자동 저장하거나 변경하지 않습니다.

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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