Home

읽기 설정

안녕하세요, 여러분. 이번 강의는 3차원 회전에 대한 내용입니다.00:01

2.2 강의에서 2차원 회전 행렬을 개발했었는데, 이제 이것을 3차원으로 확장해 보겠습니다.00:04

우리가 특별 직교군에서 파생시킨 모든 성질들이 여기에도 여전히 적용됩니다.00:10

지난 2.2 강의에서, 저희는 XY 평면에서의 회전 행렬에 대해 살펴보았습니다.00:17

이제 Z축 방향으로 세 번째 차원을 추가하여 확장하겠습니다.00:24

네, 맞습니다. 이제 이 회전 행렬에 세 번째 차원을 더하면 회전 행렬이 완성됩니다.00:29

x, y, z 축 방향의 단위 벡터를 가진 행렬이라고 할 때, 이것이 특수 직교군에 속한다고 말합니다.00:36

세 가지 차원, 그렇습니다.00:42

이 회전 행렬의 각 열은 3차원 단위 벡터를 이루므로, x̂와 ŷ가 해당됩니다.00:45

세 차원 실수 값 집합 내에 존재하는 z 모자를 말하며, 각 모자의 노름을 의미합니다.00:51

이 벡터들의 내적은 1입니다. 왜냐하면 이들은 단위 벡터들이고, 다시 말해서 이 모든 열 벡터들은 직교 정규 벡터들입니다.00:58

서로 직교하고 크기는 1이라고 가정하므로, 이를 취합니다.01:06

각 벡터들을 서로의 전치 행렬에 해당하는 열 벡터로 변환하면, 결과가 0이 되므로 이 벡터들은 서로 수직인 관계에 있습니다.01:13

이제 세 차원에서의 방향을 논의하기 위해서는 오른쪽을 고려해야 합니다.01:21

오른손을 사용하여 그림에 나와 있는 것처럼 제스처를 취하는 것을 의미합니다.01:28

여기서는 검지선을 기준으로 앞으로가 x축이고, y축은 왼쪽에서부터입니다.01:31

엄지손가락에서 Z축을 위로 향하게 하고, 이어서 롤(roll)을 정의할 수 있습니다.01:38

z축을 기준으로 파이 각도만큼 회전하고, y축을 기준으로 세타 각도만큼 피치를 적용하는 방식입니다.01:43

그래서 psi 각도는 이 방향으로 z축을 중심으로 기울여진 상태입니다. 이제...01:50

오른손 법칙과 세 축을 가지고 있기 때문에, 각 단위 벡터에 대한 기본적인 회전을 정의할 수 있습니다.01:59

x축을 중심으로 하는 회전은 이와 같이 표현됩니다.02:06

여기 행렬이 제시되어 있으며, 관련 행과 열을 확인해 주십시오.02:11

x를 포함한 요소가 비어 있습니다.02:18

이것은 x축이 변하지 않고 그대로 유지된다는 의미입니다.02:23

저희 또한 비슷한 것을 가지고 있습니다.02:27

이 행렬에 의해 주어진 피치 각도 세타는 이 그림에서 보여주시는 것과 같습니다.02:30

y 방향과 관련된 행 벡터와 열 벡터를 살펴보시면 알 수 있습니다.02:36

이는 y축 방향의 벡터는 변하지 않는다는 의미이며, 따라서 해당 값들이 비어 있다는 뜻입니다.02:41

마지막으로, 이 행렬로 표현되는 z축에 대한 회전 psi가 있습니다.02:49

그리고 다시, z와 관련된 행과 열이 비어 있습니다.02:55

따라서 z축 방향을 가리키는 모든 벡터는 그대로 유지됩니다.03:02

그리고 여기 이 2x2 블록이 바로 우리가 방금 사용했던 회전 행렬이라는 것을 알아채실 겁니다.03:05

두 차원으로 개발되었습니다.03:12

즉, xy 평면을 중심으로 회전이 일어나는 것입니다.03:14

그래서 이러한 기본 회전들을 조합해서 만들 수 있습니다. 즉, 최대 세 번의 주축 회전을 연속적으로 수행하여 회전 행렬을 만들 수 있습니다.03:22

즉, phi, theta, 그리고 psi 함수로서 회전 행렬을 갖게 됩니다.03:28

이러한 회전들은 어떤 순서로도 가능하지만, 동일한 축으로는 동시에 이루어질 수 없습니다.03:35

두 번 x축으로 회전하면 2파이가 되기 때문에, 이는 중복되는 정보입니다.03:40

총 3가지, 2가지, 2가지가 더해져서 총 12가지 조합이 됩니다.03:47

회전들이 있습니다. 첫 번째 그룹은 오일러 각이라고 불리며, 이는 동일한 축을 중심으로 회전하는 경우를 말합니다.03:52

축을 두 번 회전시키면 이들 간에 여섯 가지 조합이 생깁니다.03:58

빨간색으로 강조 표시된 회전 시퀀스를 말씀드리고자 합니다.04:02

이것은 오일러 각이며, 보시면 각 세트의 첫 번째와 마지막이 거의 비슷한 것을 알 수 있습니다.04:07

축 x, y, x, x, z, x, y, x, y, y 좌표를 가지고 있습니다.04:14

그리고 이와 유사하게 첫 번째와 마지막 회전에 대해서도 적용될 수 있습니다.04:22

다음 그룹은 카르단 각이라고 불리며, 이는 세 축을 모두 중심으로 회전하는 것을 의미합니다.04:27

축과 다시 말씀드리면, 이 축들로 인해 여섯 가지 조합이 나오게 됩니다. 여기서 빨간색으로 표시된 것들이 카르단(cardan) 축입니다.04:34

각도 회전을 살펴보시면, x, y, z 축을 각각 표현하고 있다는 것을 알 수 있습니다.04:41

엑스, 제이, 와이, 제이, 엑스 이렇게 축들의 순서가 다르면 한 가지04:48

고려해야 할 점은 회전의 순서가 중요합니다.04:56

굉장히 중요합니다. 따라서 x, y, z축을 기준으로 회전하는 것과 z축을 기준으로 먼저 회전하고 y축을, 그 다음 x축을 기준으로 회전하는 것은 같은 결과가 아닙니다.04:58

만약 이 좌표계를 가지고 x, y, 그리고 z 축을 중심으로 회전시킨다면, 결국 이 위치에 도달하게 됩니다.05:05

방향을 지정하는 것은 좋지만, 이 원래 참조 좌표계를 z축, y축, 그리고 x축 순서로 회전시키면 최종적으로 다른 위치에 도달하게 됩니다.05:11

이 회전 때문에 완전히 다르게 나타납니다. 이는 행렬이 교환 법칙을 만족하지 않기 때문입니다.05:18

이것은 꽤 쉽게 증명할 수 있습니다. 따라서 a와 b의 역수를 취한다면, 이는 b의 역수 곱하기가 됩니다.05:26

a의 역수를 구한 다음, a b에 a b의 역수를 곱하면 a 곱하기 b 곱하기 가 됩니다.05:31

그리고 이것은 항등 행렬이 됩니다. 그리고 우리는 A에 A의 역행렬을 곱한 결과가 남게 됩니다.05:40

그리고 다시, 이것은 단위 행렬을 형성합니다.05:45

하지만, B 곱하기 A를 AB의 역으로 나누면 이런 결과가 나와요.05:49

그리고 이 두 행렬은 서로 상쇄되지 않는다는 것을 알 수 있어요.05:54

그리고 이것은 동일하지 않습니다. 따라서 A 곱하기 B는 B 곱하기 A와 같지 않습니다.05:59

따라서 회전 행렬은 여전히 행렬이며, 이러한 규칙들은 그대로 적용됩니다.06:03

파이(phi)와 세타(theta)를 중심으로 회전한 회전행렬이 있다고 가정해 보겠습니다.06:09

여기에 주어진 3x3 행렬에 의해 나타나는 x, y, z 축 각각을 의미합니다.06:16

그럼 이 함수, r32와 r33의 atan2를 이용해서 파이 각도를 추출할 수 있습니다.06:22

알파 32번과 33번입니다.06:31

우리는 psi 값을 추출할 수 있습니다.06:37

r21과 r11로 주어지는 z축 회전에 대한 것입니다.06:39

그렇다면 회전에 대한 정보를 추출할 수 있을 겁니다.06:46

이 조건 방정식들을 통해 y축의 세타를 나타냅니다.06:50

그렇다면 r31, r21, 또는 r11 중 하나일 가능성이 있습니다.06:54

회전 행렬이 주어지면, 항상 롤, 피치, 그리고 요 각도 값으로 되돌릴 수 있습니다.07:01

롤 피치 요 각도를 사용할 때 고려해야 할 문제점 하나가 있습니다.07:07

짐벌 락이 발생하므로, 기준 좌표계를 세타가 파이/2 만큼 회전시키게 되면 문제가 생깁니다.07:14

여기에서 보여주시는 것처럼, 저는 이 회전 행렬을 곱할 수 있습니다.07:20

회전을 시작하면서 그렇게 하세요.07:27

x 파이, 세타, 피, 이, z, 사이, 그리고 문제를 풀다... 정도로 해석될 수 있습니다.07:30

그런 다음 이 두 개의 행렬과 마지막 회전 행렬로 이어지게 됩니다.07:37

그래서 y축을 기준으로 파이 온 2만큼 회전했습니다.07:45

x, y, z축 회전을 정의할 때 y축이 π/2로 주어졌을 때, 이 회전 행렬이 도출되었습니다.07:52

신중히 살펴보면, 삼각법을 통해 알 수 있습니다.07:59

여기 이 함수로 줄일 수 있습니다.08:04

여기에는 사인 파이 플러스를 사이 플러스를 코사인 파이 플러스를 사이 플러스가 있습니다.08:09

음수 코사인 파이 더하기 사이, 그리고 사인 파이 더하기 사이입니다.08:13

이것은 무엇보다 pitch 각도가 플러스 마이너스 파이 온 2일 때, roll 각도 phi를 구별할 수 없다는 의미입니다.08:20

이것은 정말 큰 문제입니다. 저희는 방향 감각을 잃어버린 것 같습니다.08:28

자, 예시를 하나 살펴봅시다. 만약 제가 5피트 옆으로 회전하는 것을, 회전을 중심으로 정의한다면요.08:36

x축으로 4π를, y축으로 2π를, 그리고 z축으로 -3π를 회전합니다.08:42

제가 가지고 있는 것은 여기 있는 회전 행렬입니다.08:48

그리고 제가 이전에 정의했던 롤, 피치, 요(yaw) 각도를 추출한다면요.08:52

제 파이, 세타, 그리고 파이 값은 이제 각각 파이/2, 0.97, 그리고 파이/2가 되겠습니다.08:59

이렇게 보니 전혀 다르다는 것을 알 수 있고, 이것이 짐벌 락(gimbal lock) 현상이라고 할 수 있습니다. 따라서, 이 문제는...09:05

저의 원래 정의가 이제 바뀌었기 때문에, 원래 어떤 방향을 가지고 있었는지 파악하기 어렵습니다.09:12

우리가 해야 할 일은09:22

로봇의 표준 작동 조건을 세타가 플러스 마이너스 파이 온 2에서 멀어지도록 설정하십시오.09:24

혹은 우리가 세타가 플러스 마이너스 파이 온 투를 지나는 기동을 피해서 정의할 수 있습니다.09:29

회전 오차를 r지첨(r subscript e)과 r지하(r subscript d) 및 r전치(r transposed)로 표현할 수 있습니다.09:38

여기에서 원하는 것을 찾으실 수 있습니다.09:46

우리가 목표로 하는 회전 각도와 실제 회전 각도 r은 이렇게 됩니다. 즉, 이런 의미를 갖는 것이죠.09:48

회전 오차가 항등원이면, 원하는 회전은 실제 회전과 같습니다.09:53

R에 R의 전치 행렬을 곱하면 단위 행렬이 된다는 것을 알고 있습니다.10:00

자, 그럼 우리 상황을 가정해 보겠습니다.10:09

여기 제시된 세 곱 세 행렬을 사용하여 계산된 회전 오차는 임의의 값에 대해 나타냅니다.10:11

그런 다음 회전 오차로부터 roll-pitch-yaw 각도를 추출할 수 있습니다.10:17

소, 프시, 그리고10:23

따라서 롤, 피치, 요우 각도에 따라 오차를 정의할 수 있습니다.10:27

3차원 회전에 대해 요약하자면, 회전축과 방향을 결정하는 데 사용되는 오른손 규칙이 있습니다.10:33

회전은 회전축을 중심으로 회전하여 만들 수 있습니다.10:41

주요 축은 Rx가 Phi에 의해, Ry가 Theta에 의해, 그리고 Rz가 Psi에 의해 정의됩니다.10:44

회전의 순서가 중요한 이유는 행렬이 교환 법칙을 만족하지 않기 때문입니다.10:49

피치 각도가 90도에 도달하면 gimbal lock 현상이 발생하며, 따라서 우리는...10:55

파이(phi)와 사이(psi)를 구별하십시오. 그리고 회전 오차는 목표로 하는 값에 의해 정의됩니다.11:02

실제 회전의 전치 회전을 통해 회전합니다.11:08

AI Summary

이 강의는 2차원 회전을 3차원으로 확장하는 내용을 다루는데요, 3차원 회전 행렬, 오른손 법칙, 회전축, 회전 순서, 오일러 각, 카르단 각, 짐벌 락, 회전 오차 등 다양한 개념들을 설명하고 있어요. 특히, 회전 순서가 결과에 영향을 미치고, 피치 각도가 π/2에 도달하면 짐벌 락이라는 문제가 발생할 수 있다는 점을 강조하고 있답니다.

Key Highlights

  • 3차원 회전 행렬은 2차원 회전 행렬을 확장하여 만들고, 특수 직교군 성질을 가짐.
  • 오른손 법칙을 이용하여 회전 방향을 정의하고, 롤, 피치, 요 각도로 표현 가능해.
  • 회전 순서가 결과에 영향을 미치기 때문에 주의해야 하고, 교환 법칙이 성립하지 않아.
  • 피치 각도가 π/2에 도달하면 짐벌 락 현상이 발생하며, 이를 피하거나 회전 오차를 이용해 해결할 수 있어.
  • 회전 오차를 통해 롤, 피치, 요 각도를 계산할 수 있고, 목표 회전 각도와 실제 회전 각도의 차이를 의미해.

Related Videos