목록Robotics/Geometry (7)
lastnamesong

지금까지 정리했던 rotation matrix, Euler angle과 같은 표현 방법의 한계점이 분명히 존재한다.가장 대표적인 문제는 Gimbal lock이며, 오일러 각으로 표현하는 세 축이 서로 독립적이지 않기 때문에 축이 겹쳐서 자유도를 잃는 상황이 발생하는 것이다. 이런 현상이 시스템을 제어할 때 일어나면 쉽지 않을 것이다.또다른 문제로는 연산량의 문제이다. Rotation matrix를 이용하여 회전을 계산할 때에는 행렬 계산이 들어가게 되며, 이는 컴퓨터에서 계산할 때에 리소스 사용을 키우는 원인이 된다. 시뮬레이션 상황이라면 컴퓨터 성능을 높이면 되겠지만 모바일한 로봇의 연산장치로 이 행렬 계산을 매 제어 주기마다 계산하는 것은 현실적이지 못하다. 이의 대안으로 사용되는 것이 quatern..

이전 글들에서 회전을 표현하는 방법으로 \( 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..

[Transformation Matrices] Homogeneous TransformationRotation의 경우 rotation matrix, Euler angle를 이용해 표현하는 방법에 대해 공부했다. 좌표계에서의 변환에서는 rotation (회전) 뿐만 아니라 translation (평행이동) 또한 존재한다. 이번 글에서는 이 둘을lastnamesong.tistory.com위의 글을 작년 10월에 쓴 이후로 로봇 관련 글을 하나도 쓰지 않았다.. 스스로를 반성하며 나의 전공에 관한 글도 꾸준히 쓰겠다는 다짐을 해본다.이번 글에서는 로봇과 같은 rigid body system의 속도, 그 중에서도 각속도를 중심으로 앞서 배운 matrix들을 이용해 표현하는 방법에 대해 정리해보고자 한다.설명을 위..

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

앞서 물체와 좌표계의 위치와 관련된 정보를 나타내기 위해 rotation matrix에 대한 내용을 정리했다. 이런 rotation matrix를 표현하기 위한 방법으로 다양한 방법이 존재한다. 항공기, 드론 제어 등에서 많이 볼 수 있는 roll-pitch-yaw (RPY), 쿼터니언 (quaternion) 등이 대표적이며 이번 글에서는 그 방법 중 하나인 Euler angle (오일러 각)에 대해 공부해본다.- Euler Angle위키피디아에 따르면, Euler angle은 강체가 놓인 방향을 3차원 공간에 표시하기 위해 도입된 세 개의 각도이다. 여기서 주목할 점이 세 개의 각도라는 것이다. 이는 rotation matrix를 표현하는 제일 간결한 표현방법이며, 세 개의 변수만 있으면 거의 모든 회..

로봇의 움직임을 분석하고, 제어할 때 가장 기본이 되는 것이 "좌표계"에 대한 개념이다. 이는 로봇공학 뿐만 아니라 항공, 인체 동작 분석 등에서도 매우 중요한 개념이다. 예를 들어서 보행 로봇의 발끝이 한 발을 내딛을 때 우리는 로봇 발이 얼마만큼 어떤 방향으로 나아가야 하는지를 정의해주어야 한다. 로봇의 구동부는 각각을 기준으로 어떻게 회전, 병진운동 할지에 대한 제어가 가능하기 때문에, 우리는 각각의 움직임을 정의해주어야 한다. 이는 강화학습, 모델 기반 제어와 같은 상위단 제어 (high-level control)을 적용할 때에도 필요하다. 기준이 되는 좌표계를 잡고, 움직이는 파트 (e.g., 발 끝, 무릎 관절, 허벅지 프레임 등)에 새로운 좌표계를 정의하여 모든 분절에 대한 움직임을 정의할 ..