본문으로 건너뛰기

M25.02 · 바퀴·서랍·Revolute/Prismatic·Articulation Root

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 바퀴와 서랍에 맞는 관절의 자유도·로컬 프레임·축과 목표 단위를 정의한다.
  • 강체/관절 연결 그래프에서 고정·부유 베이스의 자유도를 계산하고 장면 계층·Articulation Root·제어기를 구분한다.
  • 합성 관절 명세와 목표/관측표로 한계·부호·단위 오류를 진단하고 기하 예측과 실제 실행 근거를 구분한다.

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

권장 선수

M25.01의 자산 계층/단위/물리 입력이 선수다. 자유도·회전은 M06.01/.02, 관절 규약은 M08.02와 M10.04로 보충한다. 세 강체의 가상 구성표를 계산하며 실제 USD/물리/모터·GPU 실행은 요구하지 않는다. 일반 코딩 문법은 다루지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

같은 메시에도 다른 관절 계약을 붙일 수 있다

M25.01에서는 자산의 크기·질량·충돌·재질을 구분했다. 이번에는 움직이는 부품 사이의 관계를 정한다. 화면에서 바퀴 메시를 회전시키거나 서랍을 옮겼다는 사실만으로 물리 관절과 제어가 구성됐다고 볼 수 없다. 어느 강체를 무엇에 연결하고 어떤 상대운동만 허용할지 먼저 정해야 한다.

강체(rigid body)는 변형하지 않는 한 덩어리의 운동 모델이고 관절(joint)은 두 강체의 상대운동에 제약을 주는 관계다. 자유도(DOF)는 제약 뒤에 독립적으로 바꿀 수 있는 좌표의 수다. 이번 예는 chassis·wheel·drawer 세 강체를 두 관절로 연결한 트리다. 닫힌 고리·기어/mimic 결합과 바퀴-바닥 접촉 제약은 자유도 계산에 추가하지 않는다.

구성원하는 상대운동관절과 남는 상대 자유도
chassis↔wheel축 주위 회전Revolute, 회전 좌표1개
chassis↔drawer레일 방향 직선 이동Prismatic, 병진 좌표1개
chassis↔world의 고정 변형베이스 운동 없음Fixed, 상대 자유도0개

Revolute는 나머지 상대 병진/회전을 제약하고 Prismatic도 선택한 병진축 이외의 상대운동을 제약한다. OpenUSD RevoluteJoint와 PrismaticJoint는 두 형태의 축·한계 속성을 구분한다. “바퀴처럼 생겼다”는 이름이나 모양은 관절 종류를 결정하지 않는다.

축은 월드 축이 아니라 관절 프레임에서 읽는다

body0와 body1은 관절이 연결하는 두 강체다. 각 강체에 대한 관절 프레임의 로컬 위치/회전도 갖는다. 정지한 조립 상태에서 두 관절 프레임이 같은 월드 기준으로 어떻게 만나는지 확인해야 한다. 파일 트리에서 두 메시가 같은 폴더에 있는 것만으로 관절이 연결되지는 않는다.

회전과 직선 이동의 관절: Revolute → Prismatic → Articulation Root → 별도 고정/드라이브.그림 원본 크기로 보기

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

이번 교육용 명세에서는 wheel의 관절축을 chassis와 정렬된 관절 프레임의 localY, drawer의 축을 localX로 둔다. 양의 좌표는 오른손 회전/양의 축 병진으로 정한다. 베이스가 worldZ 주위로+90° 회전했으면 localX는 world+Y, localY는 world−X다. 따라서 “서랍은 X축 이동”이라고만 쓰면 어느 프레임인지 빠져 있다.

Rz(90∘)[100]=[010],Rz(90∘)[010]=[−100].R_z(90^\circ)\begin{bmatrix}1\\0\\0\end{bmatrix} =\begin{bmatrix}0\\1\\0\end{bmatrix},\qquad R_z(90^\circ)\begin{bmatrix}0\\1\\0\end{bmatrix} =\begin{bmatrix}-1\\0\\0\end{bmatrix}.

이는 축 방향 계산이지 서랍의 실제 위치를 관측한 결과가 아니다. 두 로컬 관절 프레임의 회전이 다르면 그 변환도 먼저 포함한다. 한쪽 anchor만 옮기거나 body를 바꿔 놓고 기존 로컬 프레임을 재사용하면 초기 조립부터 맞지 않을 수 있다. 드라이브 강성을 높이기 전에 연결 대상과 프레임을 점검한다.

degree·radian·길이 단위를 입력 경계에서 맞춘다

URDF의 회전 각도는 radian이며 USD Physics 회전 관절의 한계는 degree 단위다. 선택한 임포터/제어 API의 목표 단위도 확인한다. USD 파일의 degree 속성을 봤다는 이유로 모든 런타임 제어 API가 degree라고 가정하면 안 된다. 변환은90°=π/2rad, 약1.5708rad다.

r=0.05m인 바퀴를90° 회전시킨다고 하자. 바닥과 미끄러짐 없이 구른다는 추가 가정에서 이동 거리 크기는 s=rθ=0.05×π/2≈0.07854m다. 여기서 θ는 radian이다. 90이라는 숫자를 radian으로 대입해4.5m라고 하면 약57.3배 오류다. 축 부호와 바닥 방향도 있어야 이동 방향을 말할 수 있다. 이번 계산은 바퀴 반경/각도의 기하 예측이며 접촉·마찰·슬립을 실행한 근거가 아니다.

바퀴의 연속 회전과 제한된 힌지 회전도 구분한다. 이번90°는 비교할 회전량이지 바퀴의 기계적 상한이 아니다. 임의 ±90° 한계를 넣어 계속 굴러야 할 바퀴를 잠그지 않는다. 실제 한계 유무·부호와 소비 API의 표현은 별도 명세로 확인한다.

서랍은 m/Z-up 장면에서 양의 localX로0~0.25m를 허용한다. 목표0.25m는 이번 포함 경계 계약에 맞지만0.30m는 범위 밖이다. 소비 장면 단위가 cm라면 같은 길이를 나타내는 수치도 달라진다. 목표를 조용히 잘라 넣기 전에 거부/제한 정책을 명시해야 한다. 명령0.25m가 수용됐다고 실제 서랍이 그곳에 도달했다고 기록하지 않는다.

Articulation Root와 world 고정은 별개다

Articulation은 연결된 강체/관절을 관절계로 다루는 구조다. Articulation Root는 이를 파싱/구성하는 범위를 나타내는 표식이며 드라이브나 world 고정 자체를 생성하지 않는다. NVIDIA의 articulation 설명은 body 관계로 정해지는 연결 그래프와 장면 계층을 구분한다. root의 위치와 실제 루트 선택은 소비 런타임·버전의 규칙을 확인해야 한다.

같은 chassis-wheel-drawer 트리라도 chassis가 world에 고정된 변형은 관절 좌표2개만 남는다. 별도 부유 베이스 변형은 베이스의 병진3·회전3에 관절2개가 더해져 기구학 좌표8개다. 둘은 같은 장면에 동시에 적용하는 옵션이 아니다. 바퀴가 지면에 닿아 있다는 사실과 베이스가 world에 Fixed로 묶였다는 조건도 다르다.

이8은 현재 단순 트리의 기구학 자유도다. 접촉의 비미끄럼 제약이나 구동기 수, 원하는 말단 작업의 자유도와 같은 수로 취급하지 않는다. root 표식만 붙여 베이스가 고정됐다고 세거나 메시 자식 수를 DOF로 세면 오류다. 특정 엔진의 자동 root 선택 결과도 원본 파일명만으로 추측하지 말고 파싱된 링크/관절과 실제 가동 범위를 확인한다.

관절·드라이브·관측은 세 단계다

관절은 허용 운동을 정의하고, drive는 목표 위치/속도와 힘·토크 제한 등으로 그 운동을 유도한다. 실제로 어디까지 움직였는지는 관측으로 확인한다. 목표가 있어도 런타임이 드라이브를 소비하지 않았거나, 베이스/관절이 의도치 않게 잠겼거나, 부하·접촉/한계에 걸렸을 수 있다.

아래는 실제 실행이 아닌 제공된 합성 기록이다. 서랍 도착 기준은 목표오차≤0.005m이고 정지 속도≤0.01m/s를0.2초 유지한 관측이다. 경계 포함 여부도 이 활동의 계약이다.

기록제공 근거판정
D1목표0.25m만 기록, 위치/속도 없음목표만 있음. 도착 미확인
D2목표0.30m, 허용범위0~0.25m입력 범위 위반. 실제 drive에 보내기 전 정책에 따라 거부
D3목표0.25m, 위치0.247m·속도0.004m/s가0.2초 유지오차0.003m로 제공 도착 기준 충족
D4목표0.25m, 위치0.247m·속도0.02m/s위치만 맞고 정지 조건 미충족

D3는 합성 서랍 기록의 기준 통과다. 실제 USD 모델/충돌·작업 안전·물체 상태와 실제 장비 검증을 대신하지 않는다. 먼저 body 연결/두 로컬 프레임·축/단위·root/한계를 검사하고 그 뒤 목표와 관측을 비교하면 구조 오류를 이득 문제로 감추지 않을 수 있다.

기존 3.1 기구학 모델의 URDF→USD 점검과 함께 읽는다. 다음 M25.03 충돌 필터에서는 관절이 맞더라도 의도한 충돌 쌍이 계산되는지를 따로 확인한다.

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

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

    3.1 SO-101 기구학 모델

    목표 일부 관련

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

학습 범위와 한계

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

실습 필수

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

위 세 강체/두 관절 트리와 D1~D4 합성표를 사용한다. 실제 설치나 모터 명령을 보내지 않는다.

  1. 바퀴/서랍의 관절 종류·남는 상대 자유도와 body0/body1·로컬 프레임/축을 적는다. 베이스 yaw+90°에서 각 축의 world 방향을 계산한다.
  2. 고정 베이스와 별도 부유 베이스 변형의 기구학 좌표 수를 계산한다. ground 접촉/구동기 수를 계산에 섞지 않는다.
  3. 바퀴90°를 radian으로 바꾸고 반경0.05m의 무미끄럼 거리 크기를 계산한다. 미끄러짐이 있거나 회전 관측이 없다면 무엇이 미확인인지 적는다.
  4. D1~D4를 판정하고 D3의 위치 오차를 계산한다. “목표를 넣었음”을 도착 증거로 바꾸지 않는다.

관절 명칭만 쓰면 부분 답안이다. 막히면 몸체 사이 관계와 폴더 트리를 따로 그린 뒤, 모든 수치 옆에 frame/단위를 적는다.

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

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

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

파일 트리에서 wheel이 chassis의 자식이고 회전 애니메이션도 보인다. 회전 관절이 올바르게 구성됐다고 승인할 수 있는가? 연결·프레임·단위에서 추가 확인할 것을 적어라.

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

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

확인 문제 Q2

세 강체와 두 독립1DOF 관절의 트리에 root 표식만 붙였다. “베이스가 고정됐으므로 총2DOF”라는 주장을 평가하고 고정/부유 두 경우를 계산하라.

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

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

확인 문제 Q3

서랍 목표0.25m가 수용됐고 위치0.247m만 기록됐다. D3와 같은 완료라고 할 수 있는가? 목표0.30m를 넣은 경우의 처리와도 비교하라.

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

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

학습 범위와 한계

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

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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