읽기 설정
엔지니어링 심플라이피드에 다시 오신 것을 환영합니다. 오늘 영상에서는 이것에 대해 이야기 나눌 예정입니다.00:00
3D 로봇을 위한 동차 변환입니다.00:05
저희 이전 영상들, 로봇엑스 101 시리즈에서 다루었던 내용이 있습니다.00:09
2D 로봇에 대한 동차 변환에 대해 이야기해 보았습니다.00:13
혹시 아직 보지 않으셨다면, 2D 로봇부터 보시는 걸 추천드리고, 그 다음에 3D 로봇을 보시면 좋을 것 같습니다.00:17
거의 모든 개념이 동일하기 때문에, 한 단계 더 발전된 정도라고 할 수 있습니다.00:23
그럼에도 불구하고, 혹시 그 영상들을 보지 않으셨더라도 이해하실 수 있도록 설명해 보도록 하겠습니다.00:31
네, 로봇 공학 201 시리즈의 이전 두 영상에서 '이것'이라고 불리는 것에 대해 이야기했습니다.00:38
회전 행렬에 관해서 먼저 시작하겠습니다. 그래서, 저희는 거기서부터 시작할 예정입니다. 가장 먼저 다룰 내용은 이것입니다.00:45
이야기하고 있는 것이 좌표 변환이라고 불리며, 그 의미는 좌표를 변환하는 방법을 의미합니다.00:50
한 좌표계를 다른 좌표계에 대해 표현하는 것을 말씀드리겠습니다. 예를 들어, 제가 만약 어떤00:57
이것이 바로 사용하는 좌표계이며, 표현되는 대로 고정 좌표계입니다.01:04
이러한 표시는 고정된 좌표계를 이루므로, f라고만 써서 확실히 암시할 수 있습니다.01:11
그리고 그것은 고정 좌표계이며, 동시에 이동 좌표계 또는 이동 기준점을 가지고 있습니다.01:18
이 프레임을 무엇으로 할 것인지, 그리고 제가 'm'이라는 문자로 표현하여 움직이는 참조 프레임임을 암시할 수 있습니다.01:23
이것이 운동 기준틀이고, 이것이 고정 기준틀입니다. 따라서 질문은...01:30
고정 좌표계에 대해 운동 좌표계를 어떻게 표현해야 할까요?01:34
그것이 좌표 변환이 무엇인지 설명하는 것입니다. 한 좌표계를 다른 좌표계에 대해 표현하는 것이죠.01:40
하지만 다른 좌표계를 사용하기 전에, 왜 그렇게 해야 하는지 이해하는 것이 먼저입니다.01:45
먼저 헤드셋 관련 작업을 모두 처리하고 좌표 변환도 수행해야 할 것 같습니다.01:52
입력 텍스트입니다.01:59
이해를 돕기 위해, 제가 그림을 그릴 수 있도록 해주는 로봇이 있다고 가정해 보겠습니다. 로봇을 통해 제 그림을 보여드릴 수 있도록요.02:00
그것보다는 이게 더 좋겠지만, 최선을 다해 보겠습니다. 로봇이 있는데, 이 축을 중심으로 회전할 수 있는 베이스가 있어요.02:07
그리고 또 다른 것이 있습니다.02:13
여기서 연결되어 이 축을 중심으로 회전할 수 있으며, 다른 부품과 연결되어 있습니다.02:19
이것을 관절이라고 하는데, 프리즈마 관절이라고 부릅니다.02:25
그리퍼 또는 엔드 이펙터와 연결되어 있습니다.02:31
제가 수정한 건, 참고 자료를 고친 것입니다.02:38
로봇의 밑부분 프레임과 로봇 엔드 이펙터 말단의 이동 참조 프레임입니다.02:44
그래서 저는 엔드 이펙터의 위치를 파악하기 위해 변환을 조정해야 합니다.02:49
시간이네요. 이해가 되셨기를 바라요. 그럼, 어떻게 해야 할까요?02:56
네, 우선 가장 중요한 것은 고정 좌표계에서 운동 좌표계로 넘어갈 때, 몇 가지 작업을 수행해야 한다는 점입니다.03:02
번역이 맞습니까?03:10
이 경우에는 먼저 x를 a 단위만큼 번역해야 합니다.03:10
그런 다음 y 방향으로 b 단위만큼 이동합니다.03:18
이 변위 벡터가 나타내는 대로 z축에서 c 단위만큼 이동합니다. 따라서 먼저 이동해야 합니다.03:20
고정된 프레임을 통해요.03:27
이 변위 벡터를 사용하여 이 지점에 도달할 수 있지만, 이곳에 도착해도 알아두셔야 할 점이 있습니다.03:29
방향 설정이 움직이는 좌표계와 일치하지 않으므로 회전을 해야 합니다.03:35
이 경우 움직이는 좌표계에 맞춰 오리엔테이션을 조정하려면, 잠시 빠르게 설명드려도 될까요?03:41
제가 변위를 수행했을 때 얻게 될 결과는, 제가...03:48
아마 제 Z축은 Z축과 일치하고, X축은 여기쯤에 위치할 것 같습니다.03:54
네, 그렇다면 제가 할 일은 z축을 기준으로 양의 회전을 시키는 것입니다.03:59
에 의해04:06
이 각도가 얼마든지 간에 세타를 구해서 이 선을 얻는다는 것은, 그게 어떤 의미가 될지 말씀드리면요.04:07
제 이동 프레임이 이제 고정 프레임에 대해 표현되도록 확실히 해주십시오.04:14
알아들으시는 대로입니다.04:21
제가 필요한 것은 두 가지입니다. 하나는 변위 벡터이고, 다른 하나는 회전입니다.04:23
일반적으로 오른쪽으로 표현됩니다.04:30
자, 이제 움직이는 좌표계로 표현된 점 x가 있다고 가정해 보겠습니다.04:40
자, 로봇이 잡아야 할 물체가 있고 그 물체의 위치를 알고 있다고 가정해 보겠습니다.04:46
종단 액추에이터, 즉 작은 x와 관련하여 말씀드립니다.04:53
이제, 로봇의 기준점, 즉 고정 좌표계에 대한 동일한 객체의 위치를 파악해야 합니다.04:57
그래서 저는 이것을 대문자 X로 표시해 두었는데, 종종 그런 경우가 있습니다. 저희가 그렇게 해야 하는 경우가 많습니다.05:04
기준점을 기준으로 두 개의 서로 다른 좌표계에 대해 특정 객체의 위치를 파악해야 합니다.05:11
로봇의 엔드 이펙터와 관련하여, 때로는 엔드 이펙터에 대한 로봇의 위치를 고려합니다.05:16
방의 특정 지점이나 이와 관련된 부분을 움직이는 좌표계를 기준으로 설명할 때요.05:21
고정 좌표계를 기준으로 포인트를 설명할 때는 작은 편집기를 사용하며, 우리는 대문자를 사용합니다.05:28
글자와 표기 방식은 단순히 약속일 뿐입니다. 그럼 우리는 어떻게 동일한 점을, 이동 좌표계를 표현할 수 있을까요?05:33
고정 프레임에 맞춰서 진행하기 때문에 방법이 매우 매우 간단합니다. 이것이 좌표 변환이 무엇인지 설명하는 것입니다.05:39
여기 있는 이 식을 사용하시면 됩니다. 이 식은 큰 X는 회전 행렬 곱하기, 라는 의미입니다.05:46
작은 x 더하기 d 이렇게 되어 있는데, 이게 바로 우리가 사용하는 방정식입니다. 하지만 이 방정식은 뭘 의미할까요? 한번 살펴봅시다.05:53
이 방정식이 무엇을 의미하는지 좀 더 자세히 살펴보겠습니다. 우선, 두 번째06:00
여기서는 변위만큼 이동시키고 있다는 것을 알 수 있습니다.06:07
처음에 저희가 했던 것처럼, 의미를 갖는 벡터를 사용하여 고정 프레임을 이동시켰습니다.06:12
변위 벡터를 구한 다음 회전 행렬과 점을 곱하게 됩니다.06:17
회전 행렬을 점에 곱하면, 그 점이 표현되는 동일한 점을 얻게 됩니다.06:23
프레임이 직관적으로 이해가 되는 방식이 되기를 바랍니다.06:29
이 글을 읽으시기 전에 먼저 번역하시는 것이 좋습니다.06:36
변위 벡터에 의해 프레임을 정렬한 다음, 오른쪽에서 왼쪽으로 읽히도록 회전합니다.06:40
그리고 변위 벡터는 3 곱하기 1 벡터이며 회전 행렬입니다.06:46
이것은 세 곱하기 세 벡터이고, 이전 영상에서 회전 행렬에 대해 많은 이야기를 나누었습니다.06:51
회전 행렬은 3x3 벡터이고, 변위 벡터는 3x1 벡터입니다.06:59
벡터를 표현하고, 좌표 변환이 바로 그런 방식으로 점을 나타내는 것입니다. 즉, 특정 좌표계에 대한 위치를 나타내는 것이죠.07:03
하나의 좌표계를 기준으로 정의된 점과 같이, 특정 좌표계에 대해 정의되어 계십니다.07:10
다른 좌표계를 기준으로 표현하는 것, 즉 좌표 변환에 대해서입니다.07:16
지금요.07:26
저 있습니다.07:31
이 방정식에서 저희는 종종 두 개의 분리된 객체를 갖고 싶어하지 않습니다.07:31
우리가 해야 하는 일은 이것들을 모두 합쳐서 하나의 결과로 만들어 점수를 얻는 것입니다.07:38
우리가 하는 방식은 4 곱하기 4 행렬을 만드는 것입니다.07:45
그리고 위에요.07:52
왼쪽에는 회전 행렬을 유지하고, 이 행렬은 3x3 행렬이며, 이 아래쪽에...07:55
행렬에서 우리는 세 개의 값을 가지고, 그 값을 유지합니다. 또한, 세 개의 영(0)을 유지하며, 이는 항상 그런 경우입니다. 그리고 오른쪽에는 그 값을 보존합니다.08:02
이동 벡터인데, 3 곱하기 1 벡터이고, 가장 아래에는 1을 유지합니다.08:09
회전 행렬과 변위 벡터를 단순히 결합하고, 마지막 행은 세 개의 0과 1로만 사용하면 됩니다.08:16
자, 이제 4 곱하기 1 행렬을 가지고 있고, 이 행렬에 곱하겠습니다.08:24
작은 x를 곱하면 대문자 x가 되지만, 잠시만요, 만약 이것이 4 곱하기 1 행렬이라면요.08:27
그러면 이것은요.08:34
세 곱하기 일 벡터가 될 수 없죠, 맞죠?08:37
그게 바로 정확히 그런 경우예요. 이 특별한 형태를 사용할 때, 즉 회전을 결합했을 때08:45
행렬과 변위 벡터를 하나의 행렬로 합쳐서 사용하기 편리하게 만들 수 있습니다.08:50
저희가 하는 일은, 작은 x와 큰 x를 단순히 사용하는 대신, 3 곱하기 1로 대체하는 것입니다.08:55
벡터의 마지막 부분에 1을 유지합니다.09:00
네, 둘 다 그렇습니다. 따라서 작은 x는 좌표 x, y, z 뒤에 1이 붙고, 큰 x는 그냥 x가 됩니다.09:04
네, y좌표와 z좌표 뒤에 1이 붙습니다. 1은 항상 그 자리에 있습니다.09:12
이렇게 할 때, 우리는 이를 동차점이라고 부릅니다. 예를 들어 점이 표현될 때와 같이요.09:16
균질적인 형태로 나타나야 합니다.09:23
따라서 이 작은 x는 움직이는 좌표계에 대해 동차 좌표로 표현되는 점이 될 것입니다.09:24
그리고 큰 x는 고정 좌표계에서 표현되는 점이 될 것입니다.09:32
균질한 형태에 있습니다.09:37
그리고 방금 저희가 만든 이 큰 행렬의 네 개의 교차 부분을 확인하겠습니다.09:41
이것을 동차 변환 또는 동차 행렬이라고 부릅니다.09:46
동차 변환 행렬을 말씀하시는 건가요?09:54
동차 변환 행렬은 좌표 변환을 수행할 수 있도록 해주는 역할을 합니다. 그것이 바로 그 행렬이 하는 일입니다.10:02
네, 그렇게 작성했습니다.10:10
x는 h 곱하기 작은 x와 같다는 뜻인데, 여기서 h는 제 동차 변환 행렬입니다.10:14
그리고 다시 한번 말씀드리지만, 이 x는 움직이는 좌표계의 xyz 좌표가 아니라 xyz 좌표입니다.10:20
좌표를 의미하고, 뒤에 1이 붙어있죠. 이 1은 항상 거기에 존재합니다.10:27
그리고 이것은 고정 좌표계에서 앞으로 한 칸 이동하는 좌표, 그리고 왜 그러한지 말씀드리겠습니다.10:34
우리가 동차 변환 행렬을 구성한 방식 때문에 다시 한 번 그 상황을 확인해야 할 것 같습니다.10:41
네, 4x4 행렬로 만들기 위해 한 줄을 더 추가해야 했기 때문입니다.10:45
그것이 바로 그렇습니다.10:53
저희가 그랬고, 이걸 다시 살펴보시면, 제가 간단하게 계산해 보면 알 수 있습니다.10:56
윗부분에 있는 식을 가져와서 전개하면 a 곱하기 x 를 얻을 수 있습니다.11:01
이것이라고 하는 x 값의 배수입니다.11:08
음, 제가 x를 이 부분이라고 생각하고, d 곱하기 1을 하니까 이렇게 되네요. 보시면 아실 거예요.11:10
이것은 이것과 같습니다. 여기 이것은 뒤에 1이 붙어있고, 저것은 1이 붙어있지 않습니다.11:18
끝입니다.11:25
자, 그럼 이제 왜 로봇 공학 분야에서 이러한 일들을 하는 걸까요?11:28
로봇 공학 분야를 비롯하여 왜 그렇게 하는지에 대해 이야기하기 전에, 먼저 한 가지 말씀을 드리고 싶습니다.11:38
균일 변환을 사용하는 것의 매우 중요하고 훌륭한 특징입니다.11:45
자, 예를 들어 여기 고정 프레임이 있고, 저기에 움직이는 프레임이 있고, 또 다른 프레임이 있다고 가정해 보겠습니다.11:50
이 프레임을 움직여서, 제가 이 프레임을 변환하는 동차 변환을 알고 있습니다.11:55
첫 번째 움직이는 좌표계로 이동한 후, 이 좌표계를 다시 다른 균일 변환을 통해 이동시키는 것입니다.12:01
이 움직이는 프레임이요. 제가 말씀드리는 게 바로 이거예요. x1은 제 첫 번째 동차 변환이고, x2는12:07
제 두 번째 동차 변환이에요. 이제 이 동차 변환을 알아내려면12:13
이 고정 프레임을 바로 이쪽으로 연결하는 방법을 알아봐야겠어요.12:18
그 과정은 매우 간단하며, 필요한 것은 연속적인 동차 변환을 곱하는 것뿐입니다.12:25
이렇게 하면 최종적인 동차 변환을 얻게 되고, 이는 어떤 방식으로든 상관없이 적용됩니다.12:30
가지고 계신 동차 변환은 몇 개나 되십니까?12:37
다시 한번 말씀드리지만, 저희가 하고 있는 일은 두 개의 움직이는 것을 다루는 것입니다.12:41
프레임과 첫 번째 움직이는 프레임은 고정 프레임에 대해 표현되며, 두 번째 움직이는 프레임은...12:46
첫 번째 이동 좌표계에 대해 표현되고, 우리는 변환 행렬을 알고 있습니다.12:52
따라서, 연속적인 변환 행렬들을 곱하면, 다음과 같은 결과를 얻게 됩니다.12:56
다시 한번 4 곱하기 4 행렬이 될 또 다른 동차 변환 행렬이 있습니다.13:02
이것은 회전의 형태를 갖게 될 것입니다.13:08
3x3 행렬에서 세 개의 0이 있고, 변위 벡터가 있으며, 1이 존재할 것입니다.13:14
그리고 이 변위 벡터 d는 이 점을 이동시키는 역할을 합니다.13:22
여기, 바로 여기, 바로 여기, 그리고 이 회전은요.13:29
이 프레임까지 왔을 때, 수행해야 할 회전 동작이 필요합니다.13:37
이렇게 하면, 움직이는 좌표계와 일치시키기 위해 수행해야 하는 회전을 할 수 있습니다.13:44
이제부터입니다.13:51
제가 제 두 번째 이동 기준점으로 정의된 한 점이 있다고 가정해 보겠습니다.13:53
흠, 우선 이걸 먼저 말씀드리겠습니다. 예를 들어, 이 움직이는 좌표계에 대해 정의된 작은 x 좌표가 있다고 가정해 보겠습니다.14:00
고정된 이동 좌표계에 대한 동일한 점을 찾아야 해요. 제가 해야 할 일은 이 식을 사용하는 거예요.14:08
x는 x 곱하기 x로 같아요.14:14
그리고 답을 얻게 되기도 하고, 마찬가지로 그러한 경우들도 있습니다.14:18
대상 위치가 n 요인에 따라 결정되지 않고, 그 대신 다른 정보를 알고 계시는군요.14:22
로봇 기준 좌표계에서의 물체 위치를 구하려면, 같은 식을 사용하시면 됩니다. 그런데 어떻게 해야 할까요?14:27
같은 식을 사용하겠지만, 어떤 방식으로 접근해야 할지 찾아야 합니다.14:33
종단 프레임 또는 이동 프레임에서 표현되는 작은 x에 대해서 말씀드리겠습니다.14:40
동차 변환 행렬을 다른 쪽으로 옮기려면 역행렬을 취하면 됩니다.14:46
이제 큰 X는 로봇의 기준점을 기준으로 물체 좌표를 나타냅니다.14:51
그리고 작은 x는 엔드 이펙터에 대한 객체의 좌표를 나타냅니다.14:58
저희는 갈 예정입니다.15:07
특정 사례들을 다루고, 앞으로 몇 가지 수치 예시를 통해 하나하나 살펴보겠습니다.15:09
몇 가지 영상들을 보셨을 텐데, 우선은 좀 더 명확하게 이해하실 수 있도록 마무리하고 싶습니다.15:14
무엇에 대해 (무엇에 대하여) 말씀하시는 건가요?15:21
우리가 그렇게 해왔습니다. 여기 일반적인 3D 로봇이 있다고 가정해 봅시다. 이 로봇은15:22
레브뉴를 가지고 있습니다.15:29
여기에 합류하여 수익을 창출하고, 여기에 수익을 창출하고, 여기에 바로 지금 저희는 두 개의... 음, 가지고 있습니다.15:30
기준 프레임 말씀드리자면, 우선 이 프레임을 첫 번째라고 생각하시면 됩니다.15:37
네, 다른 색깔을 사용하겠습니다, 괜찮으시죠? 우선 이 색깔부터 사용할게요.15:44
이것은 로봇의 기초에 위치한 고정 프레임입니다.15:47
또 다른 프레임이 있네요.15:54
움직이는 프레임이 뭐냐면, 예를 들어 움직이는 프레임이 이것, 이것, 그리고 이것이 있다고 해 봅시다. 네, 이렇게 되는 거죠.15:57
저의 이동 좌표계와 이 고정 좌표계이며, 이제 동차 변환을 구해야 합니다.16:04
고정 좌표계를 운동 좌표계로 변환하는 과정인데, 가장 먼저 제가 할 일은...16:09
이 고정 프레임을 이 관절 프레임으로 변환하는 동차 변환을 찾아야 합니다.16:15
그래서 전화 드렸습니다.16:22
그리고 h1으로 설정한 다음, 이 프레임을 이 프레임으로 변환하는 동차 변환을 구해야 합니다.16:23
H2에 도달한 후, H1과 H2를 모두 얻으면 간단하게 H를 찾을 수 있습니다.16:30
이것은 고정된 것을 취하는 것을 의미합니다.16:37
프레임을 직접 움직이는 프레임에 맞추어서 제 h는 첫 번째 동차 변환과 같아질 것입니다.16:41
두 번째 동차 변환 행렬을 곱한 변환 결과, 다시 한번 이 h는…16:48
이런 형태로 만들고, 그 다음에 세 개의 영이 나올 거예요. 그러면 그것들을 줄이기 위해 짧게 써서 표현할 수 있습니다.16:55
이 영벡터 변환은 발생하고, 이로 인해 변위 벡터가 생기며, 그리고 이것은...17:01
여기서 이 변위 벡터가 나타내는 것은, 이 좌표를 찾아주기 때문입니다.17:07
엔드 이펙터, 즉 이 지점은 고정 좌표계에서 엔드 이펙터의 위치를 나타냅니다.17:14
보통 저희가 원하는 것은 바로 이것이고, 이것이 엔드 이펙터의 위치에 해당합니다.17:20
고정 프레임 안에 있습니다.17:30
그리고 이것은 고정 좌표계에서 엔드 이펙터의 자세를 알려줍니다.17:32
그것은 그것이 전부였습니다.17:40
이 영상은 음, 예상보다 훨씬 길었던 것 같습니다만, 제가 말씀드리고 싶었던 것은...17:41
다음 단계로 넘어가기 전에 탄탄한 기초를 다지는 것이 중요합니다. 이 영상이 유용하셨기를 바랍니다. 혹시 유용하셨다면 잊지 마시고 꼭 기억해주세요.17:48
다음 동영상이 업로드될 때 알림을 받으시려면 구독 부탁드립니다.17:53
이번 시리즈 정말 흥미롭네요. 그리고 항상 그렇듯 다음 영상에서 만나요. 시청해 주셔서 감사합니다.17:58
AI Summary
이 텍스트들은 로봇 공학에서 동차 변환(Homogeneous Transformations)의 개념과 활용법을 설명합니다. 동차 변환은 회전과 이동을 하나의 행렬로 표현하여 로봇의 위치와 자세를 나타내는 방식으로, 여러 변환을 단순하게 처리하고 로봇의 운동 계획, 시뮬레이션, 비전 시스템 등에 활용됩니다. 특히, 엔드 이펙터의 위치와 자세를 구하는 데 중요한 역할을 하며, 변환 과정을 정확히 이해하는 것이 다음 단계 진행을 위해 필수적입니다.
Key Highlights
- •동차 변환은 3차원 공간의 위치와 방향을 하나의 행렬로 표현하는 방법입니다.
- •회전과 이동을 하나의 행렬 연산으로 처리하여 복잡한 계산을 단순화합니다.
- •로봇의 운동 계획, 시뮬레이션, 비전 시스템 등 다양한 분야에 활용됩니다.
- •엔드 이펙터의 위치와 자세를 정확히 파악하는 데 중요한 역할을 합니다.
- •변환 과정에 대한 탄탄한 기초를 다지는 것이 중요합니다.


