임피던스 제어를 통한 고급 로봇 조작
작성자: Tadele Shiferaw, MathWorks
로봇 매니퓰레이터는 제조, 의료, 농업, 물류와 같은 다양한 응용 분야에서 지속적으로 사용되어 그 효율성과 정밀성을 향상시키고 있습니다. 동적 환경과의 안전하고 효과적인 상호작용이 필요한 응용 분야에서는 구동 중 적응성, 정밀성 및 안전성을 향상시킬 수 있기 때문에 매니퓰레이터에 순응성을 추가하는 것이 필수적입니다. 임피던스 제어는 로봇이 인간의 조작 특유의 유연한 동작을 모방할 수 있게 하는 고급 방법론입니다. 이 칼럼에서는 모델링과 시뮬레이션을 사용한 임피던스 제어 전략의 설계 및 구현에 대해 설명합니다.
임피던스 제어의 이해
본질적으로, 임피던스 제어는 로보틱스에서 로봇과 환경 간의 상호작용 힘을 조절하기 위해 로봇의 임피던스, 즉 힘과 변위에 대한 반응 정도를 동적으로 조정하는 전략입니다[1].
DOF(자유도)가 1인 단순화된 로봇을 생각해 보세요. 로봇은 위치 \( X_m \)에 있는 질량으로 정의되며, 원하는 위치 \( X_d \)로 이동해야 합니다. 이는 다음 수학적 방정식을 사용하는 고전적인 PD(비례-미분) 제어기를 통해 쉽게 달성할 수 있습니다.
\( F_{controller} = k(X_d - X_m) - d {\dot{X_m}} \)
방정식을 자세히 살펴보면, PD 제어기의 제어 동작은 비례항이 스프링을 나타내고 미분항이 댐퍼를 나타내는 스프링-댐퍼 조합으로 물리적으로 해석할 수 있습니다. 이것은 질량을 원하는 위치로 이동시킬 뿐만 아니라, 시스템과의 외부 상호 작용 중에 느낄 수 있는 원하는 임피던스 제어를 시스템에 주입하는 간단한 임피던스 제어기입니다. (그림 1)
그림 1. 간단한 1DOF 임피던스 제어 시스템.
간단한 임피던스 제어 시스템의 모델링
이 단순화된 1DOF 시스템은 Simscape™라는 물리 모델링 언어를 사용하여 쉽게 모델링할 수 있습니다. 이 언어는 사용자가 에너지의 양방향 흐름을 통해 라이브러리 블록을 연결할 수 있게 해줍니다. (그림 2)
이제 강성 상수와 감쇠 계수로 설명되는 제어기 파라미터를 조정하여 원하는 위치를 추적할 때 전체 시스템의 원하는 순응 동작을 정의할 수 있습니다. 적당히 순응적인 임피던스 제어 시스템과 매우 순응적인 임피던스 제어 시스템 간의 동작 차이는 그림 3에 나와 있습니다.
임피던스 제어를 사용한 다자유도 매니퓰레이터
위에서 논의한 임피던스 제어기 개념은 다차원 기하학적 스프링을 사용하여 로봇 매니퓰레이터의 N-DOF에 대해서도 확장할 수 있으며, 이를 통해 로봇 엔드 이펙터 자세 \( {H^0}_t \)를 원하는 자세 \( {H^0}_d \)에 맞추고, 각 자유도마다 조인트 공간 댐퍼를 통해 시스템에 감쇠를 주입할 수 있습니다. (그림 4)
대칭 이동, 회전 및 결합 강성 행렬 \( K_t \), \( K_c \) 및 \( K_o \)가 주어지면, 행렬 \( K∈R^{6×6} \)로 정의된 공간 기하학적 스프링은 상대 자세 \( {H^d}_t \)의 함수인 힘을 매니퓰레이터에 가합니다.
\( K = \begin{pmatrix} K_o & K_c \\ {K^T}_c & K_t \end{pmatrix} \)
힘은 엔드 이펙터 프레임의 좌표에서 6벡터 렌치 \( W^t=[m^t f^t] \)로 다음과 같이 계산됩니다.[2]:
\( \widetilde{m^t} = -2as({G_o}{{R^d}_t}) - as ({G_o}{{R^t}_d}{\widetilde{{p^d}_t}}{\widetilde{{p^d}_t}}{{R^d}_t}) - 2as({G_c}{\widetilde{{p^d}_t}}{{R^d}_t}) \)
\( \widetilde{f^t} = -{{R^t}_d}as({G_o}{\widetilde{{p^d}_t}}){{R^d}_t} - as ({G_o}{{R^t}_d}{\widetilde{{p^d}_t}}{{R^d}_t}) - 2as({G_c}{{R^d}_t}) \)
여기서:
- \( as(⋅) \)는 정사각 행렬의 비대칭 부분을 제공하는 연산자입니다.
- \( G_t \), \( G_c \), \( G_o \)는 다음과 같이 계산된 공간 스프링의 공강성 행렬입니다.\( G_x = \frac{1}{2}tr(K_x)I−K_x \)
- \( tr (.) \)는 텐서 추적 연산자입니다.
- ~는 벡터의 교차곱 행렬 형태를 포착하는 물결표 연산자입니다.
렌치 \( W^t \)를 관성 기준 좌표계 \( Ψ_0 \)로 좌표 변환한 후, 매니퓰레이터에서 원하는 엔드 이펙터 렌치를 시뮬레이션할 수 있는 관절 토크 \( τ \)는 다음 식으로 계산됩니다:
\( (W^o)^T = A{d^T}_{{H^t}_o} (W^t)^T \)
\( τ = {J^T}(q){W^o} \)
여기서:
- \( Ad (⋅) \)는 동차 행렬의 수반 행렬니다
- \( J(q) \)는 로봇 매니퓰레이터의 야코비 행렬입니다
임피던스 제어를 적용한 로봇 매니퓰레이터 모델링
로봇 조작기의 제어 알고리즘을 평가하기 위해 Simscape Multibody™를 사용하여 7자유도 Kinova® Gen3 Manipulator의 동적 모델을 개발했습니다. URDF 형식으로 제공되는 매니퓰레이터의 CAD 모델을 사용하면 다음 명령을 사용하여 동적 시뮬레이션에 사용할 수 있는 자세한 다물체 모델을 자동으로 생성할 수 있습니다.
smimport(kinovaGen3.urdf')
아래 그림에 보이는 전체 시스템 모델에는 시뮬레이션을 통한 제어기의 광범위한 평가를 위한 원하는 자세 생성기, 환경 장애물 및 외부 상호 작용이 포함됩니다. (그림 5)
Robotics System Toolbox™는 중력 보상 알고리즘을 통해 매니퓰레이터의 임피던스 제어기를 더욱 향상시켜 작동 성능을 개선합니다. 따라서 그림 6에 보이는 최종 제어기 출력은 공간 스프링, 중력 보상 및 댐핑 주입의 토크의 합인 조인트 공간 토크입니다.
시뮬레이션 결과
시뮬레이션에서는 \( t = 16 \) \(초 \)에 X 방향으로 외력이 가해지고, 장애물이 x축을 따라 이동하여 약 \( t = 30 \) \(초 \)에 매니퓰레이터와 상호작용하는 효과를 테스트했습니다. (그림 7) 예상대로, 카테시안 변환 강성이 \(K_t =400 \) \(N/m \)인 임피던스 제어 매니퓰레이터에 \( F_{ext} = 40N \)의 외력이 가해졌을 때 \( x_{def} = 0.1m \)의 변위가 발생했습니다. 시스템은 또한 움직이는 장애물과 상호 작용하는 동안 안정적이고 사실적인 동작을 보였으며, 이는 메카닉스 탐색기에서 생성된 비디오 애니메이션에서 볼 수 있습니다. (그림 8)
그림 8. 로봇의 3D 움직임과 장애물과의 상호 작용을 보여주는 애니메이션.
시뮬레이션 결과로 검증된 바와 같이, 카테시안 임피던스 제어기는 원하는 컴플라이언스를 주입하여 유연한 상호작용 능력을 가능하게 할 뿐만 아니라, 매니퓰레이터 제어를 위한 계산 집약적인 역기구학 연산의 필요성도 피할 수 있습니다. 또한 이는 물리적으로 설명 가능하고 직관적인 제어 설계 접근 방식이며 구현을 위해 관절 수준 토크 제어기가 필요합니다.
참조 자료
[1] Hogan, Neville. “Impedance Control: 4 An Approach to Manipulation: Part I—Theory; Part II—Implementation; Part III—Applications.” Journal of Dynamic Systems, Measurement, and Control, vol. 107, no. 1, March 1985, pp. 1–24.
[2] Stramigioli, Stefano. Modeling and IPC control of Interactive Mechanical Systems — A Coordinate-Free Approach, Lecture Notes in Control and Information Sciences (Springer London, 2001).
2025년 기고