드디어 제어를 로봇에 직접 적용할 수 있는 파트입니다.
물론, 직전에 배운 기구학, 동역학, 동역학 파라미터 추정 등이 로봇 매니퓰레이터 제어 시에 필요 없는 것이 절대 아닙니다.
다만, 본 장을 포함해 앞으로 나올 위치기반 제어, 토크 기반 제어, 힘 제어, 그리고 컴플라이언스 제어까지 모든 제어 방법을 하나의 요리라고 한다면, 지금까지 공부한 것들은 로봇의 상태를 이해하기 위한 재료를 준비한 것이기 때문이죠.
동역학 기반 위치제어나 힘제어를 수행하기 위해서는 로봇 매니퓰레이터 작업상의 시작위치와 종료위치 사이의 궤적(trajectory)을 시간에 대한 함수로 정의하여 제어를 수행하는 것이 좋습니다.
당연하게도, 이는 매 제어 샘플링마다 연속적인 제어 입력 값이 인가될 수 있어야 상대적으로 좋은 제어 성능 및 안정성을 보장할 수 있습니다.
그러나 trajectory generation에 앞서서 path planning이 먼저 이해되어야 합니다. path planning은 본 토픽에서는 다루지 않겠습니다만, 참고할 review 논문(Path Planning for the Mobile Robot: A Review)을 걸어놓겠습니다. 그리고 해당 논문을 리뷰한 블로그도 참조합니다( 1link).
- Path planning (경로 계획): 로봇과 주위 환경에 대한 정보가 주어져 있을 때, initial state에서 final state로 가기 위한 optimal 또는 sub optimal path를 찾는 것.
- Trajectory generation (궤적 생성): 경로가 계획되면, 계획된 경로을 따라가기 위해 구체적으로 시간에 대한 위치/속도/가속도 함수를 정의하는 것. 궤적이 생성되면 로봇은 이 궤적을 따라가도록 매 시간(sample time)마다 제어되어야 한다.
이와 같은 함수가 $q_d(t), \dot{q_d}(t), \ddot{q_d}(t)$로 주어질 경우, 잘 알려진 trajectory generation은 3차/5차 다항식 기반 생성법과 구동기(관절 모터)의 최대 가속도를 활용한 궤적생성법 등이 있습니다.
3차 다항식 기반 궤적 생성
로봇 매니퓰레이터가 지나가야 할 모든 궤적에 대한 효율적인 방법은 목표궤적을 함수 형태로 가지고 있는 것입니다. 따라서 이를 일반화하여 함수 형태로 가지고 있게 해야합니다.
일반화를 위해 $k$번째 경유점에서 $k+1$번째 경유점 사이의 시간 간격을 다음과 같이 정의합니다.
$k$번째 선분에 대해서 시간에 대한 3차 방정식을 위치함수로 정의하고, 이를 시간에 대한 도함수로 속도함수, 2차 도함수로 가속도 함수를 다음과 같이 만들 수 있습니다.
이때, 가속도 함수는 주어진 시간 간격에 대해서 선형함수임을 알 수 있습니다.
미지수 $a_k, b_k, c_k, d_k$는 표 2.1에서 주어진 경계조건들을 만족시킬 수 있도록 결정되어야 합니다.
미정계수는 4개지만, 표 2.1의 경계조건들은 6개이므로, 식의 수와 경계조건의 수가 맞지 않아서 모든 경계조건을 만족시키는 3차 궤적생성 방법은 존재할 수 없습니다.
따라서, 위치/속도의 경계조건 4개 만을 가지고 4개의 미정계수를 결정합니다.
즉, 표 2.1를 보면 시작점은 초기 조건으로 주어질 테니 계수가 결정된다고 가정하면, 결국 $t_k, t_n$일 때의 위치/속도/가속도 경계조건을 모두 구하는 것이 좋지만, 위치/속도/가속도 함수 통 틀어서 존재하는 미정계수는 4개입니다. 따라서 위치/속도의 경계조건 4개만을 이용하는 것입니다.
지금까지 설명한 바는 아래와 같이 행렬식으로 정리가 가능합니다.
위 식 (2.102)를 풀어서 4개의 미정계수를 결정하며, $k=0$의 경우부터 계산하여, $n-1$번째 선분에 이르기까지, 전체 $n$번 문제를 풀어서 표 2.1의 모든 경유점을 interpolation하는 궤적생성을 할 수 있습니다.
본 방법은 쉽고 빠르게 목표궤적 생성이 가능하지만, 가속도에 대한 불연속성을 갖는다는 단점이 있습니다.
이러한 가속도의 특성은 위치제어를 빠르게 수행하기 위해서는 효과적이지만, 힘제어를 할 경우에는 가속도에 대한 고려가 반드시 필요하기 때문에 본 방법이 부적절할 수도 있습니다. 왜냐면 가속도는 힘과 같은 수준의 변화량을 가지기 때문입니다.
5차 다항식 기반 궤적 생성
3차 다항식기반 궤적의 문제점인 가속도 불연속 문제를 해결하기 위해 5차 다항식기반의 궤적을 이용하는 것이 가장 간단합니다.
실제로 로봇의 위치/힘제어 시 가장 많이 활용되고 있는 궤적생성 방법이 5차 다항식 기반입니다.
$k$번째 선분을 5차 다항식의 위치함수, 이에 대한 1차 도함수는 속도함수, 2차 도함수는 가속도 함수로써 다음과 같이 정의할수 있습니다.
미정계수 $a_k, b_k, c_k, d_k, e_k, f_k$를 결정하기 위해서는 표 2.1에 제시된 경계조건 6개를 활용하여 해결합니다. 이를 활용하면 다음과 같은 행렬-벡터 식을 얻을 수 있습니다.
식 (2.103)을 풀어서 6개의 미정계수를 결정하며, $k=0$ 경우부터 계산하여 $k=n-1$번째 선분까지 전체 $n$번 같은 방식으로 문제를 풀어서, 표 2.1에 제시된 모든 경유점을 interpolation하는 궤적 생성을 할 수 있습니다.
5차 다항식은 위치/속도/가속도 궤적들에 대한 경계조건에 의해 얻어진 결과이므로, 가속도 궤적은 그리 2.11에서 보이듯이 불연속이 존재하지 않는 연속함수로 만들어집니다.
만약에 가속도 함수도 미분 가능할 수 있는 수준이 되려면 7차 다항식을 써야합니다. 하지만 이는 미정계수 결정하기에 복잡하므로, 이때에는 convolution을 이용한 방법을 이용하는 것이 상대적으로 간단하다고 합니다.
최대 가속도를 활용한 궤적 생성법
로봇의 관절에 장착되는 모터는 각각의 성능한계를 갖습니다. 대부분의 경우 성능한계는 최대 속도, 최대 토크, 또는 그들 사이의 곱(일률)으로 표현됩니다.
모터 별로 최대가속도를 갖는 경우를 가정하여, 제시된 최대가속도를 활용하여 목표궤적을 생성하는 방법을 알아봅니다.
본 방법은 '최소 시간 궤적 생성방법'이라고도 불리우는데, 이는 최대가속도를 활용하여 한 위치에서 다른 위치로 이동하는 것은 최소의 시간에 목표점에 도달할 수 있기 때문입니다.
최대가속도 ($a_{max}$)만을 활용하는 경우 미정계수: - $[t_k, t_{k+1}]$구간에서의 종료시간 $t_{k+1}$ - $t_{s, k}$ (switching time): 최대 양의 가속도로 가속하다가 최대 음의 가속도로 감속을 하는 경우. |
최대가속도를 활용하여 최소시간에 다음 목표점에 도달할 수 있는 궤적은 다음과 같이 주어집니다.
이때의 $a_k, b_k, e_k, f_k, t_{s, k}, t_{k+1}$는 경계조건들로부터 결정되어야 하는 미정계수들입니다.
주어진 경계 조건으로부터 다음과 같이 4개의 미정계수는 결정됩니다.
미정계수 $t_{s, k}, t_{k+1}$는 스위치 타임에서의 연속조건 $q_{d, k}(t_k+t_{s, k})$와 $\dot{q}_{d, k}(t_k, t_{s, k})$으로부터 결정됩니다.
이에 대한 정확한 형태를 얻기 위해서는 2차원 비선형 대수방정식을 풀어야 합니다.
지금까지 살펴 본 최대가속도 방법을 아래 예제에 적용해가며 살펴봅시다.
위와 같이 시작점, 경유점, 종료점 조건 및 관절 모터의 최대가속도가 주어질 경우,
1) $k=0$일 때, $[t_0, t_1]^T$ 구간의 선분 궤적을 다음과 같이 정의합니다.
표 2.4에 주어진 경계조건으로 4개의 미정계수를 결정할 수 있습니다.
그리고 스위칭 타임에서의 $q_{d, 0}(t_{s, 0}), \dot{q}_{d, 0}(t_{s, 0})$ 연속조건을 아래와 같이 부여하면 다음과 같은 비선형 대수방정식을 얻을 수 있습니다.
2) $k=1$일 때, $[t_1, t_2]^T$구간의 선분 궤적을 다음과 같이 정의합니다.
최대가속도 조건은 음의 최대가속도 -> 스위칭 타임 -> 양의 최대가속도를 가지는 경우이므로,
$t_1=2\sqrt{0.105} - 0.1$이고, $a_{max}=10$ 입니다.
표 2.4에 주어진 경계조건을 기반으로 다음과 같이 4개의 미정계수를 결정합니다.
그리고 스위칭 타임에서의 $q_{d, 1}(t_1 + t_{s, 1}), \dot{q}_{d, 1}(t_1 + t_{s, 1})$ 연속조건을 아래와 같이 부여하면 다음과 같은 비선형 대수방정식을 얻을 수 있습니다.
위의 가속도 궤적에서 확인할 수 있듯이, 가속도는 양의 최대 혹은 음의 최대 만을 갖게 됩니다.
이상입니다.
* 본 글은 "실험로보틱스 교재 I(매니퓰래이션 및 비젼), 한국로봇학회, 제어로봇시스템학회, 한국로봇산업진흥원 "의 내용을 공부하면서 정리한 내용을 포스팅 한 것 입니다.
- Zhang, H.-y.; Lin, W.-m.; Chen, A.-x. Path Planning for the Mobile Robot: A Review. Symmetry 2018, 10, 450. https://doi.org/10.3390/sym10100450 [본문으로]
'Robot Theory > Manipulator Theory' 카테고리의 다른 글
위치제어 (0) | 2022.10.28 |
---|---|
동역학 파라미터들에 관한 선형 동역학 (0) | 2022.08.14 |
Dynamics and Inverse dynamics (0) | 2022.07.25 |
동역학 - 뉴턴 오일러 운동방정식 3 (0) | 2022.07.12 |
동역학 - 뉴턴 오일러 운동방정식 2 (0) | 2022.07.04 |