목록분류 전체보기 (192)
완숙의 블로그

기구학적인 joint 들은 각자가 가지는 특징 때문에, 기구학적으로 제약을 갖는다. 이 제약은 결국 시스템의 자유도를 구속하게 된다. Ground 2차원 공간에서 기본적으로 가지는 자유도는 3이다. 이때, 특정 포인트를 내가 지면으로 잡는다면, 이렇게 3개의 제약이 걸리게 된다. Revolute joint 특정 포인트에 Revolute joint가 달리게 될 경우, 회전만 가능하고, 두 body 사이에 연결된 revolute joint는 하나만을 가리켜야 한다. Global coordinate 에서 표현한다고 했을 때, 따라서 body 1에서 가리키는 revolute joint의 벡터와 body 2에서 가리키는 revolute joint의 벡터는 같아야 한다. 따라서 2개의 제약이 걸리게 된다. Pris..

좌표계의 회전 변환 i번째에서 정의된 좌표계는, 내가 원하는 global 좌표계에서 좌표로 다음과 같은 관계를 갖는다. 이 행렬을 A라 정의하자. 위치 벡터의 표현 다음과 같이 global 좌표계가 있고, 특정 body에서 정의된 좌표계가 있을 때, 우리는 이 두 좌표계를 변환할 필요가 있다. global 좌표계에서 body의 움직임을 알고 싶다. 강체라 가정하고, body의 좌표계에서 중심점이 되는 곳을 우리는 reference point 라 부른다. 또 그곳에서 정의되는 좌표계를 body frame, local coordinate 라 한다. 그리고 global 좌표계의 중심이 되는 곳을 reference frame 이라 부를 것이다. 이 두좌표계를 변환하는 관계식은 다음과 같다. 이 표기법을 말로 정..

행렬의 종류에 대해서는 링크로 대체한다! Types of Matrix Orthogonality 두 벡터를 곱했을 때 수직! 자기 자신이 나온다. 자기 자신을 곱한다면 자기자신의 크기의 제곱이 나와야 한다. Orthonomality 여기서는 두 벡터가 단위 벡터이다! 따라서 자기 자신을 곱했을 때, 1이 나와야 한다. 사실 Orthogonal Matrix는 각 열(혹은 행) 벡터가 모두 단위 벡터일 때 정의를 만족한다! Vector Differentiation Scalar Function by Scalar 이때 t에 대해 미분하면, 이를 벡터 형식으로 나타내면, 여기서 벡터로 표현된 녀석을 다음과 같이 표현하자. 그렇다면 위의 식은 다음과 같이 정리된다. Vector Function by Scalar 벡터..

QR Decomposition QR 분해의 근본적인 이유는 무엇일까? 기존의 선형대수에 대한 글에서, 행렬은 하나의 공간을 매핑한다고 했다. 그리고 행렬 size가 정사각행렬이고, full rank일 때 n차원 공간을 매핑한다. 그런데 공간을 매핑하는데 있어, 굳이 orthogonal 할 필요는 없다. 즉 직교하는 축으로 공간이 매핑될 필요는 없다. 하지만, 우리는 직교축에 익숙하다! 또한 다루기도 매우 쉽다! 따라서 우리는 특정 행렬이 Orthogonal 한 행렬로 나타내어 진다면 다루기 굉장히 수월할 것이다! 필요성이 생겼으니 만들어보자. Assumption A 행렬의 모든 벡터는 선형 독립 이다. Idea 2 차원 공간에서 먼저 생각해보자. 우리가 하고 싶은 것은, A 벡터를 Orthogonal 한..

원소의 측면 R이 결과 행렬이라고 한다면, 행의 측면 행의 측면에서 행렬의 곱을 바라본다면, 내가 변환된 행렬이 오른쪽에 있다고 가정했을 때 판단하면 유용하다. A가 내가 관심을 두는 행렬이고, E가 변환을 하는 행렬이라 생각하자. 따라서 내가 원하는 행렬이 오른쪽에 있다면 그 행렬을 행벡터의 모임 으로 생각하고 왼쪽의 변환 행렬은 행방향 순서대로 상수배를 해주고 더한다는 개념으로 이해한다. 결과는 행벡터이다. 따라서, 열의 측면 이번에는 내가 관심이 있는 행렬이 왼쪽에 있다고 생각하자. 그렇다면, 따라서, 정리 기본 요소로 보았을 때 계산은, 식으로 나타냈을 때 굉장히 심플하다! 내가 원하는 행렬이 오른쪽에 있을 때는 행으로 본다! 내가 원하는 행렬이 왼쪽에 있을 때는 열로 본다!

LU Decomposition LU 분해는 근본적으로 가우스 소거법의 방법을 차용한다. 가우스 소거법은 행의 조작을 통해, Upper Triangle Matrix 를 만드는 것이 핵심이다. 이 과정에서 우리는 행의 조작을 하는데, 윗삼각행렬을 만들기 위해 상수배와 더하기 빼기를 하는데, 이 과정을 행렬을 곱하는 것으로 대치하는 것이 전부이다. 먼저 가우스 소거법을 대치하는 행렬을 어떻게 만들지 부터 생각해보자. E 행렬 1행 * (1/2) + 2행의 결과를 2행에 넣어야 한다. 이 때, A 행렬을 다음과 같이 바라보자. 각각의 벡터는 행을 의미한다. 우리는 1, 3행은 그대로, 2행을 위의 연산을 수행한 뒤 넣어줘야 하므로, 다음과 같다. 이 행렬을 다음과 같이 사용하겠다. 그렇다면, 이 수행된 결과에 ..

Linear Independence 하나의 행렬은 공간을 나타낸다고 볼 수 있다. 다음과 같은 행렬이 있다면, column 벡터를 보면, i, j, k를 나타냄을 알 수 있다. 그런데 만약에 각각의 벡터가 서로의 상수배를 한 관계를 가지고 있다면, 이 공간은 행렬 사이즈에 해당하는 공간을 매핑하지 못한다. 이 경우 우리는 행렬이 선형 종속 이라 말한다. 반대로 공간을 매핑할 수 있다면 선형 독립 이라 말한다. 이것을 수식으로 판단해보면, 위 식을 만족하는 e 벡터가 0 벡터인 경우 a .. 벡터들은 선형 독립 이라 한다. 선형 독립이 되기 위해서는 위의 행렬식에서, Determinant 가 존재해야만 한다. 즉, 비특이행렬 이어야 하고, 위 식의 해인 e 벡터는 0 벡터로 유일 해야 한다. Rank 행렬..

Determinant Inverse Matrix Definition 정사각행렬에서 정의된다. Determinant 에 따른 구분, 그리고 의미 Determinant 가 존재한다. 역행렬이 존재한다. 비특이행렬 (Non-Singular Matrix) 이 행렬이 다른 벡터에 곱해졌을 때, 차원의 크기가 유지된다. 방정식의 해가 하나로 정해진다. Determinant 가 존재하지 않는다. 역행렬이 존재하지 않는다. 특이행렬 (Singular Matrix) 이 행렬이 다른 벡터에 곱해졌을 때, 차원의 크기가 축소된다. 방정식의 해가 무수히 많다. 성질 Orthogonal Matrix