티스토리 뷰

반응형

출처 : K-mooc 강좌 / Robot manipulator and Underwater Robot Application

 

처음 시작점과 시작점에서의 속도, 그리고 가속도가 주어지고,

끝나는 점에 대한 정보와 끝나는 점에서의 속도와 가속도가 주어진다.

그리고 종종 중간에 지나가야 될 포인트가 주어진다.

 

속도라던지 가속도 같은 경우에는 초기에는 0으로 수행하는 경우가 많다.

또 많은 경우에는 멈춰서 어떤 작업을 수행하는 경우가 많기 때문에, 그런 경우에 대해서도 살펴본다.

 

우리의 목표는 부드러운 곡선을 만들겠다는 게 목표이다.

 

일단 1차 polinomial하면, 위치는 직선으로 나타난다.

0에서부터 갑자기 일정한 속도가 나올 수가 없으므로, 초기 시간과 끝나는 시간에 급작스러운 가속도 변화가 생긴다.

 

현실적으로는 이렇게 제어하면 아주 불안정한 상태로 끝난다. 그러므로 1차는 엄청나게 드문 방법이고, 속도가 굉장히 느린 경우에만 쓴다.

 

그러면 이번에는 3ck polinomial한 경로 계획법을 세워보자.

그러면 가속도가 선으로 표현된다.

초기속도가 0, 끝나는 속도가 0으로 표현하면 충분한 경로를 표현할 수 있다.

그러나 여전히 초기에 과도한 가속도가 발생하고, 직선 형태로 된 가속도가 결국 불안정하게 될 수 밖에 없다.

 

그러므로 총 6개의 boundary condition, 즉, 시작과 끝의 위치, 속도, 가속도를 전부 포함해서 완성하는 5차 방정식으로 경로 계획을 세워보는 게 가장 안정적이다.

6개의 미지수를 가지는 polinomial이라 하면, 초기 속도가 0, 끝나는 속도가 0이라고 해도 가속도도 아주 부드럽게 끝난다.

 

가장 많이 쓰이는 경로계획법이다.

 

trivial boundary condition 의 경우, 즉, 초기 속도,끝날 때의 속도, 초기 가속도, 끝날 때의 가속도 들을 전부다 0이라고 하면

 weighted sum이라고 해서 경로를 조금 단순화 해서 살펴볼 수가 있다.

 

그러면 프로그래밍이라던지 구현을 해볼 때 쉽게 프로그래밍이 가능하고 쉽게 수식을 만들 수 있다.

나머지가 다 0, x0와 x1이 주어지므로 가능하다.

 

두번째로 3차 polinomial의 경우에도 마찬가지이다.

여기서 w(t)는 3차 polinomial의 형태이다.

다음과 같이 가능하다.

 

또, 당연히 5차 polinomial도 가능하다.

 

그런데 이 중에서도 5차 폴리노미얼은 일일이 계속해서 수식으로 푸는 게 지루한 작업이다.

따라서, 해당하는 매트릭스 형태로 프로그램상에 반영해놓고 쓴다.

 

역행렬을 구해서, 그 역행렬로 구해진 행렬식을 만들어서 c0~c5까지 결정한다.

5차보다 훨씬 고차로 올라가게 되면 higher order를 만들 수 있다.

그러면 경계조건들이 너무 많이 늘어난다.

계산량이 많아지므로, 실용적인 측면에서는 5차가 가장 좋다.

반응형