본문 바로가기
기계공학부 시절의 기록/로보틱스

강체의 위치와 속도, 힘 표현 : T matrix, twist, screw, wrench

by juhyeonglee 2021. 1. 12.
728x90
반응형

강체는 병진운동과 회전운동을 한다.

지금까지 축의 회전에 대해서 다루었다면

지금부터는 병진운동을 고려하여 강체를 나타내는 행렬을 공부한다.

 

잠깐 복습!

지금까지 크게 SE(3), se(3)을 다루었다.

SO(3) : R(Rotation Matrix)

원점이 고정된 상태에서 축이 어떻게 회전했는지를 나타내는 행렬이다.

keunjun.blog/2018/10/09/%EB%A1%9C%EA%B3%B5%EC%9E%85-03-rigid-body-motions-rotation-matrices-2/

 

[로공입] 03. Rigid-Body Motions: Rotation Matrices (2) - Keunjun

이전 글에서는 회전 행렬 (rotation matrix) 의 정의와 성질에 대해서 알아봤다. 이번 글에서는 회전 행렬의 사용법과 자세 (orientation)의 여러 표현 방법에 대해서 알아보고자 한다. Rotation Matrix Use of R

keunjun.blog

so(3) : [w](Angular velocity skew-symmetirc matix)

SE(3)의 경우에 어떤 속도로 회전했는지를 나타내는 행렬이다.

keunjun.blog/2018/10/09/%EB%A1%9C%EA%B3%B5%EC%9E%85-04-rigid-body-motions-angular-velocities/

 

[로공입] 04. Rigid-Body Motions: Angular Velocities - Keunjun

지금까지는 표현하고자하는 body frame 은 움직이지 않았다. 지금부터는 body frame 이 시간에 따라서 움직이는 상황에 대해서 살펴볼 것이다. Angular Velocity 시간에 따라서 움직이는 body frame 이 있을때

keunjun.blog

이 둘 사이의 관계를 so(3)에서 exponential을 취해 SO(3)로 변환할 수 있었고 그 반대는 log를 취했다.

keunjun.blog/2018/10/12/%EB%A1%9C%EA%B3%B5%EC%9E%85-05-rigid-body-motions-exponential-coordinate-representation-of-rotation/

 

[로공입] 05. Rigid-Body Motions: Exponential Coordinate Representation of Rotation - Keunjun

회전 행렬을 공부할 때 Euler angle, roll-pitch-yaw 와 같은 표현법에 대해서 공부한 적이 있다. 이번에는 이 전 글에서 배운 각속도를 이용해 회전 행렬의 또 다른 표현하는 방법에 대해서 공부해본다.

keunjun.blog

각 개념에 대해 정말 잘 설명한 블로그를 참고했는데 이를 먼저 읽어보면 좋다.

 

이처럼 축의 회전, 속도를 공부했다.

이제 강체로 일반화해보자.

이는 내가 참고한 블로그의 6~9에 해당하는 내용이다.

 

1) Homogeneous Transformation Matrix(T, SE(3) group)

원점이 이동하고 축이 회전하는 병진운동과 회전운동을 모두 고려하는 강체운동을 나타내는 행렬이다.

keunjun.blog/2018/10/13/%EB%A1%9C%EA%B3%B5%EC%9E%85-06-rigid-body-motions-homogeneous-transformation-matrices/

 

[로공입] 06. Rigid-Body Motions: Homogeneous Transformation Matrices - Keunjun

지금까지는 회전에 대해서만 공부했다. 이 글에서는 회전 (rotation)에 이동 (translation)을 모두 함께 다루는 표현에 대해서 공부해보자. Homogeneous Transformation Matrices 회전 행렬 공부했을때처럼 똑같

keunjun.blog

Rsb(Rotation matirx)와 비슷하게 Tsb(Homogeneous Transformation Matrix)는 s에서 바라본 b 프레임이다.

차이점은 R은 축의 병진이동을 고려하지 않고 회전만 고려했고 T는 병진이동과 회전까지 고려한다.

 

역행렬 연산도 다르다.

R의 역행렬은 R'(transposed matrix)이지만 T의 역행렬은 필기와 같다.

 

공간 상에 위치한 점 p의 기준좌표변환도 다르다. R의 경우 3by3행렬로 p(3*1)와 행렬곱이 가능하지만 T의 경우 4*4행렬이다. 따라서 필기와 같이 연산한다.

 

필기의 오른쪽 부분내용처럼 연산순서, 기준프레임 확인이 중요하다.

오른쪽의 첫번째 식을 보면 TTsb가 있는데 T가 Tsb의 왼쪽에 있어 s프레임에 대한 w와 p로 생각해야하며 결합법칙이 성립하고 교환법칙이 성립하지 않으므로 회전을 먼저 하고 병진(Trans(p))를 한다. 이처럼 수식이 의미하는 움직임을 잘 해석할 수 있어야 한다.

 

이러한 Homogeneous Transformation Matrix는 SE(3) 그룹으로 정의한다.

 

2) Twist(V,se(3) group)

SE(3)의 경우에 어떤 속도로 운동하는지 나타내는 행렬이다.

원점이 고정되어 병진운동없이 회전만한 경우(so(3))에는 회전속도(w)만 있었지만

병진운동과 회전운동이 함께 나타나는 강체의 운동의 경우의 속도(se(3))는 병진속도(v)와 회전속도(w)를 모두 포함한다.

keunjun.blog/2018/10/22/%EB%A1%9C%EA%B3%B5%EC%9E%85-07-rigid-body-motions-twists/

 

[로공입] 07. Rigid-Body Motions: Twists - Keunjun

지금까지는 3차원 공간에서 존재하는 물체의 자세와 위치에 대해서 표현하는 방법을 공부했다. 우리는 자세와 위치를 표현하기 위해서 transformation matrix 을 이용했고 이러한 행렬들의 모임을 \(SE

keunjun.blog

강체의 공간에서의 속도를 나타낸 행렬(6 by 1)이다.

 

정리하면 R(SO(3))에서 [w](so(3))를 구한 것 처럼,

T(SE(3))에서 [V](se(3), 4 by 4)를 정의하고 V(6 by 1)를 Twist라고 정의한다. 

 

3) scew

공간상에서 강체의 속도를 Twist로 표현할 수도 있지만 공간 상에 존재하는 보이지 않는 회전축 S와 그 축을 중심으로 한 각속도로 표현할 수 있다.

 

V=[w1 w2 w3 v1 v2 v3]'

=S*세타닷

 

 

Twist에서 기준축 변환을 하고 싶을 때 T행렬(4*4행렬)을 6*6행렬로 변환시켜주어야 연산이 가능하다.

4) Wrench

파워=단위 시간당 일=속도*힘(힘 일정 가정). 모멘트와 힘을 함께 행렬로 표현한 것을 wrench라고 한다.

 

출처

www.coursera.org/learn/modernrobotics-course1/lecture/nwmqG/wrenches-chapter-3-4

 

Wrenches (Chapter 3.4) - Chapter 3: Rigid-Body Motions (Part 2 of 2) | Coursera

Video created by 노스웨스턴 대학교 for the course "Modern Robotics, Course 1: Foundations of Robot Motion". Homogeneous transformation matrices, twists, screws, exponential coordinates of rigid-body motion, and wrenches.

www.coursera.org

728x90
반응형

댓글