로봇 매니퓰레이터는 끝단을 통해서 작업을 합니다.
이렇게 끝단을 작업하려면 당연히 로봇을 구성하는 각 관절을 움직여야 하므로, 관절공간과 작업공간에서 각각 제어하는 방법이 필요합니다.
관절공간에서의 위치 제어는 로봇 끝단의 위치를 제어하기 위해 필요한 관절의 목표 위치를 계산한 후, 해당 위치로 관절이 이동할 수 있게 하는 것입니다.
이 경우, 작업공간 위치제어 전에 관절공간 위치제어기를 먼저 거치게 됩니다.
작업공간에서의 위치제어는 직접적으로 로봇의 끝단을 제어하기 위한 토크를 각 관절에 적용하는 방식으로 진행됩니다.
로봇 끝단을 이용한 작업은 크게 자유공간작업과 접촉작업으로 분류될 수 있습니다.
- 자유공간작업: 물체를 어떤 위치에서 다른 위치로 옮기는 것과 같이 환경과의 접촉이 없는 작업
- 접촉작업: 로봇의 끝단이 환경과 접촉을 하면서 수행하는 작업. 위치제어 + 힘 or 임피던스 제어가 같이 고려되어야 함.
관절공간 제어를 이용한 위치제어 방법은 역기구학을 이용한 위치제어, 자코비안 역행렬을 이용한 방법들이 있습니다.
작업공간 위치를 제어하는 방법은 동역학의 이용 유무에 따른 자코비안 전치행렬 제어방법과 동역학 모델을 이용한 방법이 있습니다.
비례 미분 위치제어기
비례 미분 위치제어기를 설명하기 위해, 1차원에서 움직이는 질량 m을 가지는 물체를 대상으로 한 제어기를 예시로 듭니다.
질량 m을 가지는 물체의 한 방향으로의 운동방정식은 아래와 같습니다.
위치제어를 한다는 것은 질량에 가해지는 힘($f$)을 계산하여 시스템에 가해주어, 질량의 위치($x$)를 목표위치($x_d$)에 도달하도록 하는 것입니다.
$x_d$에 도달하며 원하는 과도구간(정상상태의 도달 직전)에서의 응답을 갖도록, $f$를 시간과 $x$에 따라서 가해주는 것이 제어기 설계라고 할 수 있습니다.
즉, 누군가 제어기 설계가 무엇이오? 하고 묻는다면 원하는(생각하고 있는) 입력을 가했을 때 원하는 출력이 나오도록 해주는 것 이라고 하면 되는 것이죠.
결국 위치제어기에서는 출력 값이 $f$가 되는 것이고, 이로 인해 질량의 위치가 제어되는 것입니다.
이러한 제어기의 설계 방법은 비례 미분 제어, 근궤적 방법, 주파수 영역 방법, 상태방정식을 사용한 방법 등과 같은 선형제어기 설계방법부터 비선형제어기 설계 방법까지 다양합니다.
그리고 이러한 제어기들은 시스템의 상태$(x_d)$와 현재 상태$(x)$를 비교하여 오차를 줄이도록 피드백 제어기를 사용합니다.
비례 미분 제어기(proportional-derivative controller)는 위치오차 비례항과 속도오차($\dot{x_d}-\dot{x}$) 비례항으로 구성됩니다.
목표위치 값이 궤적의 형태로 입력되면 $x_d(t)$가 제어기의 기준 값으로 들어오고, 그에 대한 미분 값 $\dot{x}_d(t)$이 속도오차 비례항에 사용됩니다.
현재 속도 $\dot{x}$는 센서를 사용해서 얻거나, 현재 위치 값을 미분하여 구할 수 있습니다. 식 (3.2)에서 제어기의 이득들과 성능의 관계를 이해하는 것이 중요합니다.
비례 미분 제어기를 운동방정식 (3.1)에 적용하면 다음과 같습니다.
이와 같은 2차시스템의 $k_p$와 $k_v$값에 따라서 시스템의 응답이 달라지게 되며, 2차 시스템의 고유진동수 $\omega_n$과 댐핑계수 $\zeta$와 연관됩니다.
결국은 제어시스템의 특성인 $k_p$와 $k_v$를 결정하는 것이 중요한데, 가장 단순하게는 원하는 시스템의 사양에 맞도록 튜닝하는 방법이 있습니다.
일반적으로 $\zeta=1$이 되도록하여 임계댐핑을 갖도록 합니다. 임계댐핑은 overshoot없이 가장 빠른 응답을 보인다는 특징이 있습니다.
그러나, 실제 시스템에서는 자체적으로 댐핑이 존재하므로, $\zeta<1$값으로 임계댐핑이 되도록 설계할 수 있습니다. 그럼에도 불구하고, 실제 시스템에 존재하는 모든 물리량을 모델링 가능하다면, 더욱 정교하게 제어가 가능합니다.
하지만 정말로 정교한 시스템이 아닐경우, 일반적으로 그러한 노력을 하는 것 보단 큰 개념으로 모델링을 하고 여러 번의 실험을 통해서 튜닝을 합니다.
왜냐하면 마찰과 같은 실제 시스템의 댐핑을 정확하게 예측하기 힘들기 때문입니다.
결과 적으로 제어 이득은 다음과 같이 식 (3.4)를 역으로 계산하여 구할 수 있습니다.
;제어기 이득값의 물리적 의미와 한계
일반적으로 위치 이득의 증가는 응답속도를 높이는 역할을 하며, 속도 이득의 증가는 해당 관절의 댐핑을 증가시켜 안정화에 기여합니다 (전형적인 PD제어의 특징이죠?).
비례 미분 제어기의 경우 실제 시스템에서는 한계가 존재하며, 어느 값 이상이 되면 로봇이 불안정해지기 시작합니다.
- 위치 이득 값을 증가시키면 어느 순간, 시스템의 공진 값들 중 가장 작은 값과 일치하게 되면서 공진하게 됩니다.
- 속도 이득 값의 상한은 주로 시스템 지연(delay)과 연관이 되며, 이론적으로는 댐핑을 높여 주는 효과가 있지만, 어느 값 이상이 되면 이 또한 시스템을 불안정하게 합니다.
;모델링 오차와 외란의 영향
실제 시스템의 제어기를 설계하게 되면 필요 파라미터인 질량 값 예측 결과의 오차, 제어기에서 계산된 명령 값인 힘 $f$가 실제 시스템에는 정확하게 입력되지 않을 수 있습니다.
만약, 질량 값을 오차가 있는 상태로 예측하거나, 제어 명령인 힘 값에 대한 오차로 인해 실제 시스템 응답이 다르게 나올 수 있습니다.
특히, 실제 시스템에서는 외란이 존재하기 때문에 외란을 고려한 모델이 필요하며, 다음과 같이 외란 항을 추가해야 합니다.
식 (3.8)을 기반으로 비례미분 제어기를 적용하면 다음과 같습니다.
정상상태에서는 $\ddot{x}=0, \dot{x}=0, \dot{x}_d=0$ 이므로, 식 (3.10)과 같이 정리됩니다.
여기서, 정상상태임에도 위치오차값은 0이 되지 않는다는 점입니다.
이와 같이 실제 시스템에서는 항상 외란이 존재하며, 오차가 항상 존재합니다.
비례적분미분(PID) 제어기는 외란에 대응하여 위치제어 성능을 향상시킬 수 있습니다.
- P 제어: 현재상태를 목표상태로 만들고자하는 current effort를 나타냅니다.
- I 제어: 과거부터 지금까지의 경험정보를 이용하여 목표상태를 달성하고자 하는 accumulated effort를 의미합니다.
- D 제어: 현재 진행되고 있는 상태의 경향성(tendency) 정보를 활용하여 predictive effort를 의미합니다.
PID 제어기를 설계한다는 것은 결국 각각의 gain 값을 설정해야 한다는 것입니다.
지글러-니콜스 이득 튜닝 (gain tunning)법은 가장 기본이 되는 tunning 방법 입니다(0순위는 휴리스틱...).
목표 궤적 $x_d, \dot{x}_d$를 사용하여 표현된 PID제어기는 다음의 형태를 가집니다.
식 (3.13)에서 $e=x_d-x$라 하고, 미분시간 상수와 적분시간 상수 $(T_i=k_p/k_i , T_d=k_v/k_p)$라 한다면,
지글러-니콜스는 단위 계단입력에 대한 최대 overshoot를 25%까지만 가지는 제어 응답특성을 목표로 gain tunning하는 방법 중에 계단입력에 대한 응답(step response)만을 고려하는 ZN first method에 대해서 설명하겠습니다.
그림 3.7에서 제시된 것처럼 제어대상 시스템에 계단입력을 인가하여 나오는 응답 그래프를 이용하여 gain을 설정하는 방법입니다.
하지만 본 방법은 응답곡선이 S-형상으로 나오는 경우만 유효한 이득 설정이 가능합니다.
S-형상의 응답이 얻어지면 다음과 같은 이득 설정을 제시하고 있습니다. 수학적 접근이 아닌, 경험적으로 접근하여 얻어진 설정이라고 합니다.
이때 K, L, T를 ZN 계수라고 하며, 이와 같이 적분/미분 시간 상수들을 이용하여 비례적분미분 제어이득을 다음과 같이 결정할 수 있습니다.
1-자유도 로봇 시스템을 기반으로 ZN 이득동조 방법을 적용하기 위해 적용하기 위해 다음과 같이 라그랑주 운동방정식 기반의 동역학 모델을 얻으면,
간단하게 동역학 파라미터를 $m=1 kg, l=1 m, g=9.806 m/s^2, F_s=0.5$로 설정하고, 입력 토크로 단위계단 함수를 인가하여서 그림 3.9와 같은 S-형상 응답을 얻을 수 있습니다.
이로 인한 ZN 계수는 다음과 같으며, 이를 기반으로 적분 시간상수 ($T_i=2L=0.35$)와 미분 시간상수($T_d=0.5L=0.09$)를 얻고, 비례적분미분 제어이득들을 다음과 같이 얻을 수 있습니다.
이러한 이득을 적용한 결과는 다음 그림 3.11을 통해 알 수 있습니다.
이상입니다.
* 본 글은 "실험로보틱스 교재 I(매니퓰래이션 및 비젼), 한국로봇학회, 제어로봇시스템학회, 한국로봇산업진흥원 "의 내용을 공부하면서 정리한 내용을 포스팅 한 것 입니다.
'Robot Theory > Manipulator Theory' 카테고리의 다른 글
궤적 생성 방법 (0) | 2022.08.29 |
---|---|
동역학 파라미터들에 관한 선형 동역학 (0) | 2022.08.14 |
Dynamics and Inverse dynamics (0) | 2022.07.25 |
동역학 - 뉴턴 오일러 운동방정식 3 (0) | 2022.07.12 |
동역학 - 뉴턴 오일러 운동방정식 2 (0) | 2022.07.04 |