티스토리 뷰

Null space and Redundant 

일반적으로 Redundant robot 이라고 하면 Task space에 비해 여자유도를 가진 로봇을 말한다.

쉽게 생각했을 때 6자유도가 아닌 7자유도 로봇 팔이라고 볼 수 있겠지만 이것은 틀린 표현이다.

Task space와 비교했을 때 robot의 자유도가 큰 경우를 redundant한 상황이다 라고 표현하는 것이 맞다.

일반적으로 로봇 팔의 Task가 6자유도라고 생각할 수 있지만, 많은 경우 (단순한 페인팅, 그라인딩, peg in hole 등)들이

5자유도(x,y,z,r,p)만 필요하다. 

Optimization for redundant robot

여자유도가 있는 경우에는 torque, joint limits, manipulability, obstacle avoidance등에 대해 최적화를 진행할 수 있다.

이때 optimal 문제와 로봇팔의 jacobian을 구하는 문제를 어떻게 합치는지가 문제이다. 

기본적으로 Pseudo inverse jacobian을 구하는 문제가 optimal 문제를 푸는 것과 같기 때문에

 

Optimization = Pseudo inverse + optimal 문제의 형태로 문제를 구성하면 될 것 같다는 생각을 할 수 있다.

이런 생각을 기반으로 하는 것이 Null space projection 이다.

일반적인 pseudo inverse Jacobian을 통해 Joint 값을 (Joint 속도값을) 구하게 되는데,

이때 redundant인 경우에는 해가 무한하다. 이 많은 해 들중에 최적화를 시킬 수 있는 해를 찾아보는 방법이

Null space projection이 된다.

Nullspace projection

일반적인 N 값을 찾은 후 무수한 theta 값 중 하나를 이용해 joint 속도값을 찾게 된다.

기존에 구했던 값의 경우 단순히 pseudo inverse 에 의해서 theta값이의 norm값이 가장 작은 값을 찾았다면

Nullspace projection을 통해서는 norm값은 생각하지않고 Nullspace에서의 theta값에서 constrain을 만족하는 값을 찾는 방법이 된다.

 

여기서 Projection이라는 단어가 헷갈릴 수 있다.

간략하게 글로 설명하자면, 결국 jacobian은 joint 값을 catersian 값으로 mapping해주는 행렬인데, 이는 특정 직선,평면 형태로 표현이 가능하다.

그리고 Null space 공간인 0=J*theta_dot에서 특정 theta_dot값을 하나 골라서 이를 직선 혹은 평면에 projection을 하면

mapping도 만족하면서, Homogeneous solution도 만족하는 빨간색 벡터를 구할 수 있게 된다.

 

문제는 theta_dot 값이 Null space 안쪽에 없을 경우가 있는데, 이때는 Null space에 projection한 후 solution을 구하면 된다. 이런 방식으로 값을 찾기 때문에 Null space Projeciton이라는 단어를 사용했다.

How to chooes theta zero dot?

theta zero dot의 경우는 최적화로 가는 방향 벡터가 된다.

먼저 Target function을 설정한다. 

당연하게도 Target function이 정해졌기 때문에 이를 minimize 혹은 maximize 하는 방향을 찾기 위해 Gradient Descent 를 사용하게 된다. 이를 통해서 Joint 속도값을 구해주면 된다.

 

최근하고 있는 연구 내용에 필요한 내용이라,, 정리해봤습니다.

한동안 글을 안쓰다 오랜만에 썼네요. 내용은 참고자료에 있는 강의 링크를 보시면 더 자세히 알 수 있습니다.

조금만 더 공부해서 모바일 매니퓰레이터에 적용해보고 싶은 생각이 뿜뿜이네요

 

 

참고자료

https://www.youtube.com/watch?v=vXXamn2EC9I&t=10s

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31