Home

읽기 설정

안녕하세요, 저는 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$ 각도'를 계산하는 역기구학과는 구별됩니다.

Related Videos