임피던스 제어와 무중력 모드 (Impedance Control & Zero-G)

위치 제어의 한계

기존 위치 제어는 목표 위치를 강제로 추종한다.
장애물이나 사람이 팔을 밀면 로봇은 더 큰 힘으로 저항해 자리를 지키려 한다.

문제가 되는 상황:

  • 접촉 작업 (조립, 연마, 나사 체결): 부품이 살짝 어긋나면 과도한 접촉력 발생
  • 인간-로봇 협작: 작업자가 팔을 건드렸을 때 강한 반력이 돌아옴
  • 불확실한 환경: 정확한 위치를 사전에 모를 때 과접촉 또는 허공 공회전

그래서 나온 질문 — "힘과 위치를 동시에 제어할 수 없을까?"


임피던스 제어란

임피던스(Impedance)는 전기회로에서 전압/전류 비율이지만, 역학에서는 힘/속도 비율을 뜻한다.

로봇 관절에 스프링·댐퍼·질량 시스템처럼 동작하라고 명령하는 것이 임피던스 제어.
외력이 가해지면 그 크기에 비례해 위치가 바뀌고, 힘이 사라지면 목표 위치로 복귀한다.

애니메이션 로딩 중...

왼쪽(위치 제어)은 외력에도 자리를 고수한다. 오른쪽(임피던스 제어)은 외력에 밀리되, 힘이 사라지면 스프링처럼 돌아온다.


기본 방정식

임피던스 제어의 목표는 아래 2차 미분 방정식을 로봇 관절이 따르게 만드는 것.

Me¨+Be˙+Ke=FextM\ddot{e} + B\dot{e} + Ke = F_{ext}

기호이름역할
e=xdxe = x_d - x위치 오차목표 위치와 현재 위치의 차이
MM가상 관성얼마나 빠르게 반응할지
BB가상 감쇠진동을 얼마나 억제할지
KK가상 강성얼마나 강하게 원위치로 돌아올지
FextF_{ext}외부 힘환경 또는 사람이 가하는 힘

MM·BB·KK는 실제 물리적 파라미터가 아니라 제어기가 원하는 가상의 동역학 특성이다.


두 가지 구현 방식 — 임피던스 vs 어드미턴스

"임피던스 제어"라는 개념을 실제로 구현하는 방법은 두 가지다. 이름이 비슷해서 혼동하기 쉽지만, 신호 흐름 방향이 반대다.

임피던스 제어 (Impedance Control)

토크를 직접 조절해서 원하는 임피던스(M·B·K)를 달성한다.

힘 센서 없이 관절 토크를 직접 제어할 수 있는 로봇(QDD 모터, 토크 제어 드라이브)에 적합.

M·B·K 방정식으로 직접 토크 명령을 계산한다. 힘 센서는 선택 사항 — 있으면 정확도가 높아진다.

어드미턴스 제어 (Admittance Control)

힘 센서로 F_ext를 측정 → 위치 보정량(Δx_d) 계산 → 내부 위치 제어기에 전달.

어드미턴스(Admittance) = 임피던스의 역수 (Y = 1/Z = 속도/힘). "힘을 입력받아 움직임을 출력한다."

힘을 직접 재서 목표 위치를 수정하는 구조. 내부에 위치 제어 루프가 그대로 살아 있어 일반 산업용 로봇에도 적용 가능하다.

두 방식의 핵심 차이

임피던스 제어어드미턴스 제어
제어 출력토크 직접위치 보정 → 위치 제어기
힘 센서선택필수
내부 루프토크 제어위치 제어
적합한 로봇토크 제어 가능 (QDD 등)일반 위치 제어 로봇
협동 로봇 채용드뭄대부분 채용
직관적 비유"내가 스프링이 된다""힘을 재고 그만큼 움직인다"

협동 로봇(Franka, UR, KUKA iiwa)은 대부분 어드미턴스 구조를 씀. 손목부 F/T 센서나 관절 토크 센서로 외력을 측정하고, 내부 위치 제어기 위에 어드미턴스 레이어를 얹는다.


M·B·K 파라미터 조정

세 파라미터를 어떻게 세팅하느냐가 로봇 거동의 "감촉"을 결정한다.

파라미터크게작게
MM (관성)반응 느림, 무거운 느낌반응 빠름, 가벼운 느낌
BB (감쇠)진동 적음, 느리게 복귀진동 많음, 빠르게 복귀
KK (강성)강하게 제자리 유지외력에 쉽게 밀림

튜닝 목표: 임계 감쇠 조건 B=2MKB = 2\sqrt{MK} 근방에서 진동 없이 부드럽게 복귀.

접촉 작업별 권장 세팅

작업KKBB이유
조립 (핀 삽입)중간높음위치 정밀도 + 진동 억제
연마·폴리싱낮음중간접촉력 일정 유지
인간 협작매우 낮음중간충돌 시 반력 최소화
드래그 티칭≈ 0낮음손으로 자유롭게 이동

무중력 모드 (Zero-G Mode)

K=0K = 0, M0M \approx 0, BB를 아주 낮게 설정하면 — 외력에 완전히 순응하는 상태가 된다.

여기에 중력보상(Gravity Compensation) 을 켜면 로봇 팔이 공중에 떠 있는 것처럼 된다. 모터는 중력만 버티고, 사용자가 가하는 방향대로 팔이 자유롭게 움직인다.

τcmd=G(θ)+Be˙\tau_{cmd} = G(\theta) + B\dot{e}

G(θ)G(\theta): 현재 자세의 중력 보상 토크 (실시간 계산)
Be˙B\dot{e}: 약한 감쇠 (관성에 의한 떨림 방지)

실용 사례: Franka Panda, Universal Robots(UR), KUKA iiwa의 "Freedrive" / "Hand-guide" 기능이 이 방식. 작업자가 직접 팔을 잡고 움직여 경로를 가르치는 드래그 티칭에 사용.

일반 임피던스 제어와의 차이

임피던스 제어무중력 모드
KK0 초과≈ 0
MM설계값≈ 0
중력보상선택필수
목표 위치 추종있음없음 (순응만)
주 용도접촉 작업티칭, 세팅

세 가지 제어 방식 비교

위치 제어임피던스·어드미턴스 제어직접 힘 제어
제어 목표위치 추종힘-위치 동시힘 추종
접촉 시강하게 저항탄성 반응정밀 힘 제어
힘 센서불필요선택/필수필수
구현 난이도낮음중간높음
주 용도픽앤플레이스조립·협작·티칭그라인딩·촉각

정리

임피던스 제어는 로봇에게 가상의 스프링-댐퍼-질량 시스템을 입히는 것.
구현 방식은 토크를 직접 다루는 임피던스 제어와, 힘을 재서 위치를 보정하는 어드미턴스 제어 두 가지가 있고, 협동 로봇은 대부분 후자를 채택한다.
무중력 모드는 K0K \approx 0 + 중력보상의 조합 — 협동 로봇 티칭의 핵심 기능이다.