티스토리 뷰
*본 글은 https://summerschool.stiff-project.org/ 내용을 번역, 정리한 글입니다.
전 글에서 임피던스 제어란 환경을 어드미턴스로 두고 로봇과의 임피던스를 제어하는 것이라고 했다. 이를 성능(Performacne)과 안정성(Stability)의 관점에서 이야기해보자.
어떤 모션이나 힘을 제어하려고 할 때, 환경과의 상호작용은 컨트롤 가능한 변수에 영향을 주게 된다. 이런 영향으로 생기는 에러는 성능에 영향을 미치게 되고 안정성 또한 불안정해진다. 이런 불안정성은 coupled/contact instabilities라고 하는데, 단순한 시스템이 환경과 작용할 때도 확인할 수 있다. 한가지 예시를 들어보자.
질량(m)을 가지고 이노시아 값을 알고 있는 간단한 로봇이 있다고 하자.
액추에이터가 만드는 힘인 Fa가 있고, 환경에 작용하는 Fe힘이 있다. 지면은 마찰력을 나타내기 위해 damper 상수 b로 두자.
라플라스 변환 식으로 표현하면 위 식과 같다. 간단한 mass-damper 시스템에 액추에이터 + 환경이 만드는 힘이 추가 된 형태이다.
이때 R 이라는 원하는 위치 값(혹은 경로 입력값)(reference position)을 주고 이를 맞추기 위해 PI(Proportional-intergral) motion controller가 적용된다해보자. 그때 식은 아래와 같이 표현될 수 있다.
Fe = 0으로 두어 환경과 시스템을 분리시켜서 보게 되면(in isolation), closed loop transfer function은 아래와 같이 변한다.
Routh-Hurwitz 안정성 판별에 의하면 분리된 상태에서의 특정 범위의 integral gain을 따르게 된다.
다만, 이는 단순히 환경과의 상호작용이 없는 경우를 이야기하기에 이 조건이 반대의 경우에 만족한다는 보장은 없다. (당연하게도)
e와 관련 된 질량_e과 상호작용(coupled)이 있다면 질량 m에서 (m+m_e)와 동일하며 안정성 조건은 아래와 같이 변한다.
RH 판별성 조건을 만족하는 I gain 값은 상호작용이 없는 환경에서는 어떤 값을 사용하던 안정하겠지만, 그래도 마진에 가까운 값을 사용하기 보다 작은 값을 사용하는 것이 조금은 시스템에 대한 에러에 강건하고(robust) 좋은 성능을 보여줄 것이다. 그렇다면 상호작용하는 경우에는 게인값이 고정되어 불안정한 상태가 된다는 것일까? 실제 로봇의 경우 m이나 m+m_e나 비슷한 크기를 가지는 경우가 많아 위의 안정성 식이 비슷하다. 다만, 우주나 물속처럼 로봇을 지지하는 무게는 거의 없으면서 매우 큰 물체(질량)를 움직여야하는 경우가 있다. 이럴때 상호작용에 대한 불안정성을 고려해야한다. 또 다른 예시를 이야기해보자.
로봇의 형태가 조금 바꼈다. 질량이 2개가 생겼으며, k값을 가지는 스프링과 damper상수가 b1,b2,b3가 됐다. m1질량은 액추에이터에 의해 힘(Fa)을 받고, 나머지는 환경과 상호작용 힘(Fe)를 받는다. 액추에이터의 힘을 받는 m1의 위치 x1과 제어 모션으로 입력 된 r 간의 에러 값이 PD컨트롤러로 제어된다고 해보자. 환경으로 부터 받아오는 힘에 대한 P 컨트롤러는 제어 힘에 적용 되고 상호작용 운동을 향상 시킨다.(번역이 좀 매끄럽지 않은데, P 컨트롤러는 환경에서 오는 힘에 대해 상호작용을 잘하도록 Input 힘을 피드백 한다고 보면 될 것 같다.) 이에 대한 식은 아래와 같다.
식을 음미해보자. K와 B의 경우 일반적인 시스템 모델링 처럼, 위치값과 속도값에 대한 에러를 feedback 하였다. 즉, K와 B는 motion에 대한 P,D gain이 된다. Kf의 경우 force에 대한 피드백 게인이 된다. 환경과 상호작용이 없을 때 Fe = 0 이 되면서 Fa는 단순히 PD 제어가 된다.
구조적인 진동은 로봇 동역학에서 보이는 일반적인 특징이며 컨트롤러 디자인을 어렵게 한다. 하지만 간단하게도 이야기할 PD 모션 제어기는 구조적 진동에 의해서 불안정해지 않는 다는 메리트가 있다. 그 이유는 액추에이터와 assumed motion sensor가 co-located 되어 있기 때문이다.
하지만 힘 피드백 루프의 추가는 로봇 컨트롤 시스템이 결합 될 경우 불안정성에 취약해진다. 그 이유는 액추에이터와 힘 센서가 같은 위치에 있지 않기 때문에다(Non-colocated). 로봇이 힘을 받는 부분과 센서 부분을 동일한 위치에 만들기 어렵기 때문에 조금 더 간단한 모델로 나타내게 되고 이는 글 나중에 설명하겠다..
위 예제들은 간단한 환경과 상호작용하는 경우에 안정성을 확보하기 위해서는 단순히 로봇팔의 안정성만을 고려해서 디자인하는 것은 충분하지 않다는 것을 보여준다. 당연하게도 환경에 관한 다이나믹스도 고려되어야 한다. 물론 환경에 대한 다이나믹은 정확히 알지는 못한다.
'미니멀공대생 > Control' 카테고리의 다른 글
[임피던스 제어] 기계적 임피던스와 어드미턴스 (2) | 2021.05.03 |
---|---|
[임피던스 제어] 상호작용 컨트롤(1) (2) | 2021.04.02 |
[임피던스 제어] 임피던스 제어란?(1) (1) | 2021.03.09 |
인공지능 글 밖에 없는 블로그에 제어 글 쓰기 : 제어 엔지니어 기초 (2) | 2021.02.24 |
차량 군집 주행과 모델링 (Vehicle Platooning and Modeling) (1) | 2020.05.02 |