본문으로 건너뛰기

M31.04 · 시뮬레이션 반복·CI·실험 결과 비교

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 시뮬레이션의 고정/변경 조건과 초기화·seed·실행 식별자를 정의하고 단계별 CI관문과 산출물을 연결한다.
  • 같은 조건의 기준/후보 결과에서 성공률·조건별 회귀·공통 성공의 시간을 계산하고 서로 다른 분모를 해석한다.
  • 행동 실패·실행 불능·누락/재시도를 구분하여 선택 편향과 잘못된 자동 통과를 진단하고 확인 범위를 기록한다.

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

권장 선수

M31.03의 재현/가설/고정 회귀를 여러 조건의 반복으로 확장한다. CI·seed·쌍비교 용어와 성공/실패 기준은 본문에서 풀이한다. 일반 코딩·문법·YAML입문이나 실제 Gazebo/클라우드CI 설치·실행은 요구하지 않는다. 제공된 합성 결과를 분석한다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

자동으로 많이 돌리는 것과 비교 가능한 실험은 다르다

M31.03은 같은 입력의 실패를 재현하고 작은 수정을 고정 회귀로 확인했다. 시뮬레이션 반복은 이를 여러 환경·초기조건·잡음 조건으로 넓힌다. 자동으로100번 실행해도 어떤 소스가 어떤 월드/설정에서 실행되었는지 없으면 비교 근거가 약하다. 좋은 반복은 실행 개수와 함께 고정한 조건·변경한 조건·결과의 분모를 설명한다.

CI(continuous integration, 지속적 통합)는 소스 변경을 정해진 자동 검사와 연결하는 과정이다. 로봇 프로젝트에서는 자료/단위 검사, 기능 회귀, 시뮬레이션 시나리오와 결과 집계를 구분할 수 있다. 문법/빌드가 통과한 것과 주행 시나리오의 판정이 통과한 것은 다르다. 이 단위는 워크플로 문법이나 실제CI구축 대신 검사 설계와 결과 해석을 다룬다.

seed는 난수 생성의 시작 조건을 지정하는 값이다. 같은seed를남겨도소스/라이브러리·물리엔진·step·초기상태·스레드/하드웨어·이벤트순서가달라지면전체결과가같다고보장되지않는다. seed하나만고정하고재현성전체를확보했다고보고하지않는다. 어떤범위에서같은입력/결과를기대하는지명시한다.

실행 행렬과 초기화를 먼저 고정한다

교육용 소스기준S와후보T를비교한다. 이식별자는실제커밋/버전이아니며M31.03의수정후보이름과도별개다. 월드조건A/B각각에서seed11/22/33을쓰면조건은2×3=6개다. 두소스를각조건에서실행하므로총12실행,비교할쌍은6개다. 같은조건의S/T를한쌍으로보는것을쌍비교(paired comparison)라고한다.

각실행은같은초기로봇위치/속도·목표·월드/물체배치·센서/물리설정·관측계약·성공판정에서시작한다. 모델/메시·의존성/엔진·물리step·시간모드와제어주기·리셋절차도기록한다. 이전실행의속도/TF/큐나상태파일이남아있다면다음실행은같은초기조건이아닐수있다. 실패후리셋도동일하게확인한다.

이번 합성 시나리오의 성공은20초이내에목표오차≤0.10m·속도≤0.05m/s를0.5초유지하고충돌이없는것으로정한다. 완료시각은유지조건을충족한때다. 20초경계는포함한다. 20초까지조건을못맞추면timeout행동실패다. 모든시간은모형시각이며실제벽시계실행속도/지연성능과구분한다. 아래결과는이판정이이미적용된제공표다.

검사 단계와 결과 파일을 연결한다

CI관문을 작게 나누면 무엇을 확인했는지 설명하기 쉽다. 첫관문은환경/자산·설정/단위와필수입력의가용성,두번째는작은기능/경계/실패회귀,세번째는위12시뮬레이션슬롯,마지막은결과/산출물완비와비교판정이다. 앞관문실패나필수검사0건이면후속성공만으로전체통과를표시하지않는다.

GitHub 공식 matrix 안내는조건조합을여러실행으로만드는개념을설명한다. 병렬실행은독립된월드/노드/포트·출력경로/작업공간과자원한도를확인한뒤수행한다. 같은파일이나전역시뮬레이터를동시에초기화하면조건을오염시킬수있다. 몇개까지동시에돌리는지와CPU/GPU/메모리경쟁의영향도남긴다.

각슬롯의산출물(artifact)은실행ID·소스/설정/입력/월드식별자·seed·환경·시작/종료상태·결과JSON/표·로그·관련관측/추적을묶는다. GitHub 공식 artifact 안내는작업이끝난뒤결과를보존/전달하는경로를제공한다. 파일명이results라는것만으로현소스/조건의결과라고승인하지않고내용의실행ID/지문을대조한다. 실제클라우드에업로드한활동은이단위에포함하지않는다.

완전한 여섯 쌍의 결과를 읽는다

다음은 실제 시뮬레이터의성능기록이아닌합성표다. A/11은월드A·seed11이다. 모든슬롯이실행되었고필요산출물이존재하며충돌0이라고제공한다. “실패/20”은프로그램실행불능이아니라20초까지도착조건을달성하지못한행동실패다.

조건/seed기준S · 결과/초후보T · 결과/초
A/11성공 / 10성공 / 9
A/22성공 / 12성공 / 10
A/33성공 / 11실패 / 20
B/11실패 / 20성공 / 14
B/22성공 / 15성공 / 12
B/33실패 / 20성공 / 16

기준S는4/6≈66.7%,후보T는5/6≈83.3%성공이다. 차이는1/6≈16.7퍼센트포인트다. 확률전체의개선이나실물성공률이아니라선택한여섯조건의관측비율이다. 작은표본의점추정만으로통계적유의성이나일반화를확정하지않는다.

쌍별로보면T만성공한경우2개(B/11,B/33),S만성공한경우1개(A/33),동일결과3개(A/11,A/22,B/22)다. 조건별로A는3/3에서2/3으로악화했고B는1/3에서3/3으로좋아졌다. 전체5/6이4/6보다커도 A/33의새실패는남는다. 월드별/실패유형별결과를버리고전체숫자만쓰지않는다.

시간은 같은 성공쌍과 같은 단위로 비교한다

각소스의성공한실행만평균내면S는(10+12+11+15)/4=12초, T는(9+10+14+12+16)/5=12.2초다. 이숫자는각각의성공조건에서계산한평균이다. T가새롭게성공한더긴B조건도포함되어분모/구성이달라졌다. 이것만으로같은조건에서T가느려졌다고단정할수없다.

양쪽모두성공한 A/11,A/22,B/22세쌍에서는 S평균(10+12+15)/3=37/3≈12.333초, T평균(9+10+12)/3=31/3≈10.333초다. 이세쌍의평균완료시간은2초줄었다. 여전히공통성공조건에한정된비교이며A/33실패를상쇄하거나모든환경에서의속도개선을뜻하지않는다. 완료시간·한제어tick지연·전체CI벽시계시간도서로다른지표다.

실패시간20을성공시간평균에서제외했다는사실과실패를성공률분모에서제외한다는것은다르다. timeout은여섯시도중실패로반드시남긴다. 시간초과의완료시간을정확히20초도착으로만들어평균에섞지도않는다. 따로시간예산내성공/시간초과분포를보고할수있다.

사전 관문으로 통과를 판정한다

결과를 보기전에 이번작업의기준을다음과같이고정했다고하자. 12슬롯의근거완비,전체성공비율비감소,각월드성공비율비감소,충돌0,공통성공쌍의평균시간비증가다. 실제제품에따라교환조건은달라질수있지만이번합의는결과를본뒤완화하지않는다.

T는전체성공·충돌·공통성공시간과근거완비조건을통과하지만A의성공률이3/3→2/3으로낮아져전체관문은실패다. “전체성공률이올랐으므로통과”는선택한기준과다르다. A/33의원로그/관측/소스차이로가설을세우고M31.03의작은수정/회귀를반복한다. 조건별새실패를허용해야할요구변경이생기면기준/영향검토를따로남긴다.

재시도와 실행 불능을 숨기지 않는다

A/33을삭제하면T는남은5조건에서5/5=100%가된다. 그러나계획한조건이빠졌고원래5/6을바꾸었으므로원회차의완료근거가아니다. 실패조건만성공할때까지재시도하고마지막결과로덮어쓰는것도선택편향이다. 진단용재시도는새run_id와이유/변경/재시도횟수를남기고첫회차와연결한다. 후속패치가나오면고정된전체회귀범위로다시판정한다.

인프라문제로월드가로드되지않거나runner가시작하지못했다면행동실패와는다른실행불능/미확인이다. 해당슬롯의시나리오결과를성공으로만들거나조용히분모에서빼지않는다. 수집된관측결과/실행가능슬롯수와계획슬롯수를구분해보고하고필수근거가없으므로전체CI관문은통과시키지않는다. workflow 공식 문서의실패/취소·후속관계설정도이판정정책과대조해야한다. 선택심화의실패허용설정이필수검사를우회하지않게한다.

의존성캐시는실행시간을줄일수있지만과거성능결과가자동으로현재근거가되는것은아니다. 결과재사용은소스·입력/설정/환경/판정지문과재사용범위를명시한경우에만검토한다. 실행계획과다른재사용을새실행처럼보고하지않는다. 로그와산출물보존은실패해도수행되도록정책을정하되,보존성공을시나리오통과로오해하지않는다.

최종보고는계획/실행/미확인슬롯,전체/조건별/쌍별결과,지표별분모/단위,실패/재시도·아티팩트지문과미확인실물범위를담는다. 도구가표를생성했다고수집/집계가맞는지는별도로검토한다. 이단위의표분석은실제CI나Gazebo실증이아니다. 학습은다음M06.02의팔기구학으로이어지고,모바일전체P2실행패키지의검수는별도과제다.

후반 자동화로 돌아오면 M31.05 장시간·다중 Agent 작업에서 같은 조건/산출물 원칙을 선행 그래프·파일/자원 소유·중단 후 복구와 인수로 확장한다. 이는 S05의 다음 학습 M06.02를 건너뛰라는 안내가 아니다.

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

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

    5.10 평가 설계

    목표 일부 관련

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

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

    5.12 재현성 체크리스트

    목표 일부 관련

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

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

    6.6 평가 설계

    목표 일부 관련

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

학습 범위와 한계

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

실습 필수

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

제공된 A/B×seed11/22/33의S/T여섯쌍과사전관문을사용한다. 실제시뮬레이션실행은필요없다.

  1. 계획슬롯/비교쌍수와각소스의전체·월드별성공비율,후보만성공/기준만성공/동률개수를구한다.
  2. 각소스의성공조건부평균과공통성공3쌍의평균시간을계산하고분모차이를설명한다. T의사전관문통과여부와실패근거를적는다.
  3. A/33삭제·실패만재시도·인프라실행불능각상황에서어떤기록/판정이필요한지적고,산출물하나가현소스/입력의결과인지검토할식별자를제안한다.

막히면상태를행동성공/행동실패/실행미확인으로먼저나눈다. 같은조건끼리선으로연결하고각지표의분모를옆에적는다. 합성표분석과실제CI실행범위를구분한다.

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

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

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

월드2개·seed3개·소스2개의반복에서실행수/쌍수를구하라. seed만같으면비교조건이같다고할수있는가? 실행마다초기화/고정할항목네가지와필요산출물을제안하라.

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

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

확인 문제 Q2

본문S/T의전체성공비율과A/B비율,공통성공3쌍의평균시간을구하라. T성공5/6이S4/6보다높은데왜사전관문은실패인가? 각소스의성공조건부평균12/12.2초와비교해설명하라.

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

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

확인 문제 Q3

후보의A/33행을지우고5/5를보고했다. 별도run에서는runner가시작하지못한슬롯의결과파일을과거캐시에서복사했다. 재시도·결과재사용과미확인처리를어떻게고쳐야하는가?

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

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

학습 범위와 한계

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

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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