읽기 설정
안녕하세요, 저는 Zain Khan입니다. 이 영상에서는 동차 변환을 이용한 순기구학 예제를 진행해 보겠습니다.00:00
그래서 제가 여기 아주 간단한 로봇을 하나 그렸어요.00:08
로봇은 두 개의 링이 각각 두 개와 세 개로 되어 있고, 끝에는00:11
이것은 엔드 이펙터라고도 불리는 그리퍼입니다.00:19
로봇은 여기, 여기, 그리고 여기에 관절마다 모터가 달려 있어요.00:24
이러한 모터들 덕분에 관절이 회전할 수 있고 링크들이 움직일 수 있습니다.00:31
서로 움직이면서, 그리고 여기 보여드린 특정 배열에서 우리는00:38
여기 고정 프레임에 대한 첫 번째 링크가00:44
100도요. 그리고 두 번째는 30도 각도에서 끝납니다.00:48
효과기가 80도 각도에 있고, 저희는 정기구학을 수행해야 하는데요. 이것은 다음과 같은 의미입니다.00:53
순진 기구학은 단순히 로봇 매개변수를 주어지는 것입니다. 이 경우 로봇이요.00:59
파라미터는 관절 각도이고 로봇 파라미터가 주어졌으니 찾아내셔야 합니다.01:07
이 엔드 이펙터의 위치와 방향을 파악하셔야 하기 때문에, 그 위치를 알아내야 합니다.01:16
그리고 내부 요인의 방향성입니다. 그것이 전부예요. 그러니 우리가 이것을 진행하는 방식은01:24
로봇의 각 관절에 움직이는 좌표계를 먼저 그리고, 움직이는 좌표계를 그립니다.01:32
움직이는 프레임을 그릴 때 각 움직임의 x축이01:39
프레임이 다음 링크와 정렬되어 있어서, 만약 여기에 움직이는 프레임을 그리게 된다면 x01:45
축이 이 물건과 일치해야 하니까, 이게 저의 첫 번째 움직이는 프레임이고, 이게 움직이는 축의 Y축이에요.01:52
프레임이고 그냥 표시하기 위해서요01:59
x축 밖으로요. 이것이 제가 가지고 온 첫 번째 움직이는 프레임 m1입니다. 자, 이제02:06
여기 움직이는 프레임을 그리기 위해 x축을 이 링크와 함께 만들었습니다.02:12
여기가 x축이고요, y축은 대략 여기쯤이 될 것 같습니다.02:17
그리고02:24
여기서 세 번째 움직이는 프레임을 꺼내 보겠습니다. x축은 여기에 오게 될 거예요.02:25
y축이 올라가고 있습니다02:32
여기에 오면 이것이 두 번째 움직이는 프레임이고, 이것이 세 번째 움직이는 프레임입니다.02:35
제가 필요한 것02:42
전진 운동학을 수행하려면 먼저 기준 프레임을 다음 위치로 옮겨야 합니다.02:43
M1 프레임으로 이동한 다음, M1 프레임에서 M2 프레임으로 이동하고, 이어서 M2 프레임에서 M3 프레임으로 이동하세요.02:50
이것이 제가 따를 과정 또는 절차입니다.02:58
고정된 좌표계를 M1 좌표계로 이동시키기 위해서, 첫 번째 동차 변환을 사용하려고 합니다.03:04
저는 이것을 H1이라고 부릅니다. M1에서 M2로 이동하는 경우에는 또 다른 동차 변환을 사용할 것입니다.03:10
그것을 H2라고 부르고, 그리고 또 다른 변환인 H3를 사용하시면 됩니다.03:17
제가 얻고자 하는 최종 균질 변환은 단순히 곱셈으로 이루어져 있는 이것입니다.03:21
h1, h2, 그리고 h3, 그리고 이 균질 변환이 바로 여기 있습니다.03:29
변신이 될 것입니다03:39
고정된 프레임을 가져와서 m3 프레임으로 직접 이동시켜서, 이것을 가져와서 이동시킵니다.03:42
이로부터 제가 얻게 될 동차 변환이 바로 여기에 있으니까요.03:48
그럼 제가 작업 진행을 도와드릴게요.03:59
그래서 H 동차 변환은04:01
H1, H2, H3과 같은 것과 같으며, H1 균질 변환이 진행되는 곳입니다.04:07
회전 행렬과 변위 항을 가지게 됩니다. 그러므로 먼저 회전 행렬을 작성해 보겠습니다.04:14
A의 경우에는 아래쪽에 0이 두 개 있을 것입니다.04:20
두 개의 영(zero) 대신, 저는 영 벡터로 쓸 수 있고04:25
이걸 전치하면 같은 것이고, 변위 항이 있고, 그리고 1이요. 좋습니다. 이제 저는04:29
고정 좌표계를 보고서 변위항과 회전 각도가 무엇인지 알아낼 수 있어요.04:35
움직이는 프레임 m1이요. 고정된 프레임의 x축이 바로 여기에 있다는 것을 볼 수 있습니다.04:41
그리고 이동하는 좌표계의 x축이 여기에 있어서 두 축 사이의 각도가 100도이고요.04:46
회전 행렬은 지금 100도 각도를 가진 하나가 될 것이고, 변위 항은요.04:53
고정된 프레임의 원점과 이동하는 프레임 m1의 원점이 일치하는 것을 알 수 있습니다.05:00
변위가 없기 때문에, 변위와 x, y는 0이 될 것입니다.05:05
제로가 지금 h2 행렬로 이동하고 있습니다.05:10
가장 아래 줄은 0으로만 되어 있을 거라는 것을 아세요.05:17
그리고 1에, 여기에 회전 행렬이 있게 될 것이고, 그리고 또 다른 것이 있을 거예요.05:20
변위 벡터로 시작하여, 만약 m1에서 출발한다면 변위 벡터로 먼저 시작하겠습니다.05:27
m2의 원점으로부터 변위는 x축으로 단지 두 단위가 될 것입니다.05:33
y에서 영 단위라서 2가 되고 0이네요.05:40
m1에서 m2로 이동하실 때 좌표를 가져가신다는 것을 기억하셔야 합니다.05:45
좌표가 M1 프레임에서 취해지기 때문에 M1 프레임에서 이동하면05:50
여기부터 여기까지 가신다면, 이 지점부터 바로 여기까지 보시면 그냥05:56
x축을 따라 두 단위만큼 간단히 이동하고 전이 과정은 없습니다.06:03
그리고 y축이요. 자, 이제 여기에 프레임을 맞추셨으면,06:08
M1 프레임을 가지고 나면, M1 프레임의 x축이 여기 있게 됩니다.06:12
이제 얼마나 회전시켜야 하는지 보셔야 해요.06:18
회전은 항상 반시계 방향을 양(+)의 방향으로 기억하셔야 합니다.06:21
그래서 여기에서 여기로 가야 해요.06:27
이 각도가 30도라는 걸 아니까, 이건 330도여야 해요.06:32
따라서 회전 각도는 여기 330도입니다06:38
자, 이제 h3 프레임 또는 h3 동차 좌표계에 대해 알아보겠습니다.06:43
변환해서요, 이제 가장 아래쪽이 '0' 두 개와 '1' 하나만 남을 거라는 걸 알아요. 이제는 06:48
여기 로테이션 행렬이 있고 변위 항도 있을 건데, 이제 제가 m2에 있다면요06:54
프레임 i에서 m3 프레임으로 이동해야 합니다. 변위가 세 단위일 것이라고 알고 있습니다.07:01
그리고 x가 0이고 y가 있고, 그리고 회전을 알아내기 위해 M2 프레임의 x축을 살펴보겠습니다.07:06
여기에서 반시계 방향으로 여기로 가려면요07:14
이게 80도라면, 360도에서 80도를 뺀 280도일 거라는 걸 알아요. 그래서 제가07:24
280도 대신 280도를 얻을 수 있고, 마이너스 80도로 적어도 동일한 결과가 나옵니다.07:32
하지만 제가 그냥 일관성을 유지하고 싶어서, 만약 제가 원한다면 280도로 쓸 수 있도록 말이에요.07:40
코사인 100도, 사인 값으로 쓸 수 있도록 전개된 형태입니다.07:46
100도에서 0을 뺀 사인 값이요07:54
100도 코사인은 100도 코사인 제로와 제로, 제로 1입니다. 그래서 이것은07:58
제가 가진 h1이 3개의 교차점입니다.08:05
3 매트릭스를 그리고 그 다음으로 h2를 적어내야 하는데, h2는 코사인 330도에 사인을 330도한 값입니다.08:07
0 마이너스 사인 330 코사인08:15
안녕하세요.08:21
그리고 201과 유사하게 h3는 코사인 값을 가지게 될 거예요.08:24
280에 사인하고 280 0 마이너스 280의 사인입니다.08:31
280 도에 대한 코사인 값입니다.08:40
만약 제가 이것을 더 확장해서 이 균질 변환을 얻게 된다고 가정한다면08:46
마지막으로, 이 동질 변환은 고정된 틀을 가지고 그것을 다음으로 변환시키는 것입니다.08:55
종단 효과기 프레임 또는 m3는 이 동차 변환을 통해 고정 프레임을 m3 프레임으로 이동시킵니다.09:01
간단히 말해서, 이 프레임을 가져와서 이동시키는 거예요09:08
그리고 이것이 제가 가지고 있는 유한 동질 변환입니다.09:15
이제 여기에 있는 용어들을 분석해보면, 이것이 단순히 ~의 추가에 불과하다는 것을 알 수 있습니다.09:21
100도, 330도, 그리고 280도입니다.09:28
이것들 전체를 더하는 것일 뿐이기 때문에 이해가 됩니다.09:31
행렬들이 곱해지고 있습니다.09:38
그리고 이 항은 변위항입니다.09:41
여기서 눈에 띄는 점은 제가 한번09:47
h1에 h2와 h3를 곱해서 다른 동차 변환을 얻게 됩니다. 그래서 저는 아무리09:50
몇 개의 동질 변환을 곱하든 결국 또 다른 동질 변환을 얻게 되나요?09:57
이것이 바로 균질한 속성을 가지게 될 변환입니다.10:02
이것을 오른쪽의 세 곱하기 세 행렬이 되도록 변형하는 거예요, 바로 이 첫 번째 부분 행렬처럼요.10:07
여기에 있는 부분 행렬이요10:13
회전 행렬이 될 것이고, 그리고 이 것은10:21
변위항을 통해서, 그리고 이 변위항을 보면서 0.68과 4.79라는 것을 알 수 있습니다.10:24
그래서 0.68은10:31
m3 프레임 원점의 x 좌표가 이것이고, 이것은 m3 프레임 원점의 y 좌표입니다.10:33
0.68이 기본적으로 x축 여기 이 지점이에요. 그래서 저는 기본적으로 제가10:40
아미10:47
제가 이 지점을 고정된 프레임에서 이렇게 표현하고 있으니, 저는 이만큼 단위로 올라갈 거고요10:47
물론 말씀하신 만큼의 유닛 수요. 제가 이 부분을 그려보지 않아서 결과가 다를 수도 있어요.10:55
완벽하게는 아니더라도 대략적인 아이디어를 얻는 것이 핵심입니다. 따라서 동차원(homogeneous)을 가진 숫자를 곱하면11:01
함께 변환되면 항상 균질 변환 행렬을 얻게 되실 겁니다.11:08
그 자체로 초기 프레임을 가져와서 끝 프레임에 바로 하나로 넣는 방식입니다.11:15
그래서 이게 우리가 원했던 것이고, 그리고 우리는 얻었습니다. 그리고 제가 할 수 있습니다.11:21
이 방정식들을 활용하시면 됩니다.11:29
그리고 이것을 사용하고 이것을 여기에 넣고, 그러면 이 방정식이 이것으로 어떤 의미가 될까요?11:34
여기에 점 small x가 있다고 가정해 볼게요. 이 점은 다음과 같이 표현됩니다.11:41
효력이 있는 프레임으로 갈 수 있어요.11:48
작은 x에 이 동차 변환을 곱하여 같은 점을 표현한 값의11:50
이 영상이 유용하셨다면, 이 영상의 끝까지 봐주세요.11:56
따봉 버튼을 눌러 주시고, 구독도 잊지 마시고요. 다음 영상에서 뵙겠습니다.12:02
더 흥미로운 역기구학의 경우를 동차 변환을 사용해서 알아볼게요. 다음 영상에서 만나요.12:09
AI Summary
로봇 팔의 순기구학(Forward Kinematics)은 각 관절의 각도(Joint Angles)를 입력받아 로봇 팔 끝 지점(End-effector)의 최종 3차원 위치와 자세(Position and Orientation)를 계산하는 원리입니다. 이 계산은 로봇을 구성하는 여러 강체(Rigid Body)들의 움직임을 나타내는 변환 행렬($4 imes 4$ 동차 변환 행렬)을 이용해 순차적으로 곱셈하는 방식으로 이루어집니다. 구체적으로 DH 파라미터(Denavit-Hartenberg Parameters)를 사용하여 각 관절 변환($T_1 o T_2 o ext{...} o T_n$)을 거쳐 전체 변환 행렬($T_{total}$)을 산출하는 것이 핵심입니다.
Key Highlights
- •순기구학은 관절 각도 $ o$ 최종 엔드 이펙터 위치 및 자세를 계산하는 과정입니다.
- •로봇의 움직임은 여러 강체들의 연속적인 좌표계 변환의 곱으로 모델링됩니다.
- •계산에는 회전(Rotation)과 병진(Translation) 성분을 모두 포함하는 $4 imes 4$ 동차 변환 행렬이 사용됩니다.
- •체계적인 변환을 위해 DH 파라미터(Denavit-Hartenberg Parameters)가 필수적으로 활용됩니다.
- •순기구학은 '각도 $ o$ 위치' 계산이며, '위치 $ o$ 각도'를 계산하는 역기구학과는 구별됩니다.


