간단한 Null space control 문제를 풀어보자. Task space가 2차원으로 주어진 경우에서 3자유도를 가진 로봇을 움직일 때를 생각해보자. 로봇팔의 자유도보다 Task space가 작기 때문에 redundant라고 볼 수 있으며, 여자유도가 남아 Null space control이 가능해진다. 간단하게 1번,2번 조인트를 최소로 움직이도록 하는 Target function을 정해보자. 앞선 글에서 말한 Target function이 추가된 pseudo inverse 식은 아래와 같아진다. 위 식을 풀어서 로봇 팔을 움직이게 되면 Target function을 optimal하게 풀게 되며, 이는 일반적인 pseudo inverse kinematic을 풀어서 움직인 로봇 팔과 비교했을 때 확..
단순히 operational space에서 제어하여 특정 위치로 로봇을 이동시키는 목적 외에도 다수의 제어 목적이 있을 수 있다. 예를들어 1. 특정 위치로 로봇팔 끝단을 움직이면서 2. elbow joint 값을 높인 상태로 유지해라 라는 2가지의 목적이 있을 수 있다. 이런 2가지 목적을 달성하기 위해서 문제는 로봇의 자유도에 있다. 만약 operational space가 generalized coordinates과 동일하다면, 즉 만약 operational space가 로봇의 모든 자유도를 제약하고 시스템의 상태가 operational space에 정의 된다면, 1번의 목적을 달성하는 컨트롤러에 대한 성능을 포기하지 않고 2번의 목적을 달성하는 것은 불가능하다. 2링크 로봇팔은 2자유도를 가..
Null space control을 다루기 전에 먼저 Null space 에 대해서 이야기해보자. 기존에 작성해둔 Null space 설명을 가져왔다. "널 스페이스는 컬럼 스페이스와는 전혀 다른 Subspace이다. 선형 방정식 AX=b에서 b가 zero vector일때 즉 AX=0일때 모든 가능한 해 X에 대한 집합이다. 특정 행렬A와 X가 곱해졌는데 그게 0이 나올때 X의 집합, x가 이루는 공간을 Null space라고 한다. 3차원 공간에서 Null space는 직선으로 표현된다고 한다." 쉽게 말해 AX = 0 일 때 가능한 모든 해 X의 집합이 Null space 라고 볼 수 있다. 직관적인 이해를 위해 아래 영상을 참고하자. https://www.youtube.com/watch?..