본문으로 건너뛰기

M26.05 · 호스트/모바일 UI·명령 계약·통신 지연

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 화면 입력·전송/접수·장치 상태/관측을 나누어 명령/표시 계약을 설명한다.
  • 같은 clock의 지연과 clock 변환 오차를 계산해 대기/신선도·미확인을 판정한다.
  • timeout/늦은 응답을 포함한 분모·지연 통계와 재연결/재시도·검증 범위를 구분한다.

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

권장 선수

M26.04의 기구/축·버전과 M04.05의 요청/만료·M34 관측/현재값 구분을 연결한다. 일반 언어/앱 코딩 입문 없이 가상 단일축 속도요청 R-UI의 화면/사건표를 분석한다. 실제 모바일/서버/ROS·장치 명령·실시간/물리 정지 검증은 수행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

버튼을 눌렀다는 사실과 장치가 수행했다는 사실을 나눈다

모바일에서 속도2를 입력하고 전송을 눌렀다. 화면 숫자가 바뀌고 연결 표시가 녹색이어도 장치가 그 명령을 접수/실행했는지, 지금 어떤 속도인지 알 수 없다. 단위/축·형상 버전이 다르면 같은 숫자도 다른 의미가 된다.

M26.04의 기구/센서축·형상과 M04.05의 요청/접수·만료를 UI까지 연결한다. 이번 R-UI는 가상 단일축 속도요청의 기록 분석이다. 실제 모바일 앱/제어 서버를 만들거나 장치에 명령을 보내는 활동이 아니다. M26.02 균형 예제의5ms 관문과도 다른 제공 계약이며 그 한도를 여기 숫자로 바꾸지 않는다.

입력 초안·전송 요청·관측을 다른 필드에 둔다

제공 명령은 target_shaft_speed_rad_s=2, 범위±20rad/s, 축sensor_shaft의+z다. 장치/세션 식별자·epoch/seq·schema/기구/보정 버전과 유효 기간/기산점, 접수/거부·오류 근거가 따라야 한다. 값/단위·부호/축과 버전을 설명하지 않고 slider의0~100을 바로 전력/속도로 해석하지 않는다.

UI 숫자와 실제 장치 상태: 입력 초안 → 전송 요청 → 응답/접수 → 장치 관측.그림 원본 크기로 보기

그림 M26.05-1. 각 칸은 서로 다른 역할/근거다. 나란히 비교할 항목이며 위아래가 시간 순서를 뜻하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

UI 필드/상태의미와 필요한 근거
입력 초안아직 보내지 않은 사용자의 목표/단위·범위. 현재 장치값이 아님
전송/응답 대기특정 요청ID/epoch/seq의 전송 기록·기산점/대기 마감
접수/거부같은 요청을 가리키는 ACK/거부 이유·장치 측 조건
장치 현재 상태원본 clock/epoch·seq/시각/버전·필드별 유효성
실제 관측센서 출처·단위/축·원본/수신 시각·현재값/과거값 분리
결과 미확인대기 만료/연결 단절·근거 부족. 미접수/미실행 확정과 다름

화면에2rad/s를 그렸다는 이유로 관측값을2로 채우지 않는다. 입력 초안·접수된 목표·실제 관측을 나눠 보여야 오차/지연과 오래된 상태를 판단할 수 있다. 마지막 정상 관측은 시각과 함께 과거 값으로 남기며 단절 시 현재0으로 바꾸지 않는다.

ROS2 Jazzy GoalStatus도 ACCEPTED/EXECUTING/CANCELING·종결 상태를 구분한다. R-UI가 ROS action을 실행했다는 뜻은 아니다. 상태 이름만으로 물리 성과를 덧붙이지 말고 그 응용의 완료 기준/관측 근거를 연결한다. 정지/취소 요청도 접수와 실제 정지 관측이 별도다.

같은 요청을 다시 보내는 것과 새로운 의도를 구분한다

미전송 setpoint 초안은 계약에 따라 최신 입력으로 정리할 수 있다. 하지만 이미 보낸 요청의ID에 다른 값을 넣으면 같은 요청의 내용 충돌이다. 전송한 논리 요청의 내용을 바꾸거나 상대 이동/시작·정지 같은 서로 다른 사건을 임의로 합치지 않는다.

ACK를 잃었을 때의 동일ID/내용 재시도·중복 기록, 새 seq의 별도 의도, 이전 epoch의 거부와 재시도 횟수/전체 마감을 명시한다. 재연결/새 화면 방문만으로 예전 입력을 자동 전송하지 않는다. 오래된 대기 큐의 명령이 뒤늦게 실행되는지와 장치의 명령 lease·현재 상태/권한을 확인해야 한다.

통신 heartbeat는 연결 관측이지 명령을 계속 유지하겠다는 현재 의도·출력 허가/센서 정상의 증거가 아니다. UI가 닫히거나 호스트가 지연돼도 장치 쪽 유효 기간/차단 정책은 별도로 동작해야 하며 실제 시간/고장 검증은 따로 필요하다.

UI 지연·응답 왕복·표시 지연의 기산점을 적는다

다음은 같은 호스트 UI-A 단조 clock/ms의 제공 사건 기록이다. 탭/앱/서버·MCU 시각을 섞지 않았다. ACK는 해당 요청의 응답 수신/식별 기록이며 display는 표시 처리 기록이다. 실제 휴대기기 화면/네트워크를 측정한 것이 아니다.

사건UI-A 시각
입력/전송 의도 발생100ms
요청 전송 기록108ms
해당 ACK 수신/식별146ms
표시 처리 기록154ms

입력→전송 대기는8ms, 전송→ACK의 왕복 시간은38ms, 입력→표시는54ms다. ACK→표시는8ms다. 어느 값을 '지연'으로 보고하는지 이름/기산점·끝 사건을 적어야 한다.38ms를 명령의 물리 반응 시간이나 순수 네트워크 한 방향 지연으로 쓰지 않는다.

R-UI의 ACK 대기를 전송부터50ms로 정하면 마감은108+50=158ms, ACK146ms는 그 안이다. 입력100ms부터 기산한 값이나 표시154ms와 서로 바꾸지 않는다. 이50ms는 제공 조건이며 장치 제어 주기/lease·관측 한도나 보편적인 추천값이 아니다. 전송량/실제 선로·처리 예산은 별도 확인한다.

표시 처리가400ms로 밀리는 변형에서는 같은 ACK가 제때 왔어도 사용자가 보는 상태가 현재임을 보장하지 않는다. 화면의 갱신 빈도·renderer/호스트/네트워크 대기와 장치의 제어 release/마감을 구분한다. 브라우저 타이머로 장치의 실시간 마감이 보장된다고 하지 않는다.

서로 다른 clock의 숫자를 바로 빼지 않는다

W3C High Resolution Time Level2는 단조 시간과 time origin·경과 시간의 의미를 구분한다. 이것이 다른 탭/서버·MCU의 숫자가 자동으로 같은 기준이라는 뜻은 아니다. 정확한 시간 기록 API를 쓰는 일과 일정 시간 안에 실행되게 하는 일도 다르다. 언어/API 문법을 여기서 반복하지 않는다.

별도의 신선도 기록에서 장치 MCU-B 표본 시각500ms, UI-A 수신/현재 시각150ms만 있다면150-500을 표본 나이로 쓰지 않는다. clock/epoch·단위와 변환 관계/오차가 필요하다. 수신 시각으로 원본 시각을 덮어도 문제가 해결되지는 않는다.

종이 예제로만 MCU-B의480~520ms 구간에서 변환 f(t)=t-380ms이고 현재 오차의 절댓값이2ms 이하라고 제공하자. 이 관계를 실제 동기화에서 측정한 것은 아니다. 장치500ms 표본은 UI-A의120±2ms, 즉118~122ms에 대응한다. UI-A now150ms에서 나이는28~32ms다.

R-UI는 표본 나이가0~30ms 안이라고 보장될 때만 신선도 조건을 통과한다고 정한다. 지금은 실제 나이가30을 넘을 수 있으므로 현재 유효성 미확인/새 정상 요청 불허다. 반드시 오래됐다고 확정한 것이 아니라 경계의 불확실성 때문에 통과시킬 수 없다는 뜻이다.

같은 변환으로 장치502ms 표본은120~124ms, 나이26~30ms로 시간 조건 안이다. 양 끝30ms를 포함한다고 주었기 때문이다. 나머지 버전/단위·관측/권한·상태/lease도 맞아야 한다.2ms는 이 제공 구간의 오차 상한이며 표준편차/신뢰구간이나 영원한 clock 보장이 아니다. 재부팅/시간원 변경·구간 밖에는 같은 관계를 자동 재사용하지 않는다.

지연 통계에서 늦은 응답과 미응답을 지우지 않는다

별도의 다섯 요청 기록에서 전송→ACK 시간은35/40/45/200ms/미응답이라고 주었다. 각 요청의 대기 한도를50ms로 두고 끝값을 포함한다. 기한 내 접수응답은3개, 늦은 ACK1개, 결과 미확인1개다.

기한 내 접수응답률은3/전체5=60%다. 관측된 ACK4개의 평균은(35+40+45+200)/4=80ms, 최대는200ms다. 두 지표의 분모/의미가 다르다. 미응답을0ms로 채우거나 응답이 없다는 이유로 전체 요청 분모에서 빼면 다른 성과를 보고하게 된다.

이60%는 실제 작업 성공률/정지 성공률이 아니다. 평균80ms나 작은 다섯 기록만으로 전체 시스템의 tail/최악 지연·모든 상황의 성능을 보장하지 않는다. 대기 중/실패·늦은 도착/실제 실행 미확인을 요청ID와 함께 남기고 원본 기록을 보존한다.

모바일 표시도 판단 근거를 유지한다

좁은 화면에서 목표/현재 관측·단위/축, 연결/요청 상태와 원본 시각/미확인을 구분한다. 녹색/빨강만으로 현재 정상·실패를 전달하지 않고 텍스트·이유를 같이 제공한다. W3C Use of Color 안내의 색상 외 정보 원칙과 연결한다. 특정 제품의 접근성 인증을 완료했다는 뜻은 아니다.

명령 의미가 변하는 작은 토글·모호한 숫자만 두지 말고 현재 입력과 전송할 의미를 읽을 수 있게 한다. 키보드/포커스와 상태 변화 설명도 검토한다. UI에 표시된 '연결'이나 '접수'가 장치의 현재 권한/안전·물리 상태를 대신하지 않는다.

기존 M34.01 관측 신선도의 합성 관측 모형과 M34.03 명령 감독을 선택 보충으로 연결한다. 그 합성 모형의 파라미터/상태를 R-UI의 실제 장치 결과로 복사하지 않는다.

다음 통합 시험으로 넘길 근거

요구/HSI·기구/firmware/schema/cal 버전, 요청ID/epoch/seq·원래 입력/단위/축, 전송/마감/ACK/표시 기록·각 clock, 관측 원본/수신·오차/유효성, 늦음/거부/미확인과 재시도/재연결 처리를 남긴다. M26.01 형상/요구와 기존 6장 재현/실증의 범위를 함께 기록한다.

기본 완료는 제공 UI/지연 기록을 계산하고 접수/현재 관측·물리 결과의 부족 근거를 설명한 상태다. 실제 모바일/서버·네트워크/장치의 응답성·실시간/정지·작업 성공을 입증한 것은 아니다. 다음 M26.06 통합 TEST/결함 분석에서 이러한 기록을 요구별 판정·결함/재검수·포트폴리오로 묶는다.

학습 범위와 한계

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

실습 필수

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

제공 R-UI의 사건/clock·다섯 요청 기록으로 보고 메모를 쓴다. 실제 앱/서버·장치 명령을 실행하지 않는다.

  1. 입력2rad/s·전송/접수된목표·관측을 구분한 화면 필드와 명령 envelope를 적는다. 동일ID의내용변경·재연결자동전송의오답을 설명한다.
  2. UI-A100/108/146/154ms에서 대기/왕복/표시 지연과 ACK마감158ms를 계산한다. 표시400ms 변형의 현재 상태도 판정한다.
  3. MCU-B500/502ms·제공변환/오차로나이28~32/26~30ms를 계산하고 R-UI30ms 한도와 비교한다. 변환 미제공/epoch변경을 구분한다.
  4. 다섯 요청의기한내응답률·관측RTT평균/최대와분모를 적고 실제 작업/정지 결과가 없는 범위를 설명한다.

막히면 각 시각에 clock 이름과 사건을 먼저 붙인다. 대기 만료·늦은 ACK·미확인 값을0이나 완료로 채우지 않는다.

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

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

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

화면 입력2rad/s·연결 녹색과 ACK가 있으니 현재 속도2이며 재연결 때 같은ID에 값을 바꿔 보내도 된다고 한다. 입력/요청/관측·내용충돌/epoch·현재 상태/lease를 나눠 바로잡아라.

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

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

확인 문제 Q2

UI-A100/108/146/154ms, MCU-B표본500ms·UI-A now150ms다. 지연/ACK기한과 직접 나이 계산의 오류를 설명하고, 제공 f=t-380±2ms로 나이/30ms 한도를 판정하라.

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

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

확인 문제 Q3

RTT35/40/45/200ms와미응답1건에서 '응답4개니까3/4성공이고평균80ms라전체정상'이라고 보고했다. 올바른분모/기한내응답률·관측평균/최대·미확인/물리성과를 설명하라.

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

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

학습 범위와 한계

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

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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