들어가며: 같은 명령, 다른 힘

시연 데이터를 수집한 로봇에서는 컵을 부드럽게 쥐던 정책이, 같은 위치 명령을 다른 로봇에서 실행하자 컵을 찌그러뜨립니다. 시뮬레이터에서는 아무 문제 없던 착지가 실제 로봇에서는 감속기 손상으로 이어집니다. 두 장면 모두 정책이 내보낸 명령은 같고, 달라진 것은 관절이 환경에 대해 어떻게 반응하느냐입니다.

이전 글에서는 감속기가 관절에 더하는 reflected inertia, 마찰과 비틀림 강성을 하나씩 살펴봤습니다. 이 글은 그 요소들이 환경 쪽에서 어떻게 느껴지는지를 기계적 임피던스(Mechanical Impedance)로 묶어서 봅니다. 핵심은 하나입니다. 느린 접촉에서는 제어기가 임피던스를 정하지만, 충격처럼 빠른 접촉에서는 하드웨어가 정한 임피던스가 그대로 드러납니다.

출력단 기계적 임피던스

기계적 임피던스는 관절에 어떤 운동을 일으키려면 외부에서 얼마나 큰 토크가 필요한지를, 그 운동이 얼마나 빠른지(주파수)에 따라 나타낸 것입니다 1. 출력축 기준으로는 외부 토크와 관절 속도의 비 Z(s)=τext(s)/q˙(s)Z(s) = \tau_{ext}(s)/\dot q(s)로 씁니다.

03에서 본 reflected inertia와 마찰은 하드웨어가 정하는 항이고, 위치 제어기는 그 위에 강성 KpK_p와 감쇠 BcB_c를 더합니다. 이 항들은 서로 다른 속도에서 지배적입니다. 천천히 밀면 관절은 제어기가 만든 스프링처럼 느껴지고, 빠르게 치면 관절의 관성, 즉 질량처럼 느껴집니다. 두 영역의 경계는 시리즈 예시의 100:1 관절(Kp=100 N m/radK_p = 100\,\mathrm{N\,m/rad}, 효율 무시)에서 약 3.6 Hz입니다. 이보다 느리게 미는 손은 제어기를 느끼고, 이보다 빠른 충격은 하드웨어를 느낍니다. 쿨롱 마찰이나 역구동 개시 토크처럼 선형으로 쓸 수 없는 항은 이 그림에서 빠져 있습니다.

수식: s-plane에서 본 관절 임피던스

감속기를 강체로 보면 관절의 운동 방정식은 IBWDq¨+(B+Bc)q˙+Kpq=τextI_{\mathrm{BWD}}\ddot q + (B + B_c)\dot q + K_p q = \tau_{ext}이고, 라플라스 변환하면 다음과 같습니다.

Z(s)=IBWD s+(B+Bc)+Kps=IBWD s2+(B+Bc) s+KpsZ(s) = I_{\mathrm{BWD}}\,s + (B + B_c) + \frac{K_p}{s} = \frac{I_{\mathrm{BWD}}\,s^2 + (B + B_c)\,s + K_p}{s}

ZZ의 영점은 외력에 대한 관절 응답 1/Z1/Z의 극점입니다. 분자를 표준 2차형으로 쓰면

ωn=KpIBWD,ζ=B+Bc2KpIBWD,s=−ζωn±j ωn1−ζ2\omega_n = \sqrt{\frac{K_p}{I_{\mathrm{BWD}}}}, \qquad \zeta = \frac{B + B_c}{2\sqrt{K_p I_{\mathrm{BWD}}}}, \qquad s = -\zeta\omega_n \pm j\,\omega_n\sqrt{1-\zeta^2}

입니다. 극점의 원점까지 거리가 ωn\omega_n, 음의 real axis와 이루는 각의 코사인이 ζ\zeta입니다. 주파수 응답 ∣Z(jω)∣|Z(j\omega)|는 ω≪ωn\omega \ll \omega_n에서 Kp/ωK_p/\omega(스프링), ω≫ωn\omega \gg \omega_n에서 IBWD ωI_{\mathrm{BWD}}\,\omega(질량)로 가고, ω=ωn\omega = \omega_n에서 두 항이 상쇄되어 감쇠 B+BcB + B_c만 남습니다. 본문의 경계는 이 ωn\omega_n입니다. I≈0.19 kg m2I \approx 0.19\,\mathrm{kg\,m^2}, Kp=100K_p = 100이면 ωn≈23 rad/s\omega_n \approx 23\,\mathrm{rad/s}, 약 3.6 Hz입니다. KpK_p를 10배 올려도 ωn\omega_n은 10≈3.2\sqrt{10} \approx 3.2배만 높아집니다.

토크와 임피던스의 차이

1 N·m의 토크를 버티는 것과 1 N·m의 토크로 움직이는 것은 전혀 다른 일입니다.

버틸 때 관절은 정지해 있고, 토크는 하중과 같을 뿐 하는 일은 0입니다. 그 1 N·m를 무엇이 만들든 겉으로는 구분되지 않습니다. 위치 제어기가 조금 처진 결과일 수도 있고(Kp=100 N m/radK_p = 100\,\mathrm{N\,m/rad}이면 약 0.57°), 정지 마찰이나 브레이크가 받치고 있을 수도 있습니다. 그래서 정적인 1 N·m는 관절이 움직이기 시작했을 때 어떻게 반응할지에 대해 아무것도 알려 주지 않습니다.

움직일 때는 같은 1 N·m가 관성, 마찰과 감쇠를 이기는 데 쓰이고, 그 결과 어떤 운동이 나오는지를 임피던스가 정합니다. 시리즈 예시에서 관절에 1 N·m를 걸면 감속비 1:1 관절(I≈0.09 kg m2I \approx 0.09\,\mathrm{kg\,m^2})은 약 11 rad/s²로, 100:1 관절(I≈0.19 kg m2I \approx 0.19\,\mathrm{kg\,m^2})은 그 절반인 약 5.3 rad/s²로 가속합니다. 마찰까지 넣으면 차이가 더 커집니다. 03에서 본 것처럼 모터 측 쿨롱 마찰 0.01 N·m는 100:1에서 관절 기준 1 N·m가 되므로, 100:1 관절에서 1 N·m는 마찰과 같은 크기라 관절을 움직이지 못합니다. 두 관절 모두 “1 N·m를 낼 수 있는” 관절이지만, 1 N·m로 움직이는 모습은 전혀 다릅니다.

1 N·m를 버티기1 N·m로 움직이기
관절 상태정지가속, 감속, 접촉
토크가 하는 일하중과 평형, 일은 0관성, 마찰, 감쇠를 이기고 운동을 만듦
결과를 정하는 것하중관절의 임피던스 Z(s)Z(s)
알려 주는 것토크 한 점토크가 바뀔 때의 반응

외력이 관절을 밀 때도 같습니다. 환경이 1 N·m로 밀어도 마찰이 큰 관절은 버티기만 하고, 역구동이 쉬운 관절은 그 토크로 밀려 움직입니다. 데이터시트의 정격 토크나 시뮬레이터의 토크 한계는 “얼마까지 버티거나 낼 수 있는가”를 말할 뿐, 접촉에서 관절이 어떻게 움직일지는 임피던스를 봐야 알 수 있습니다.

제어 대역폭 안과 밖

하드웨어 임피던스와 제어 임피던스는 같은 관절 속도에 대해 각자 토크를 내므로 더해집니다. 다만 제어기의 토크는 지연, 샘플링, 전류 루프와 토크 한계를 거쳐서 나옵니다. 그래서 제어기가 임피던스를 정할 수 있는 것은 이 경로가 따라가는 주파수 범위, 즉 제어 대역폭 안쪽뿐이고, 그보다 빠른 입력에는 하드웨어 임피던스만 남습니다. 제어로 강성과 감쇠를 더하기는 쉽지만, 하드웨어가 정한 관성과 마찰을 제어로 빼려면 토크나 외력을 측정해야 하고 그마저 이 대역폭 안에서만 가능합니다. 너무 많이 빼면 관절이 수동성(passivity)을 잃어 접촉에서 불안정해집니다. 수 ms 안에 끝나는 충격은 거의 언제나 이 범위 밖에 있습니다.

수식: 하드웨어 임피던스와 제어 임피던스의 합Z(s)=Zhw(s)+Zctrl(s),Zhw≈IBWD s+B,Zctrl≈(Bc+Kps) G(s)Z(s) = Z_{\mathrm{hw}}(s) + Z_{\mathrm{ctrl}}(s), \qquad Z_{\mathrm{hw}} \approx I_{\mathrm{BWD}}\,s + B, \qquad Z_{\mathrm{ctrl}} \approx \Big(B_c + \frac{K_p}{s}\Big)\,G(s)

G(s)G(s)는 명령 토크에서 실제 토크까지의 전달함수입니다. 앞의 식은 G=1G = 1로 둔 것입니다. 전류 루프와 샘플링은 높은 주파수에서 ∣G(jω)∣|G(j\omega)|를 줄여 Z→ZhwZ \to Z_{\mathrm{hw}}로 만듭니다. 순수 지연 G=e−sTG = e^{-sT}는 크기는 그대로 두고 위상만 늦춥니다. 이때 감쇠 항은 Bce−jωTB_c e^{-j\omega T}가 되어 실효 감쇠가 Bccos⁡ωTB_c\cos\omega T로 줄고, ω>π/(2T)\omega > \pi/(2T)에서는 음수가 됩니다. 음의 감쇠는 에너지를 내놓는 임피던스이므로 관절이 수동성을 잃습니다. T=2 msT = 2\,\mathrm{ms}이면 이 경계는 약 125 Hz입니다.

아래 데모는 위로 선 1자유도 팔(0.3 m, 1 kg)을 PD 위치 제어로 ±60° 흔듭니다(제어 지연 2 ms, KdK_d는 앞의 BcB_c). 팔이 명령을 따라가는 주파수 범위가 곧 제어기가 관절의 임피던스를 정하는 범위입니다.

데모의 극점 그림은 폐루프 극점을 s-plane에 그린 것입니다. 극점이 원점에서 멀수록 팔이 빠르게 따라가고, imaginary axis에 가까울수록 감쇠가 작아 공진 근처에서 명령보다 크게 흔들립니다. 같은 이득에서 감속비를 올리면 reflected inertia 때문에 극점이 원점과 imaginary axis 쪽으로 함께 다가오고, KpK_p를 올리면 지연 때문에 극점이 결국 right half-plane으로 넘어갑니다. SEA에서는 스프링과 링크가 만드는 극점 한 쌍이 더 생기며, 흔드는 주파수가 그 공진에 가까워질 때만 스프링이 드러납니다.

Interactive example · Swinging a 1-DoF arm against gravity

How fast can a geared joint swing an upright arm?

Closed-loop poles [rad/s] · red half-plane is unstable · gray trail: K_p swept with this K_d
-150-100-5050-200j-100j100j200j+1 fast poles off the plot
Link angle [deg] · command ±60° (dashed)
-90-60-300306090-3 s-2 s-1 snow
Last 3 s
Swing amplitude at f67.4° (112%)Lag behind the command at f10°Bandwidth now (q/q_d within ±3 dB)2.24 HzLowest damping ratio0.28Resonant peak of q/q_d×1.85 @ 3.31 HzSpring mode f_s = √((K_s − mgl)/J_L)/2π– (rigid)Stable K_p range (this K_d)3.0–770Best bandwidth over K_p (ζ ≥ 0.1)4.07 Hz @ 236

1 kg at 0.3 m above the joint (J_L = 0.09 kg·m²; gravity acts as a negative stiffness mgl = 2.94 N·m/rad, so K_p must exceed it), commanded to swing ±60° about upright at f, rotor J_m = 1×10⁻⁵ kg·m² reflected as N²J_m, joint friction 0.05 N·m·s/rad, control delay 2 ms (1st-order Padé in the pole plot). In SEA mode the PD acts on the motor angle and the spring has a damping ratio of 0.1. No torque limit is modeled. The ground at ±90° is a stop with restitution 0.3; the arm bounces off it and keeps swinging. Bandwidth is the highest frequency up to which |q/q_d| stays within ±3 dB (0.71–1.41×) of its DC value, so a resonant overshoot does not count as tracking. In SEA mode the spring shows only once f approaches f_s: lower K_s and swing at 2 Hz or faster. Poles, bandwidth and the K_p sweep come from the linearized model; the animation is a nonlinear time simulation of the same system.

수식: 극점으로 읽는 추종, 지연 한계와 SEA

강체 관절. 위로 선 팔은 sin⁡q≈q\sin q \approx q로 선형화하면 중력이 음의 강성 −mgl-mgl로 작용합니다. 지연을 빼면 폐루프 특성방정식은

Is2+(B+Kd) s+(Kp−mgl)=0,I=JL+N2JmI s^2 + (B + K_d)\,s + (K_p - mgl) = 0, \qquad I = J_L + N^2 J_m

이고, ωn=(Kp−mgl)/I\omega_n = \sqrt{(K_p - mgl)/I}, ζ=(B+Kd)/(2(Kp−mgl)I)\zeta = (B + K_d)/\big(2\sqrt{(K_p - mgl)I}\big)입니다. Kp<mglK_p < mgl이면 실근 하나가 right half-plane에 있어 팔이 서지 못합니다. 같은 이득에서 NN을 올리면 II가 커져 극점이 원점 쪽(ωn∝1/I\omega_n \propto 1/\sqrt I)과 imaginary axis 쪽(ζ∝1/I\zeta \propto 1/\sqrt I)으로 함께 움직입니다. 50:1은 ωn/2π≈3.5\omega_n/2\pi \approx 3.5 Hz, ζ≈0.30\zeta \approx 0.30이고 160:1은 약 2.0 Hz, ζ≈0.17\zeta \approx 0.17입니다. 명령 qdq_d에서 qq까지의 진폭비는 ζ\zeta가 작을수록 공진에서 크게 솟고(최대값 ≈1/2ζ\approx 1/2\zeta), 공진을 지나면 (ωn/ω)2(\omega_n/\omega)^2로 줄며 위상은 180°에 가깝게 늦어집니다.

지연. 지연 e−sTe^{-sT}를 1차 Padé 근사 (1−sT/2)/(1+sT/2)(1 - sT/2)/(1 + sT/2)로 바꾸면 s=−2/Ts = -2/T에 극점 하나와 s=+2/Ts = +2/T에 right half-plane 영점 하나가 생깁니다. KpK_p를 올리면 근궤적이 이 영점 쪽으로 끌려가 imaginary axis를 넘습니다(데모의 회색 궤적). 3차 특성방정식에 Routh 판별을 적용하면 안정 조건은

Kp<KdT−Kd22IK_p < \frac{K_d}{T} - \frac{K_d^2}{2I}

이고, 보통 둘째 항이 작아 상한은 Kd/TK_d/T에 가깝습니다. Kd=1.5K_d = 1.5, T=2 msT = 2\,\mathrm{ms}, 50:1이면 약 740이고, 마찰과 중력까지 넣어 정확히 풀면 데모의 약 770이 나옵니다. 이 상한은 KdK_d와 함께 커지므로, 이득을 관성에 비례해 키우는 것 자체를 막지는 않습니다. 이 모델에 없는 토크 한계와 속도 측정 노이즈가 실제의 상한을 정합니다.

SEA. PD가 모터 각도 θ\theta에 걸려 있으면 링크는 모터 각도에 스프링으로 끌려가는 질량입니다.

qθ(jω)≈KsKs−mgl−JL ω2,fs=12πKs−mglJL\frac{q}{\theta}(j\omega) \approx \frac{K_s}{K_s - mgl - J_L\,\omega^2}, \qquad f_s = \frac{1}{2\pi}\sqrt{\frac{K_s - mgl}{J_L}}

f≪fsf \ll f_s에서는 비가 1에 가까워 스프링이 보이지 않고, ff가 fsf_s에 가까워지면 링크가 모터보다 크게 흔들립니다. 이 공진은 제어 이득과 무관하게 KsK_s와 JLJ_L이 정하므로, 모터 쪽 이득을 아무리 올려도 링크의 추종 대역폭은 fsf_s를 넘기 어렵습니다.

1자유도 관절을 같은 크기(최대 10 N·m의 반 사인파)의 토크로 밀되 미는 시간만 바꿔 계산해 보면 차이가 분명합니다. 계산은 효율과 제어 지연을 무시하고 위치 제어기의 감쇠비를 0.7로 두었으며, 아래의 몫은 외력이 가장 클 때의 값입니다. 시리즈 예시의 100:1 관절을 1초 동안 천천히 밀면 외력의 거의 전부를 제어기가 받치고, 관절은 τext/Kp\tau_{ext}/K_p만큼 밀립니다. 같은 관절을 5 ms 동안 치면 제어기의 몫은 약 5%로 줄고, 나머지는 링크 관성(약 45%)과 로터의 reflected inertia(약 50%)가 받칩니다. KpK_p를 1000 N·m/rad로 10배 올려도 제어기의 몫은 약 15%에 그칩니다.

로터의 reflected inertia가 받치는 몫은 모두 감속기 치면을 지나갑니다. 03의 해머 시뮬레이션에서 높은 감속비의 관절이 큰 치면 토크를 받은 이유가 이것이고, 이 몫은 제어 이득으로 줄일 수 없습니다.

직렬 강성의 효과

감속기와 링크 사이에 스프링이 있으면 이야기가 달라집니다. 스프링을 지나는 토크는 변형이 생겨야 커지므로, 빠른 충격에서는 링크가 잠시 로터와 분리되고 높은 주파수의 임피던스는 링크 관성에 가까워집니다. 같은 계산에 500 N·m/rad의 직렬 스프링을 넣으면 같은 5 ms 충격의 약 97%를 링크 관성이 받치고, 감속기 쪽으로 넘어가는 최대 토크는 약 5.5 N·m에서 1.6 N·m로 줄어듭니다.

03의 짧은 충돌에서 본 것처럼 감속기 자체의 비틀림 강성도 같은 역할을 합니다. 다만 감속기 강성은 보통 높아서 분리되는 시간이 짧고, 로터의 운동량은 스프링을 통해 결국 환경으로 넘어갑니다. 직렬 강성이 줄이는 것은 순간 하중이지 환경이 받는 운동량 전체가 아닙니다.

말단 임피던스와 방향

다관절 로봇에서 환경이 만나는 것은 관절이 아니라 말단입니다. 각 관절의 관성은 자세에 따라 말단의 각 방향으로 다르게 옮겨지므로, 같은 팔이라도 미는 방향에 따라 말단이 다르게 무겁습니다. 이 방향별 무게가 effective mass입니다.

아래 데모는 2자유도 팔의 말단에서 effective mass를 타원으로 그립니다. 감속비를 올리면 reflected inertia가 각 관절의 관성을 키워 타원이 커지고, 타원의 모양은 링크 질량의 분포보다 팔의 기구학이 정하는 쪽으로 바뀝니다. 감속비가 낮을 때는 링크 관성이 순방향 효율만큼 크게 보이는 FWD 타원이 더 크지만, 감속비가 높아지면 reflected inertia가 역방향 효율만큼 크게 보이는 BWD 타원이 더 커집니다. 모터가 밀 때와 환경이 밀 때 말단이 다르게 무겁다는 뜻입니다.

데모에서 팔 끝 주위의 화살표를 누르면 같은 공(1 kg, 3 m/s)이 그 방향으로 날아옵니다. 그 방향의 effective mass가 공보다 충분히 무거우면 공이 튕겨 나오고, 가벼우면 공이 팔 끝을 밀고 계속 나아갑니다. 말단의 관성이 방향마다 달라서 팔 끝은 공이 날아온 방향과 비스듬히 밀립니다. 아래 그래프는 충돌 뒤 위치 제어기가 팔을 되돌리는 동안의 말단 변위입니다.

Interactive example · Gear ratio and reflected inertia

The inertia felt at the tip depends on the gear ratio and on which way power flows

Click to apply disturbance
Drag the tip to change the pose · Click an arrow around the tip to throw a ball (1 kg, 3 m/s)
┄ links only (no rotor)━ FWD · motor drives━ BWD · environment backdrives
effective massminmax
links only0.27 kg1.21 kg
FWD0.59 kg2.17 kg
BWD0.57 kg2.09 kg
Reflected inertia per joint N²Jm0.0250 kg·m²Backward efficiency ηb0.67
Effective mass along the throw (BWD)–Ball at the end–Tip kick speed–Kick angle off the throw line–Contacts–
Tip displacement after the hit [mm] · along the throw (solid), across it (dashed)
-40-200204060801000100200300400500600Click an arrow to throw the ball
Time after the hit [ms]

2-DoF planar arm of uniform rods, 0.3 m long, 1.2 kg and 0.8 kg. Both joints use the same motor (Jm = 1×10⁻⁵ kg·m²) and ratio; backward efficiency uses the single-mesh approximation ηb = 2 − 1/ηf. The ellipse radius is proportional to the square root of the effective mass felt when pushing the tip in that direction. FWD/BWD inertia follows Sim & Ramos (2021); gravity and rotor gyroscopic effects are ignored. The ball hit uses the BWD inertia with restitution 0.85. After the hit each joint is held by a PD controller (Kp = 50 N·m/rad, damping ratio 0.7) and the ball and arm are simulated together on the inertia matrix of the current pose (small-motion linearization), so a heavy ball that keeps going can be hit again by the returning arm.

제어기가 만드는 강성도 말단에서는 방향을 가집니다. 관절마다 같은 이득을 줘도 자세에 따라 말단 강성은 방향마다 다릅니다.

수식: 말단 관성, 공의 반발과 말단 강성

관절 공간 관성 MM과 자코비안 JJ로 말단 관성의 역행렬은 Λ−1=JM−1J⊤\Lambda^{-1} = J M^{-1} J^{\top}이고, 방향 uu(단위 벡터)의 effective mass는

mu=1u⊤Λ−1um_u = \frac{1}{u^{\top}\Lambda^{-1}u}

입니다. 데모의 타원 x⊤Λ−1x=k2x^{\top}\Lambda^{-1}x = k^2은 방향 uu로 반지름 kmuk\sqrt{m_u}를 가집니다. 감속비가 높아 M≈N2Jm1M \approx N^2 J_m \mathbf{1}이 되면 Λ≈N2Jm(JJ⊤)−1\Lambda \approx N^2 J_m (J J^{\top})^{-1}이므로 타원 모양은 기구학이 정합니다. FWD는 M=ML/ηf+N2JmM = M_L/\eta_f + N^2 J_m, BWD는 M=ML+N2Jm/ηbM = M_L + N^2 J_m/\eta_b입니다.

질량 mbm_b, 속도 vv의 공이 반발계수 ee로 방향 uu를 따라 부딪히면 충격량은 P=(1+e) mbmumb+mu vP = (1+e)\,\frac{m_b m_u}{m_b + m_u}\,v이고, 공의 속도는 v′=v mb−e mumb+muv' = v\,\frac{m_b - e\,m_u}{m_b + m_u}가 됩니다. 따라서 공은 mb<e mum_b < e\,m_u일 때만 되튕겨 나옵니다. 팔 끝의 속도 변화는 Λ−1u P\Lambda^{-1}u\,P로, uu가 Λ−1\Lambda^{-1}의 고유벡터가 아니면 uu와 다른 방향을 향합니다.

특이 자세가 아니면 관절 강성 KqK_q는 말단에서 Kx=J−⊤KqJ−1K_x = J^{-\top} K_q J^{-1}로 보입니다(중력과 J˙\dot J 항 무시). Kq=k 1K_q = k\,\mathbf{1}이어도 Kx=k (JJ⊤)−1K_x = k\,(J J^{\top})^{-1}이므로 방향마다 다릅니다.

시뮬레이터의 kp·kd가 재현하는 것

MuJoCo나 Isaac 같은 시뮬레이터에서 위치 제어 관절은 보통 kp와 kd로 정의합니다. 이 두 값은 제어기가 만드는 강성 KpK_p와 감쇠 BcB_c, 즉 느린 접촉의 임피던스를 재현합니다. 빠른 접촉의 임피던스는 armature로 넣은 reflected inertia와 마찰 모델이 정하는데, 02와 03에서 본 것처럼 이 값들은 빠지거나 틀리기 쉽습니다. 실제 제어기의 지연과 토크 한계 때문에 실제 관절의 실효 강성이 명목 kp와 다르다는 점도 시뮬레이터에는 대개 없습니다. 그래서 천천히 미는 실험에서는 시뮬레이터와 실제가 잘 맞다가도, 처음 닿는 순간이나 충격에서 크게 달라집니다.

01의 compliant vs stiff 예시도 이 관점에서 다시 볼 수 있습니다. 물체를 쥘 때 목표 위치가 표면보다 1 cm 안쪽에 있으면, 준정적으로는 말단 강성 × 1 cm만큼의 힘이 생깁니다. 말단 강성이 300 N/m인 로봇은 약 3 N으로, 5000 N/m인 로봇은 약 50 N으로 같은 물체를 쥡니다(예시값). 많은 시연 데이터셋은 action을 위치 목표값으로 기록하므로, 이 힘은 데이터에 명시적으로 남지 않고 데이터를 수집한 로봇의 임피던스 안에 묻혀 있습니다. 그 데이터로 학습한 정책을 임피던스가 다른 로봇에서 실행하면 위치는 재현되지만 힘은 재현되지 않습니다. 처음 닿는 순간의 힘은 이득이 아니라 관성이 정하므로, 이득을 맞춰도 이 차이는 남습니다.

실제 관절의 임피던스는 직접 잴 수 있습니다. 위치 제어 중인 관절을 토크 렌치로 천천히 밀어 토크–변위 기울기를 재면 저주파 강성이 나오고, 출력축에 주파수를 바꿔 가며 외력을 넣고 관절 속도를 기록하면 Z(jω)Z(j\omega)의 주파수 응답이 나옵니다. 측정 절차 전체는 시뮬레이터용 액추에이터 모델을 다루는 글에서 정리합니다.

설계 공간: 고감속, QDD, SEA, 직구동

액추에이터 설계는 임피던스의 어느 부분을 하드웨어로 정하고 어느 부분을 제어로 만들지를 고르는 일이기도 합니다. 고감속 관절은 큰 reflected inertia와 마찰로 높은 임피던스를 하드웨어에 고정하고, 그 위에서 높은 위치 강성을 얻습니다. 반대 방향의 설계는 하드웨어 임피던스를 낮추고 필요한 강성을 제어로 만듭니다.

QDD(Quasi-Direct Drive)는 고토크 모터와 한 자릿수에서 십여 대 일 정도의 낮은 감속비를 조합해 reflected inertia와 마찰 자체를 줄입니다. MIT Cheetah는 이 구조로 모터 전류만으로 접촉력을 제어하는 고유수용성 구동(Proprioceptive Actuation)을 보여 줬고, 직렬 스프링을 쓰는 보행 로봇과 비슷한 수준의 충격 완화를 보고했습니다 2. 낮은 감속비에서 큰 토크를 내려면 공극 반경이 큰 외전형 모터가 유리하고, 일부 모듈은 모터 안쪽에 유성기어를 넣어 축 방향 길이를 줄입니다.

낮은 감속비가 해결하는 것은 빠른 접촉의 임피던스와, 작은 토크가 마찰에 묻히지 않는 준정적 토크 투명성입니다. 다만 투명성은 감속비만으로 정해지지 않습니다. 토크 리플, 코깅과 백래시는 감속비가 낮아도 남고(다음 글), 같은 관절 토크를 더 큰 전류로 만들어야 하므로 지속 하중에서 발열이 커집니다. 이 열의 비용은 토크 추정과 발열을 다루는 글에서 자세히 다룹니다.

SEA(Series Elastic Actuator)는 감속기와 부하 사이에 의도적으로 스프링을 넣습니다 3. 빠른 충격에서는 앞에서 본 것처럼 링크가 로터와 분리되어 감속기가 받는 최대 하중이 줄고, 스프링의 변형을 재면 출력 토크를 직접 측정할 수 있습니다. 대신 스프링이 부드러울수록 큰 토크를 빠르게 전달하기 어려워, 모터의 토크·속도 한계와 함께 낼 수 있는 토크 대역폭이 제한됩니다 4. 위치를 단단하게 붙잡는 작업에도 불리합니다.

직구동(Direct Drive)은 감속기를 없애 reflected inertia와 감속기 마찰을 가장 작게 만듭니다. 그 대가로 필요한 토크를 모터가 모두 내야 하므로 같은 토크에서 모터가 가장 크고 무거우며 발열도 가장 큽니다.

설계하드웨어가 정하는 임피던스제어가 만드는 부분치르는 비용
고감속 (약 50:1 이상)큰 reflected inertia와 마찰높은 위치 강성충격 하중이 치면에 집중, 역구동성과 전류 기반 토크 추정이 나쁨
QDD (약 6:1–15:1)작은 reflected inertia와 마찰대부분의 강성과 감쇠같은 토크에 큰 전류와 발열, 큰 모터
SEA높은 주파수에서 링크 관성과 직렬 스프링스프링 변형을 이용한 토크·임피던스 제어토크 대역폭 제한, 낮은 위치 강성, 부피와 복잡도
직구동가장 작은 관성과 마찰거의 전부가장 큰 모터 질량과 발열

시뮬레이터가 보는 임피던스와 실제 임피던스

요소시뮬레이터의 흔한 가정실제생기는 문제자세히
느린 접촉의 임피던스kp, kd가 그대로 작용지연, 샘플링, 토크 한계로 실효 강성과 감쇠가 달라짐같은 이득에서 다른 접촉력이 글
빠른 접촉의 임피던스링크 관성만, armature 누락reflected inertia와 BWD 마찰이 지배충격 하중과 첫 접촉 반응의 불일치03, 이 글
직렬 강성강체 관절감속기 강성, SEA의 스프링충격에서 링크와 로터의 분리, 공진03, 이 글
말단 임피던스관절별로 따로 맞춤자세와 방향에 따라 다른 effective mass와 강성방향에 따라 다른 접촉 반응이 글
시연 데이터의 힘위치 목표값에 없음수집한 로봇의 임피던스에 묻혀 있음다른 로봇에서 힘이 재현되지 않음01, 이 글
저임피던스 설계의 열없음같은 토크에 큰 전류지속 하중과 연속 동작의 한계06

이 표의 앞의 두 행은 시뮬레이터에서 kp·kd만 맞추는 것으로는 부족하다는 뜻입니다. 빠른 접촉을 맞추려면 armature와 마찰을 관절별로 식별해야 하고, 직렬 강성은 관절을 두 자유도로 나눠야 표현됩니다. 이 항목들을 하나의 액추에이터 모델로 묶는 방법은 시뮬레이터용 액추에이터 모델을 다루는 글에서 정리합니다.

다음 포스트: [로봇 하드웨어 05] - 액추에이터 (4): 반복되는 오차 — 토크 리플과 백래시

References

[1] N. Hogan, “Impedance Control: An Approach to Manipulation: Part I—Theory,” Journal of Dynamic Systems, Measurement, and Control, vol. 107, no. 1, pp. 1–7, 1985. Paper

[2] P. M. Wensing, A. Wang, S. Seok, D. Otten, J. Lang, and S. Kim, “Proprioceptive Actuator Design in the MIT Cheetah: Impact Mitigation and High-Bandwidth Physical Interaction for Dynamic Legged Robots,” IEEE Transactions on Robotics, vol. 33, no. 3, pp. 509–522, 2017. Paper

[3] G. A. Pratt and M. M. Williamson, “Series Elastic Actuators,” in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, vol. 1, pp. 399–406, 1995. Paper

[4] C. Lee and S. Oh, “Performance Analysis of Series Elastic Actuator Based on Maximum Torque Transmissibility,” IEEE Transactions on Control Systems Technology, vol. 30, no. 1, pp. 392–399, 2022. Paper