hyein's 로봇 알고리즘 연구소

Redundant robot에서 Null Space Projection의 개념 본문

Robotics Algorithm

Redundant robot에서 Null Space Projection의 개념

hyein14 2022. 3. 7. 21:18

안녕하세요. 저는 최근에 Whole Body Control(WBC)에 관심을 갖고 스터디를 하고 있습니다. WBC는 초기 Oussama Khatib이 제안을 했는데, 이것은 특정한 제어 방법론이 아니라 multi tasks를 feedback optimization을 통해 동시에 제어하는 framework입니다. 특히 WBC는 4족 로봇 또는 모바일 매니퓰레이터(mobile manipulator)나 휴머노이드 로봇와 같이 mutli task를 가진 로봇에서 많이 사용되는 framework입니다. 공부를 하다보니 Redundancy(여자유도)와 Null Space Projection과 관련된 개념이 계속 나와서 관련된 내용들을 정리해보았습니다. ^^ 

 

하기의 전반적인 내용은 yang jeong yean 교수님의 redunant robot optimization with null space projection 강의를 참조하였습니다.

 

1. Redundancy(여자유도)

 

  로봇 Manipulator 제어를 하다보면, joint space에서의 제어보다는 주로 관심있는 대상인 operational space에서 주로 제어를 합니다. 아래와 같이 3 자유도 로봇이 2차원 평면에서 positioning(x, y 위치)을 하는 예제를 생각해봅시다. 2차원 평면에서는 로봇이 positioning을 하는데 필요한 최소 조인트의 갯수는 2개이지만 3자유도 로봇은 추가 조인트가 더 있습니다. 이를 Redundancy(여자유도)를 가진 로봇이라고 이야기합니다.

즉, 조인트 갯수 > task space 갯수 이면, redundancy(여자유도)를 가진 로봇입니다.

 

 이 로봇은 desired postion의 위치로 갈때 1번의 상태를 가질 수도 있고, 2번의 상태를 가질 수 도 있습니다. 만약 1번 상태쪽에 장애물이 있다면, 여자유도의 특징을 이용하면 2번처럼 움직이면서 장애물 회피를 할 수 있습니다. 즉, 여자유도는 로봇 모션을 다양하게 하는데 이용이 될 수 있습니다.

 

2. General Solution(일반해) - Null space 도입 

 

  Null space의 개념은 undetermined system에서 나오는 개념입니다. 공대생이라면 누구나 학부생때 공업수학을 배워서 알고 있는 개념일 것입니다. 풀고자 하는 문제가 Ax = b라고 하겠습니다. 해인 x가 n개이지만 rank(A) < n이라면 수없이 무수한 해가 존재하고 이를 undetermined system이라고 합니다.

task space와 joint space는 아래와 같은 관계로 표현이 가능합니다. 하지만 undetermined system이라면, task space에서 joint space로 변환을 할때 유일한 해를 가진다고 볼 수 없습니다. 맨 위의 3자유도 로봇의 예시를 보면 이해가 쉽게 갈 겁니다.

따라서, joint space의 해를 구할 때 Null space의 개념을 도입하여 일반화를 진행합니다.

 

 

3. Null space projection

 

 위에서 구한 generalized solution의 물리적인 의미를 보기전에, J+는 pseudo inverse로서 1) || x' - Jq' || 의 least square 개념과 2) q'을 최소화 시키는 optimal한 해를 구하는 inverse입니다. 이를 물리적으로 보자면, 원점에서 x' = Jq'을 만족하는 surface까지의 최소 거리로 볼 수 있습니다. 그리고 Null space평면 또한 그릴 수 있습니다.

generalized solution을 자세히 살펴보면, ①의 식은 그림에서의 Null space 평면에서 임의의 점 q0'을 나타낼 수 있습니다. 이것이 null space projection입니다. 여기에 ②을 더하면, 최소 거리로 x' = Jq'평면에 projection이 됩니다. 그러면 원점에서 해당 점까지의 새로운 solution이 만들어 집니다. 이것이 generalized solution입니다.

 

4. Null space projection을 이용한 Optimization

 

여기까지의 개념을 정리를 해보면 다음과 같습니다. 여자유도(redundant)를 가지는 로봇은 이 개념을 이용하여 다양한 로봇 모션 제어가 가능합니다. 여자유도를 가지면, 조인트의 해가 undetermined하게 되는데 이때 Null space의 개념을 사용하여 해를 일반화 시킬 수 있습니다. 이 식에서 임의의 q0'은 이는 최적화(optimization)를 하고자 하는 방향의 벡터입니다.

 

예를 들어 task space 제어에서 (x,y)로 움직이면서, 1번째와 2번째 조인트의 움직임을 최소화 하는 함수로 objective function을 구성한다고 하겠습니다. 그럼 object function H 는 q1^2 + q2^2로 이루어집니다. 이를 gradient decent를 사용하여 q0'을 구할 수 있습니다.

 

이렇게 Null space projection의 개념을 사용하면 최적화 하고 싶은 다양한 로봇 모션을 만들 수 있습니다. 개인적으로 재미있던 주제였고, 이를 이용하여 3자유도 로봇암을 바탕으로 python 시뮬레이션을 해보아야겠네요.

Comments