[로봇 하드웨어 06] - 액추에이터 (5): 백래시
기어 유격, 예압과 하모닉 드라이브의 lost motion이 정밀도와 외력 추정을 무너뜨리는 과정
Physical AI 관점에서 본 다관절 로봇 하드웨어 시리즈
로봇 팔을 한 방향으로 천천히 움직이다가 반대로 돌려보면, 모터는 먼저 움직이는데 링크는 잠시 멈춰 있는 구간이 나타날 수 있습니다. 제어기는 이미 위치 명령을 바꿨고 모터 엔코더도 변화를 보고하지만, 출력축의 반대쪽 치면이 닿기 전까지 관절에는 원하는 운동이 전달되지 않습니다.
이 구간을 흔히 백래시(backlash)라고 부릅니다. 하지만 실제 액추에이터에서 관측하는 방향 전환 오차에는 치면의 기하학적 유격뿐 아니라 축·베어링·기어의 탄성, 마찰, 조립 오차와 히스테리시스가 함께 들어 있습니다.[1,2] 이들을 전부 한 개의 dead zone으로 부르면 왜 같은 로봇의 오차가 하중과 시간에 따라 달라지는지 설명하기 어렵습니다.
기어에 왜 일부러 틈을 남기나
서로 맞물리는 두 기어를 이론 형상 그대로 빈틈없이 만들면 정밀할 것 같지만, 실제 기계는 그렇게 움직이지 않습니다. 적절한 clearance가 필요한 이유는 꽤 현실적입니다.
- 모든 치형에는 가공 오차와 pitch 오차가 있습니다.
- 축과 베어링에는 편심, runout과 조립 공차가 있습니다.
- 하중이 걸리면 치, 축, 하우징이 탄성 변형합니다.
- 온도가 바뀌면 서로 다른 재료와 부품이 다른 양만큼 팽창합니다.
- 윤활막이 들어가고 오염 입자가 빠져나갈 공간이 필요합니다.
최악 공차에서도 치면이 끼이거나 간섭하지 않도록 보장하려면 어느 정도의 유격을 둬야 합니다. 너무 작으면 효율과 수명이 떨어지고 열이 나며, 특정 각도에서 gearbox가 bind할 수 있습니다. 너무 크면 방향 전환 때 lost motion과 충격이 커집니다. 백래시는 단순히 “가공을 싸게 해서 생긴 결함”이 아니라 제조 가능성, 윤활, 열과 신뢰성 사이의 설계 여유이기도 합니다.
백래시, 탄성, 히스테리시스는 같은 것이 아닙니다
입력각 $\theta_m/N$과 출력각 $\theta_j$의 차이를 transmission deflection이라고 두겠습니다.
\[\delta=\frac{\theta_m}{N}-\theta_j\]가장 단순한 backlash model은 폭 $2b$ 안에서 전달 토크가 거의 없고, 양쪽 치면에 닿은 뒤 강성 $k$가 생기는 piecewise 관계입니다.
\[\tau_t(\delta)= \begin{cases} k(\delta-b), & \delta>b \\ 0, & |\delta|\le b \\ k(\delta+b), & \delta<-b \end{cases}\]실제 곡선은 이렇게 날카롭지 않습니다. 치면 접촉 전에도 seal, bearing과 grease의 마찰이 있고, 접촉 후에는 tooth·shaft·housing이 비선형으로 휘어집니다. 반대 방향으로 돌아갈 때 같은 경로를 되짚지 않으면 torque–deflection 곡선에 loop가 생깁니다. 이것이 hysteresis 또는 lost motion으로 관측됩니다.[1–3]
용어를 구분하면 진단이 쉬워집니다.
| 현상 | 물리 원인 | 방향 전환에서 보이는 것 |
|---|---|---|
| backlash | 두 강체 치면 사이의 기하학적 clearance | 하중 전달이 끊기는 구간 |
| compliance | 치·축·베어링·하우징의 탄성 | 하중에 비례해 출력각이 밀림 |
| friction | seal, bearing, sliding contact, lubricant | 움직이기 위한 임계 토크와 속도 의존 손실 |
| hysteresis / lost motion | 마찰과 탄성, 미세 미끄럼의 이력 | 같은 입력각에 접근 방향별 출력각이 다름 |
| kinematic error | 치형·편심·조립의 주기 오차 | 회전 위치에 동기화된 전달 오차 |
따라서 데이터시트의 “backlash 0 arcmin”과 실제 torque reversal에서 측정한 lost motion은 같은 숫자가 아닐 수 있습니다.
스프링으로 양쪽 치면을 잡으면 끝날까
split gear 또는 anti-backlash gear는 한 기어를 두 장으로 나누고 두 half를 비틀림 스프링으로 서로 반대 방향에 예압합니다. 한쪽은 앞 치면, 다른 쪽은 뒤 치면을 누르므로 무부하에서는 양방향 contact가 유지됩니다.
이 방식은 positioning stage처럼 하중이 작고 방향 전환 정밀도가 중요한 곳에서 매우 유용합니다. 다만 유격을 “삭제”한다기보다 스프링 힘으로 두 접촉을 유지하는 것입니다.
- 예압이 커질수록 치면 마찰과 bearing load가 증가합니다.
- 마찰과 sliding이 늘면 효율, 온도와 마모가 나빠집니다.
- 외력 토크가 예압 토크를 넘으면 한쪽 half가 unload되어 유격이 다시 나타납니다.
- 스프링의 피로와 마모로 preload가 시간이 지나며 변합니다.
휴머노이드의 무릎이나 엉덩이처럼 큰 양방향 토크와 충격을 받는 관절에서는 “스프링을 강하게 만들면 된다”가 간단한 해답이 아닙니다. 예압 자체를 유지하기 위해 치면과 베어링이 계속 내부 하중을 감당해야 하기 때문입니다.
하모닉 드라이브는 정말 zero backlash인가
strain wave gear, 흔히 Harmonic Drive라고 부르는 구조는 flexspline을 타원으로 변형해 circular spline의 양쪽 영역에서 동시에 치합합니다. 전통적인 한 쌍의 spur gear처럼 방향 전환 때 반대 치면까지 자유롭게 이동하는 기하학적 clearance를 거의 없앨 수 있습니다.
그렇다고 입력과 출력 관계가 완전한 강체라는 뜻은 아닙니다. 얇은 flexspline과 wave generator bearing은 하중에 따라 변형하고, 많은 접촉면과 윤활은 마찰 이력을 만듭니다. 실험적 harmonic-drive model에는 비선형 강성, friction, hysteresis와 주기적 transmission error가 함께 들어갑니다.[3,4] 제조사 자료도 zero backlash와 torsional stiffness/hysteresis loss를 별도 특성으로 다룹니다.[5]
그래서 다음 두 문장은 동시에 참일 수 있습니다.
- 이 감속기에는 전통적인 의미의 치면 backlash가 거의 없습니다.
- torque reversal 뒤 출력각에는 여전히 lost motion과 hysteresis가 있습니다.
로봇 제어 관점에서는 마케팅 용어보다 부하–변위 loop의 폭, 하중별 비틀림 강성, 입력/출력 엔코더 차이와 반복 transmission error가 더 유용합니다.
한 관절의 몇 arcmin이 말단에서 어떻게 커지나
관절 오차 $\delta q$가 작을 때 말단 오차는 1차 근사로 Jacobian을 통해 전달됩니다.
\[\delta x \approx J(q)\,\delta q\]이 식에서 중요한 것은 관절 오차가 단순한 스칼라 합이 아니라는 점입니다. 같은 $0.1^\circ$라도 팔을 뻗은 자세와 접은 자세의 Cartesian 영향이 다르고, 각 관절축이 어느 방향을 향하는지에 따라 translation과 orientation으로 투영되는 방식도 달라집니다. 회전 관절이 만드는 위치 오차의 상한을 거칠게 보면 뒤쪽 link 길이가 길수록 커집니다.
\[\lVert\delta p\rVert \lesssim \sum_i l_{i,\mathrm{eff}}\,|\delta q_i|\]산업용 6축 팔만 생각하면 여섯 관절이지만, 휴머노이드의 접촉 chain은 더 길 수 있습니다. 지면에 고정된 발에서 ankle–knee–hip–pelvis–torso–shoulder–elbow–wrist를 거쳐 손까지 이어지면 한 손의 위치와 힘에 여러 관절의 방향 이력이 동시에 들어갑니다.
여기서 repeatability와 absolute accuracy도 갈립니다. 같은 자세로 항상 같은 방향에서 접근하면 같은 치면이 접촉해 꽤 잘 반복될 수 있습니다. 반대 방향에서 접근하거나 payload, 중력 방향, contact force가 달라지면 다른 치면과 다른 탄성 변형을 사용합니다. repeatability가 좋은 로봇이 양방향 force task에서도 정확하다는 보장은 없습니다.
백래시는 external force sensing의 관측성을 깨뜨립니다
별도 관절 토크 센서가 없는 로봇은 모터 전류로 외력을 추정하기도 합니다. 개념적으로는 다음과 같습니다.
\[\hat{\tau}_{ext} \approx N K_t i_q -\tau_{model} -\tau_{friction}\]그리고 Jacobian을 이용해 Cartesian wrench로 바꿉니다. 잘 보정된 rigid transmission에서도 inertia, friction과 motor torque constant 오차를 빼야 하는 어려운 문제입니다.[6] 백래시가 있으면 두 가지 관측 실패가 추가됩니다.
첫째, 모터가 유격을 건너는 동안 전류가 흐르고 모터 엔코더가 움직여도 출력축에는 같은 운동이나 토크가 전달되지 않습니다. 치면이 부딪칠 때의 가속과 전류 spike를 외부 접촉으로 오인할 수 있습니다.
둘째, 외력이 출력 링크를 유격 안에서 움직여도 모터축은 거의 움직이지 않을 수 있습니다. motor-side encoder만 보면 실제 관절각 변화와 외부 접촉을 놓칩니다. 같은 모터 상태에 여러 출력 상태가 대응하므로 시스템이 순간적으로 비관측적이 됩니다.
이 때문에 dual encoder—모터축과 출력축 양쪽의 각도 측정—가 강력합니다. $\theta_m/N-\theta_j$를 직접 보면 전달계 변형과 lost motion을 관측할 수 있습니다. 관절 토크 센서나 series elastic element도 외력과 내부 마찰을 분리하는 데 도움을 줍니다. 다만 센서 하나를 추가한다고 모델이 필요 없어지는 것은 아닙니다. 센서가 감속기 앞에 있는지 뒤에 있는지에 따라 보이는 물리 계층이 다릅니다.
백래시는 시간이 지나며 움직이는 파라미터입니다
새 gearbox에서 측정한 $b$를 시뮬레이터에 넣고 끝낼 수 없는 이유가 있습니다.
- 치면과 bearing wear가 clearance를 키웁니다.
- grease 온도와 분포가 friction 및 hysteresis loop를 바꿉니다.
- preload spring과 bearing preload가 완화될 수 있습니다.
- 하우징 온도와 외력이 축 정렬을 바꿉니다.
- 충격 하중이 국부 손상이나 영구 변형을 남길 수 있습니다.
즉 실제 mapping은 $\tau=f(\delta)$가 아니라 현재 접촉 치면, 접근 방향, 하중 이력, 온도와 사용 시간을 포함한 $\tau=f(\delta,z_{gear},T,t_{life})$에 가깝습니다. 논문에서 backlash를 hidden state를 가진 동적 비선형으로 모델링하는 이유입니다.[1,2,7]
설계와 policy에서 무엇을 남겨야 하나
기계 설계에서는 backlash 숫자 하나보다 부하별 lost-motion curve, torsional stiffness, reversal life와 온도 범위를 측정해야 합니다. 제어에서는 direction reversal 근처에서 gain을 무작정 높이면 치면 충돌과 limit cycle을 키울 수 있습니다. 관측에는 motor/output dual encoder, torque sensor, 또는 적어도 방향 이력 상태를 넣는 편이 낫습니다.
시뮬레이션도 관절각에 랜덤 noise를 더하는 방식만으로는 부족합니다. 최소한 다음 성질은 구분해 두는 것이 좋습니다.
- 반대 치면에 닿기 전까지 출력이 움직이지 않는 clearance
- 접촉 뒤 하중에 따라 휘는 compliance
- 접근 방향에 따라 다른 hysteresis
- 속도·온도 의존 friction
- 사용 시간에 따라 변하는 parameter distribution
백래시의 핵심은 “각도가 조금 틀린다”가 아닙니다. 모터 쪽에서 관측한 상태만으로 출력 링크의 상태와 외력을 유일하게 결정할 수 없는 구간이 생긴다는 것입니다. 긴 kinematic chain과 접촉 제어에서는 이 작은 비관측 구간이 말단 위치 오차, 힘 추정 오류와 충격으로 바뀝니다.
다음 포스트: [로봇 하드웨어 07] - 액추에이터 (7): 뜨거워진 액추에이터는 같은 액추에이터가 아닙니다
References
[1] M. Nordin and P.-O. Gutman, “Controlling Mechanical Systems With Backlash—A Survey,” Automatica, vol. 38, no. 10, pp. 1633–1649, 2002. doi:10.1016/S0005-1098(02)00047-X
[2] M. Ruderman, F. Hoffmann, and T. Bertram, “Modeling and Identification of Elastic Robot Joints With Hysteresis and Backlash,” IEEE Transactions on Industrial Electronics, vol. 56, no. 10, pp. 3840–3847, 2009. doi:10.1109/TIE.2009.2015752
[3] R. Dhaouadi, F. H. Ghorbel, and P. S. Gandhi, “A New Dynamic Model of Hysteresis in Harmonic Drives,” IEEE Transactions on Industrial Electronics, vol. 50, no. 6, pp. 1165–1171, 2003. doi:10.1109/TIE.2003.819661
[4] C. Preissner, T. J. Royston, and D. Shu, “A High-Fidelity Harmonic Drive Model,” Journal of Dynamic Systems, Measurement, and Control, vol. 134, no. 1, 011002, 2012. doi:10.1115/1.4005041
[5] Harmonic Drive LLC, “Reducer Catalog: Component Sets FB — Engineering Data.” Manufacturer PDF
[6] A. Wahrburg, J. Bös, K. D. Listmann, F. Dai, B. Matthias, and H. Ding, “Motor-Current-Based Estimation of Cartesian Contact Forces and Torques for Robotic Manipulators and Its Application to Force Control,” IEEE Transactions on Automation Science and Engineering, vol. 15, no. 2, pp. 879–886, 2018. doi:10.1109/TASE.2017.2691136
[7] E. Giovannitti, S. Nabavi, G. Squillero, and A. Tonda, “A Virtual Sensor for Backlash in Robotic Manipulators,” Journal of Intelligent Manufacturing, vol. 33, no. 7, pp. 1921–1937, 2022. doi:10.1007/s10845-022-01934-z