목록Robotics (10)
lastnamesong

지금까지 정리했던 rotation matrix, Euler angle과 같은 표현 방법의 한계점이 분명히 존재한다.가장 대표적인 문제는 Gimbal lock이며, 오일러 각으로 표현하는 세 축이 서로 독립적이지 않기 때문에 축이 겹쳐서 자유도를 잃는 상황이 발생하는 것이다. 이런 현상이 시스템을 제어할 때 일어나면 쉽지 않을 것이다.또다른 문제로는 연산량의 문제이다. Rotation matrix를 이용하여 회전을 계산할 때에는 행렬 계산이 들어가게 되며, 이는 컴퓨터에서 계산할 때에 리소스 사용을 키우는 원인이 된다. 시뮬레이션 상황이라면 컴퓨터 성능을 높이면 되겠지만 모바일한 로봇의 연산장치로 이 행렬 계산을 매 제어 주기마다 계산하는 것은 현실적이지 못하다. 이의 대안으로 사용되는 것이 quatern..
공학의 여러 이론이나 내용 중 핵심이 되는 지수함수는 행렬에도 적용이 가능하다.이번 글에서는 matrix exponential의 정의와 성질에 대해서 정리한다.- Motivation선형 미분방정식 \( \dot{x}=ax(t) \)가 있다 (\(a\)는 상수). 모든 변수는 scalar이며 (i.e., \( x(t) \in \mathbb{R}, \, a \in \mathbb{R} \)), 초기조건은 \( x(0) = x_0 \)이다.이 때의 해는 \( x(t) = e^{at}x_0 \)로 구해진다. 이를 Taylor series expansion으로 전개하면 다음과 같다.$$ e^{at} = 1 + \dfrac{at}{1!} + \dfrac{(at)^2}{2!} + \cdots = \sum^{\infty..

이전 글들에서 회전을 표현하는 방법으로 \( SO(3) \)의 정의와 rotation matrix의 성질에 대해 알아보았다. Rotation matrix를 parameterize하는 방법으로는, roll-pitch-yaw (RPY), 오일러 각 (Euler angle)가 있었으며 각각에 대해서도 이전 글에 소개했던 바가 있다. 또한 rigid body의 twist를 rotation matrix의 미분과 skew-symmetric matrix로 표현하는 방법을 학습했다.이번 글에서는 이를 위한 방법 중 하나인 exponential coordinate에 대해 정리하고 matrix exponential을 이용해 rigid body의 rotation을 구하는 방법을 소개한다.Matrix exponential에 ..

[Rigid Body Motions] Linear & Angular Velocities[Transformation Matrices] Homogeneous TransformationRotation의 경우 rotation matrix, Euler angle를 이용해 표현하는 방법에 대해 공부했다. 좌표계에서의 변환에서는 rotation (회전) 뿐만 아니라 translation (평행이동)lastnamesong.tistory.com이전 글에서는 rigid body의 linear velocity와 angular velocity에 대해 정리했고, rotation matrix를 이용해 skew-symmetric matrix를 만들고, 이를 이용해 angular velocity를 표현하는 방법을 소개했다.Homog..

앞선 글에서 Skew-symmetric matrix와 vee/hat operator의 정의에 대해 소개했던 적이 있다. [Rigid Body Motions] Linear & Angular Velocities Linear and angular velocities of rigid bodieslastnamesong.tistory.com 이 중 hat operator와 관련한 쓸모있는 성질들을 소개하고 몇 가지는 증명을 해보도록 하겠다. 이 글에서 정의하는 수식적인 부분 중 소문자 알파벳 (e.g., \(a, b, ...\))은 \(3 \times 1 \) 벡터, \( R \)은 3차원의 rotation matrix로 정의하겠다. - \( \hat{\cdot} \) is linearLinearity를 보이기 위..

[Transformation Matrices] Homogeneous TransformationRotation의 경우 rotation matrix, Euler angle를 이용해 표현하는 방법에 대해 공부했다. 좌표계에서의 변환에서는 rotation (회전) 뿐만 아니라 translation (평행이동) 또한 존재한다. 이번 글에서는 이 둘을lastnamesong.tistory.com위의 글을 작년 10월에 쓴 이후로 로봇 관련 글을 하나도 쓰지 않았다.. 스스로를 반성하며 나의 전공에 관한 글도 꾸준히 쓰겠다는 다짐을 해본다.이번 글에서는 로봇과 같은 rigid body system의 속도, 그 중에서도 각속도를 중심으로 앞서 배운 matrix들을 이용해 표현하는 방법에 대해 정리해보고자 한다.설명을 위..
회전변환 행렬의 여러 성질이 있지만, 벡터 외적과 관련하여 흥미로운 성질이 있어 공유한다. 두 벡터를 회전시킨 후 벡터 외적을 취하는 것과 벡터 외적을 먼저 취한 다음 결과를 회전시키는 것이 동일하다는 것이다. (엄밀하게 분배법칙이라고 할 수는 없겠지만 편의상 분배법칙이라고 제목에 적었음)$$ (Rv) \times (Rw) = R(v \times w)$$증명은 다음과 같다. 우선, 벡터의 외적 결과 \( (v \times w) \)의 \(i\)번째 벡터를 Levi-Civita symbol을 이용해 표현할 수 있다. (자세한건 아래 링크 참고) 레비치비타 기호 - 위키백과, 우리 모두의 백과사전레비치비타 기호(Levi-Civita symbol) 또는 치환 텐서(permutation tensor)는 선형대수..

Rotation의 경우 rotation matrix, Euler angle를 이용해 표현하는 방법에 대해 공부했다. 좌표계에서의 변환에서는 rotation (회전) 뿐만 아니라 translation (평행이동) 또한 존재한다. 이번 글에서는 이 둘을 모두 포함하는 변환의 표현 방법과 수학적인 의미에 대해 공부해본다.- Homogeneous Transformation벡터나 회전을 표현하는 방법이 다양하기 때문에, 자료마다 표현하는 방식이 조금씩 다를 수 있다.여기서 정의한 표현 방식 (e.g., \( r^{0}_{1} \)과 \( R^{0}_{1} \))은 블로그의 로봇 관련 글에서 계속 쓰일 수 있으니 참고하면 좋을 것 같다.Rotation matrix를 설명 (아래 링크 참고)할 때 좌표계의 변환에 대..