Visual SLAM 예시 문제 (1)

상솜공방·2025년 4월 30일

Visual SLAM

목록 보기
6/10

1. 2D에서 회전 + 평행이동 동시 표현

질문: 2차원 공간에서 회전과 평행이동을 동시에 표현하려면 어떤 크기의 행렬을 사용해야 할까?
1) 3×2 2) 2×3 3) 2×2 4) 3×3

정답

4) 3×3

해설

  • 2) 2×3 행렬
    • 2×3 행렬은 평행이동을 표현할 수는 있으나, 회전·스케일 등의 선형변환을 동차좌표 없이 끼워 넣기에 구조가 맞지 않는다.
  • 1) 3×2 행렬
    • 3개의 행과 2개의 열은 동차좌표 확장 차원과도 맞지 않으며, 회전+이동을 담을 수 없다.
  • 3) 2×2 행렬
    • 2×2 행렬은 원점 기준의 선형변환(회전·스케일·반사 등)만 가능하다. 평행이동(translation)은 아핀 변환으로, 동차좌표 없이는 표현 불가.
  • 4) 3×3 행렬 (정답)
    • (x,y)(x,y,1)(x,y)\to(x,y,1) 로 확장한 동차좌표에서
      [R11R12txR21R22ty001]\begin{bmatrix} R_{11}&R_{12}&t_x\\ R_{21}&R_{22}&t_y\\ 0&0&1 \end{bmatrix}
      꼴의 3×3 행렬 하나로 회전 RR과 이동 tt를 동시에 표현할 수 있다.

2. 3D 동차변환 행렬 크기

질문: 3차원 공간의 동차 변환(homogeneous transformation) 행렬은 몇×몇인가?
1) 2×2 2) 4×4 3) 3×3 4) 3×4

정답

2) 4×4

해설

  • 1) 2×2 행렬
    • 2차원 동차좌표 전용. 3D 변환을 담기엔 차원이 부족.
  • 3) 3×3 행렬
    • 3×3은 2D 동차변환(회전+이동)용이다. 3D → 4차원 동차좌표 확장 필요.
  • 4) 3×4 행렬
    • 형태는 [  R    t  ][\;R\;|\;t\;]로 보이지만, 동차변환 합성을 위해 마지막 행 [0001][0\,0\,0\,1]이 추가돼야 하므로 4×4여야 한다.
  • 2) 4×4 행렬 (정답)
    • 3D (x,y,z)(x,y,z,1)(x,y,z)\to(x,y,z,1)로 확장 후
      [R3×3t3×101×31]R4×4\begin{bmatrix} R_{3×3} & t_{3×1}\\ 0_{1×3} & 1 \end{bmatrix} \in\mathbb R^{4×4}
      구조로 회전·이동·합성이 가능하다.

3. 쿼터니언→오일러 변환 문제

질문: 쿼터니언을 오일러 각으로 변환할 때 발생할 수 있는 문제는?
1) 언더-로테이션 2) 축 불일치 3) 김벌 락(gimbal lock) 4) 오버-로테이션

정답

3) 김벌 락 (gimbal lock)

해설

  • 1) 언더-로테이션 (under-rotation)
    • 일반적으로 존재하지 않는 용어. 회전량이 줄어든다거나 빠진다는 의미지만, 수학적 변환 오류로 표준화된 표현은 아님.
  • 2) 축 불일치 (axis misalignment)
    • 축의 정의가 잘못되면 발생할 수 있지만, 쿼터니언→오일러 변환의 고유 문제는 아니다.
  • 4) 오버-로테이션 (over-rotation)
    • 표현이 모호. 회전 과잉은 쿼터니언 보정에서 드물게 보정 필요할 수 있으나, 핵심 이슈는 아니다.
  • 3) 김벌 락 (gimbal lock) (정답)
    • 오일러 각은 세 개 연속 회전(Roll-Pitch-Yaw). 두 회전 축이 일렬로 정렬되면 하나의 자유도가 사라져 특정 회전을 표현 못 하는 ‘자유도 손실’ 현상이 발생한다.

4. 쿼터니언 보간법

질문: 두 쿼터니언 사이를 보간(interpolation)하는 흔한 방법은?
1) Linear Quaternion Interpolation (LQI) 2) Spherical Linear Interpolation (SLERP)
3) Angular Quaternion Interpolation (AQI) 4) Quaternion Delta Interpolation (QDI)

정답

2) SLERP

해설

  • 1) LQI (Linear Quaternion Interpolation)
    • 쿼터니언 성분을 선형 보간하면 중간에 노멀라이즈 필요하고, 보간 경로가 구면이 아닌 직선이어서 회전속도 비일관.
  • 3) AQI, 4) QDI
    • 흔히 쓰이지 않는 비표준 명칭. 학계/산업계에서는 SLERP를 주로 사용.
  • 2) SLERP (정답)
    • 4D 단위구면에서 대원(geodesic)을 따라 일정 각속도로 보간. 부드럽고 등속도 회전 보장.

5. 모바일 로봇의 바퀴 회전 측정 장치

질문: 모바일 로봇에서 바퀴 회전을 측정해 로봇 자세 추정에 쓰이는 장치는?
1) Wheel Encoders 2) GPS 모듈 3) IMU 4) Gyroscopes

정답

1) Wheel Encoders

해설

  • 2) GPS 모듈
    • 외부 위성 신호를 이용한 대략 위치 측정. 회전수(오도메트리) 측정 불가.
  • 3) IMU (관성측정장치)
    • 가속도·자이로 포함. 관성 정보를 주지만, 바퀴 회전수 직접 측정 X.
  • 4) Gyroscopes (자이로스코프)
    • 회전율(각속도) 측정. 관성항법용이며, 바퀴 회전수와 직접 연결된 정보가 아니다.
  • 1) Wheel Encoders (정답)
    • 바퀴 축에 부착된 엔코더 센서가 회전 펄스를 생성해, 회전수·이동거리(오도메트리)를 정확히 측정할 수 있다.

6. 단위 쿼터니언의 스칼라 성분

질문: q=w+xi+yj+zkq = w + x\,i + y\,j + z\,k에서 스칼라(scalar) 성분은?
1) w 2) y 3) z 4) x

정답

1) w

해설

  • qq[w,(x,y,z)][w,\,(x,y,z)]로 나눌 때, ww가 스칼라 부분, (x,y,z)(x,y,z)가 벡터 부분이다.

7. 단위 쿼터니언 정의

질문: 다음 중 단위 쿼터니언(unit quaternion)을 가장 잘 설명한 것은?
1) 3D 벡터로만 회전 표현
2) 4D 벡터를 길이 1로 정규화하여 회전 표현
3) 4D 벡터로 평행이동 표현
4) 4D 벡터로 회전+이동 표현

정답

2) 4D 벡터를 길이 1로 정규화하여 회전 표현

해설

  • 1) 3D 벡터
    • 3차원 벡터는 회전 축·각도를 일부 나타낼 수 있지만, 완전한 회전 파라미터화는 불가능.
  • 3), 4)
    • 쿼터니언은 회전만, 아핀 이동은 포함하지 않는다.
  • 2) (정답)
    • q=1\|q\|=1 조건으로 오버슈팅이나 축 반전 없이 안정적 회전 표현.

8. 쿼터니언 합성

질문: 두 회전 쿼터니언 q1,q2q_1, q_2를 합치려면 어떻게 하나?
1) q1q2q_1 - q_2 2) q1+q2q_1 + q_2 3) q1×q2q_1 \times q_2 4) q1/q2q_1 / q_2

정답

3) 곱셈 (multiply)

해설

  • 1) 뺄셈, 2) 덧셈
    • 회전 합성이 아닌 수치 연산. 의미 있는 합성 회전으로 해석되지 않는다.
  • 4) 나눗셈
    • 역회전(composition with inverse)을 의미할 수 있으나, 두 회전을 순차 합성하려면 곱셈을 써야 한다.
  • 3) 곱셈 (정답)
    • 순서대로 적용하려면 qtotal=q2q1q_\text{total}=q_2\,q_1 또는 반대로 설정. 회전 합성은 쿼터니언 곱으로 구현한다.

9. 2D에서 0회전 행렬

질문: 다음 중 2D에서 0 라디안 회전을 나타내는 행렬은?
1) [1001]\begin{bmatrix}1&0\\0&1\end{bmatrix}
2) [cosθsinθsinθcosθ]\begin{bmatrix}\cos\theta&-\sin\theta\\\sin\theta&\cos\theta\end{bmatrix}
3) [0110]\begin{bmatrix}0&1\\1&0\end{bmatrix}
4) [sinθcosθcosθsinθ]\begin{bmatrix}\sin\theta&-\cos\theta\\\cos\theta&\sin\theta\end{bmatrix}

정답

1) 단위행렬

해설

  • 2) 일반적인 회전행렬. θ=0일 때 1번과 같아지지만, θ가 변수로 남아 있어 답이 아님.
  • 3) [0110]\begin{bmatrix}0&1\\1&0\end{bmatrix} 은 x↔y 반사(reflection).
  • 4) sin·cos 위치 바뀌어 올바른 회전행렬 꼴도 아니다.
  • 1) (정답) θ=0일 때 cos0=1,sin0=0\cos0=1, \sin0=0 으로 단위행렬이 된다.

10. 유효한 회전행렬의 성질

질문: 올바른(rotation) 행렬이 항상 만족하는 성질은?
1) 대칭(symmetric) 2) 직교(orthogonal) 3) 반대칭(skew-symmetric) 4) 대각(diagonal)

정답

2) 직교행렬

해설

  • 직교행렬 RRRR=IR^\top R = I 이어야 하고, detR=+1\det R = +1 이어야 한다.
  • 1) 대칭: 일반 회전행렬은 대칭이 아니고, R=RR^\top=R 이면 반사 또는 축별 스케일만 가능하다.
  • 3) 반대칭: 회전 생성기(로트 연산자)는 반대칭이지만, 회전행렬 자체는 아니다.
  • 4) 대각: 2D 대각행렬은 x,y 스케일만, 회전은 비대각 요소 필요.

11. 회전행렬 RR의 역행렬

질문: 회전행렬 RR의 역행렬은?
1) detR\det R 2) R-R 3) RR 4) RR^\top

정답

4) RR^\top

해설

  • 1) detR\det R: 스칼라, 행렬이 아님.
  • 2) R-R: 역회전이 아니라 180° 회전 추가.
  • 3) RR: RR=IR R = I 이면 RR 자체가 역행렬이지만, 일반적 회전행렬은 RR=IR R = I 가 아니라 RR=IR R^\top=I.
  • 4) RR^\top (정답)
    • 직교행렬의 성질상 R1=RR^{-1} = R^\top.

12. 로봇 위치추정 불확실성 표현 기법

질문: 로봇 위치추정에서 불확실성을 나타내는 대표적 방법은?
1) Particle Filters 2) MDP 3) Neural Networks 4) Decision Trees

정답

1) Particle Filters

해설

  • 2) MDP (Markov Decision Process): 의사결정 문제 프레임워크. 위치 불확실성 표현이 주목적 아님.
  • 3) Neural Networks: 학습 모델. 분포 근사보다는 패턴 인식에 사용.
  • 4) Decision Trees: 분류·회귀 모델. 확률 분포 근사 목적이 아님.
  • 1) Particle Filters (정답)
    • 다수의 입자(샘플)를 통해 포즈의 확률분포를 근사. 동적 베이지안 필터링 방식으로 실시간 위치추정에 널리 쓰인다.

요약

  • 동차좌표 활용 시 3×3(2D)·4×4(3D)
  • 쿼터니언의 핵심 이슈는 김벌 락, 합성은 곱셈, 보간은 SLERP
  • 회전행렬은 직교이고, 역행렬은 전치
  • 로봇 오도메트리엔 휠 엔코더, 위치추정 불확실성엔 파티클 필터

추가 질문이나 더 깊은 수식·코드 예시가 필요하면 언제든 말씀해 주세요!

profile
상어 인형을 좋아하는 사람

0개의 댓글