Skip to main content
로봇 마찰보상 효과 검증
Robotics

로봇 마찰보상 효과 검증

6축 협동로봇의 마찰보상과 가속도 피드포워드 효과를 160회 2×2 실험으로 검증합니다. AI 에이전트(ralph-loop)로 마찰 계수를 튜닝하고, 자동화 스크립트로 검증 실험을 수행했습니다. 마찰보상만으로 36% 개선(Cohen's d=1.49), 총 개선의 93%를 달성했습니다.

WRWIM Robotics Team
·
roboticsfriction-compensationfeedforwardexperimentai-automation

로봇 마찰보상 효과 검증: AI 자동화 실험 사례

Neuromeka Indy7 협동로봇에 두 가지 보상 기법을 적용했습니다:

  1. 마찰보상(Friction Compensation): 관절의 기계적 마찰 보상
  2. 가속도 피드포워드(Acceleration FF): 가속 시 관성력 사전 보상

궁금증이 생겼습니다. "각 기법이 실제로 얼마나 기여하는가? 하나로 충분한가, 둘 다 필요한가?"

이 질문에 답하기 위해 160회 2×2 실험을 수행했습니다. 사전에 AI 에이전트(ralph-loop)로 마찰 계수를 튜닝한 후, 자동화 스크립트로 검증 실험을 진행했습니다.

문제 상황: 보상 적용 전

보상 기법 적용 전, 특히 J1(어깨 관절)에서 심각한 위치 추종 오차가 관찰되었습니다. J1은 대형 감속기와 전체 팔 하중을 지지하는 구조로 인해 마찰이 가장 큰 관절입니다.

보상 적용 전 위치 오차

보상 적용 전 J1 위치 추종. 명령(cmd)과 실제(actual) 사이에 명확한 지연과 오차 발생

보상 적용 전 토크

보상 적용 전 J1 토크. 마찰로 인한 큰 토크 변동이 관찰됨

이러한 마찰 문제를 해결하기 위해 마찰보상 기법을 적용했고, 본 실험에서는 그 효과를 정량적으로 검증합니다.

결론 먼저

조건Position RMSE개선율p-valueCohen's d
B0 (기준)1.526 mrad---
B1 (마찰만)0.974 mrad36.1%p<0.011.49
B2 (FF만)1.450 mrad5.0%p<0.050.80
B3 (둘 다)0.932 mrad38.9%p<0.011.44

마찰보상만으로 총 개선의 93%를 달성했습니다. 가속도 FF의 기여는 5%에 불과했습니다.

실험 설계

4가지 조건을 조합하여 각 기법의 독립적 효과와 상호작용을 분석했습니다:

조건마찰보상가속도 FF설명
B0OFFOFF기준선
B1ONOFF마찰보상만
B2OFFONFF만
B3ONON둘 다

테스트 궤적

  • 5개 관절: J0~J4 (J5는 마찰 Fc=1Nm로 미미하여 제외)
  • 2개 속도: SLOW (vel=0.1), FAST (vel=0.3)
  • 총 10개 궤적: 각 4회 반복 (방향 균형 2회씩)
  • 총 실험 횟수: 4조건 × 10궤적 × 4반복 = 160회

마찰 계수 (Fc)

관절Fc (Nm)특성
J1 (어깨)35.0최대 마찰 - 전체 팔 하중 지지
J2 (팔꿈치)10.0중간 마찰 - 중력 부하
J0 (베이스)5.0수직축 - 중력 방향 마찰 적음
J3, J4 (손목)2.0낮은 마찰 - 소형 관절
J5 (말단)1.0최소 마찰

AI 자동화 실험 파이프라인

사용 도구

도구역할
Claude CodeAI 에이전트 - 코드 수정, 빌드, 실행, 분석
ralph-loop반복 실행 플러그인 - 완료까지 자동 반복
run_experiment.py단일 실험 자동화 스크립트
motion_analyzer.py결과 분석 및 메트릭 추출

2단계 워크플로우

1단계: 마찰 계수 튜닝 (ralph-loop 활용)

AI 판단 필요: 오차 분석 → 조정 방향 → 코드 수정 → 반복

2단계: 160회 검증 실험 (스크립트 반복)

B0 (40회) → B1 (40회) → B2 (40회) → B3 (40회)
조건 변경은 수동으로 진행

주요 결과

효과 분해

비교개선량비율
전체 (B0→B3)0.594 mrad100%
마찰만 (B0→B1)0.551 mrad93%
FF만 (B0→B2)0.076 mrad13%

마찰보상이 핵심입니다.

속도별 분석

속도별 개선율 비교

SLOW(vel=0.1)와 FAST(vel=0.3)에서의 개선율 비교

조건SLOW 개선FAST 개선차이이론 검증
B1 (마찰)42.3%31.3%+11.0%확인
B2 (FF)4.7%5.1%+0.4%기각
B3 (둘 다)42.9%35.8%+7.1%-

이론 검증 결과:

  • ✅ 마찰보상은 저속에서 더 효과적 (정지 마찰이 두드러지는 영역)
  • ❌ FF가 고속에서 더 효과적이라는 예상은 기각됨

관절별 분석: 마찰 계수와 개선율의 상관관계

마찰 계수와 개선율 상관관계

Coulomb 마찰 계수(Fc)와 B1 개선율의 상관관계. J0은 수직축이라 이상점(outlier)

관절Fc (Nm)축 방향B1 개선율
J135.0수평73.5%
J210.0수평46.7%
J05.0수직10.1% (이상점)
J32.0-39.5%
J42.0-39.0%

J0은 수직축이라 중력 방향 마찰 부하가 적어, Fc가 J3/J4보다 높음에도 개선율이 낮습니다.

예상치 못한 발견: j3_fast 이상 현상

j3_fast 이상 현상 분석

j3_fast 궤적에서 B2(FF만)가 오히려 성능을 악화시킴

현상: j3_fast에서 B2(FF만) 조건이 기준선보다 13.8% 악화

통계
모든 4회 실행에서 B2 > B0일관된 악화
t-testt=20.7, p=0.0002
판정우연이 아닌 체계적 현상

같은 Fc=2Nm인 J4는 정상 동작 → J3 특유의 현상

시사점: FF를 마찰보상 없이 단독 적용하면 일부 조건에서 성능이 악화될 수 있습니다. B3(둘 다)에서는 정상 동작합니다.

마찰 모델 구현

채터링 방지: tanh vs sign

기존 sign() 함수는 속도 영점 근처에서 토크가 급변합니다:

속도 (rad/s)sign() 출력토크 변화
+0.001+1+35 Nm
-0.001-1-35 Nm
차이-70 Nm 점프

연속 tanh() 함수를 사용하여 부드러운 전환:

constexpr double kTransitionVelocity = 0.05;  // rad/s (~3 deg/s)
τ_compensation = Fc × tanh(velocity / kTransitionVelocity)
속도 (rad/s)tanh() 출력토크 변화
+0.001+0.02+0.7 Nm
-0.001-0.02-0.7 Nm
차이-1.4 Nm (연속)

kTransitionVelocity의 의미

kTransitionVelocity"속도 0 근처에서 얼마나 빠르게 마찰 방향을 결정할 것인가"를 정의합니다:

특성트레이드오프
작을수록sign()에 가까움 (급격한 전이)정확하지만 채터링 위험
클수록완만한 S자 곡선안정적이지만 저속에서 보상 부정확

0.05 rad/s ≈ 3°/s의 경험적 의미:

  • 이 속도 이하: 마찰 방향이 "불확실"하다고 간주
  • 이 속도 이상: tanh ≈ ±1이므로 원래 쿨롱 모델과 거의 동일
note

이 값은 시스템 노이즈, 속도 측정 분해능, 구동계 특성에 따라 튜닝이 필요합니다.

토크 사용량 변화

조건Torque RMSEvs B0Torque MAXvs B0
B01.94 Nm-22.2 Nm-
B12.04 Nm+5.1%23.2 Nm+4.5%
B22.10 Nm+7.9%27.5 Nm+23.7%
B32.08 Nm+7.2%28.4 Nm+27.6%

마찰보상(B1)은 토크 증가가 미미하지만, FF(B2)는 최대 토크가 24% 증가합니다.

운영 권장사항

시나리오권장 설정이유
일반 운영B1 (마찰만)핵심 효과만, 단순성, 안정성
최대 정밀도 필요B3 (둘 다)추가 3% 개선
고속 작업B1 (마찰만)FF 효과 미미, 노이즈 위험
FF 단독주의j3_fast 악화 현상 관측됨

FF 효과가 제한적이었던 이유

  1. 단순 수치 미분의 한계: 2개 샘플만 사용, 노이즈 증폭
  2. PD 게인의 간접 보상: 기존 PD 컨트롤러가 관성을 부분 보상
  3. 저관성 관절에 불필요: J3, J4는 관성이 미미
  4. 마찰보상 없는 비대칭 효과: 가감속 토크 불균형

실험의 한계

  1. 고정된 조건 순서 (B0→B1→B2→B3): 온도/시간 드리프트 가능
  2. Paired t-test 사용: 2-way ANOVA 대신 사용, 상호작용 유의성 미검정
  3. 다중 비교 보정 없음: Bonferroni 보정 후 B2 유의성 의문
  4. 샘플 구조: 160회를 10개 궤적 평균으로 요약 (df=9)

핵심 정리

  1. 마찰보상이 핵심 요인입니다. 36.1% 개선(p<0.01, Cohen's d=1.49)으로 총 개선의 93%를 차지합니다.
  2. 가속도 FF의 효과는 제한적입니다. 5.0% 개선에 그쳤고, 고속에서 더 효과적이라는 예상은 기각되었습니다.
  3. 두 효과는 대체로 독립적입니다. 상호작용 효과 ≈ 0.033 mrad로 무시할 수준입니다.
  4. 마찰 계수가 높은 관절(J1)에서 최대 효과를 보입니다. J1(Fc=35Nm)에서 73.5% 개선.
  5. FF 단독 적용은 주의가 필요합니다. j3_fast에서 13.8% 악화 현상이 관측되었습니다.