로봇 관절 게인 튜닝: 진동·오버슈트·응답 지연을 줄이는 순서

로봇 관절 게인 튜닝은 위치 오차 하나만 보고 P 값을 올리는 작업이 아닙니다. 전류 또는 토크 루프, 속도 루프, 위치 루프가 겹친 캐스케이드 구조에서 안쪽 루프의 대역폭과 포화 상태를 먼저 확인하고, 마찰·백래시·구조 공진을 제어기 문제와 분리해야 합니다. 그래야 진동을 줄이면서도 응답 지연과 외란 복원 성능을 함께 유지할 수 있습니다.

게인은 오차를 명령으로 바꾸는 민감도다

비례 게인 P는 현재 오차에 반응하고, 적분 게인 I는 시간이 지나도 남는 정상상태 오차를 누적해 줄이며, 미분 게인 D는 오차 변화에 제동을 겁니다. 실제 서보에서는 D 항 대신 측정 속도를 쓰거나 속도 루프를 별도로 두는 경우가 많아 화면의 PID 숫자만으로 구조를 판단하면 안 됩니다.

게인의 단위는 제어 입력과 출력 정의에 따라 달라집니다. 위치 오차 rad를 속도 명령 rad/s로 바꾸는 P와 속도 오차를 토크 Nm로 바꾸는 P는 같은 숫자라도 의미가 다릅니다. 펌웨어가 내부 단위를 카운트, rpm, 전류로 쓰는지도 확인해야 다른 관절과 비교할 수 있습니다.

위치 오차가 모터 전류로 바뀌는 순서

위치 루프에서는 목표 각도와 엔코더 각도의 차이를 속도 또는 토크 목표로 바꿉니다. 속도 루프에서는 목표 속도와 실제 속도의 차이를 전류 목표로 바꿉니다. 전류 루프에서는 목표 전류를 상전압과 PWM 듀티로 바꿔 모터 토크를 만듭니다.

기계 응답에서는 모터·감속기·링크의 관성과 마찰, 탄성이 실제 움직임을 결정합니다. 상태 피드백에서는 엔코더와 전류 센서가 결과를 측정해 다음 제어 주기에 되돌립니다.

시험 장치에서 부하와 파형을 함께 보는 이유

관절 시험 장치에서는 스텝 명령만 보는 대신 위치·속도·전류·토크와 포화 플래그를 같은 시간축에 기록해야 합니다. 위치가 늦게 따라오는 순간 전류가 이미 상한에 붙었다면 P 게인 부족이 아니라 토크 여유 부족일 수 있습니다. 반대로 전류 여유가 있는데 특정 주파수로 떨리면 지연이나 공진을 의심합니다.

휴머노이드 관절은 자세에 따라 중력 토크와 반사 관성이 크게 바뀝니다. 공중에서 잘 맞춘 게인이 몸을 지지할 때 불안정해질 수 있으므로 최소·대표·최대 부하 조건을 나눕니다. 감속기 온도가 올라가 마찰이 줄거나 윤활 상태가 변하는 경우도 장시간 시험에 포함해야 합니다.

로봇 관절의 위치 응답과 토크를 측정하며 제어 게인을 조정하는 시험 장치
게인 튜닝은 숫자를 감으로 올리는 일이 아니라 입력·부하·온도 조건을 고정하고 응답 파형을 비교하는 시험입니다. 출처: Arr4 / Wikimedia Commons. 라이선스: CC BY 3.0.

P·I·D 항은 서로 다른 오류를 줄인다

P 항에서는 응답을 빠르게 하고 강성을 높이지만 너무 크면 지연·공진과 결합해 진동합니다. I 항에서는 중력·마찰로 남는 오차를 줄이지만 포화 중 누적되면 큰 오버슈트를 만듭니다.

D 또는 속도 피드백에서는 움직임에 제동을 걸지만 노이즈와 양자화가 크면 고주파 명령을 키웁니다. 피드포워드에서는 중력·관성·마찰 토크를 미리 보상해 피드백 게인이 감당할 오차를 줄입니다.

위치·속도·전류 루프는 같은 게인 표가 아니다

각 루프는 목표와 센서, 출력이 다르므로 필요한 대역폭과 실패 증상도 다릅니다. 일반적으로 안쪽 루프가 바깥 루프보다 충분히 빨라야 서로를 단순한 블록처럼 볼 수 있습니다.

정확한 대역폭 비율은 모터·버스·센서·기계 공진에 따라 달라집니다. 숫자 규칙을 그대로 적용하기보다 주파수 응답과 지연을 측정해 바깥 루프가 안쪽 루프의 한계를 넘지 않게 설계합니다.

루프입력 오차출력주요 실패 증상
전류·토크목표 전류-측정 전류PWM·전압전류 리플·과전류
속도목표 속도-측정 속도전류·토크 목표속도 헌팅·저속 떨림
위치목표 각도-측정 각도속도·토크 목표오버슈트·잔류 진동
임피던스위치·속도·힘 오차관절 토크접촉 반발·과도한 순응

상승 시간과 오버슈트만으로는 부족하다

시간 영역 지표와 주파수 영역 지표를 함께 봐야 합니다. 스텝 응답은 직관적이지만 작은 공진과 위상 여유를 놓칠 수 있고, 주파수 스윕은 시스템의 대역폭과 공진 주파수를 드러냅니다.

모든 지표는 같은 명령 크기와 부하, 전압, 온도에서 비교합니다. 큰 스텝은 포화를 유도해 선형 게인 특성을 가리고, 너무 작은 스텝은 마찰과 엔코더 양자화에 묻힐 수 있습니다.

지표무엇을 보여주나악화 원인함께 볼 값
상승 시간목표 근처까지 가는 속도낮은 대역폭·포화전류 상한
오버슈트목표를 넘는 정도낮은 감쇠·적분 누적속도 피크
정착 시간잔류 진동이 끝나는 시간공진·마찰·백래시주파수 성분
외란 복원하중 뒤 목표로 돌아오는 능력낮은 강성·토크 부족최대 토크

안쪽 루프부터 게인을 조정하는 실제 순서

제한값 확인에서는 전류·토크·속도·가속도 상한과 적분 anti-windup 설정을 먼저 기록합니다. 전류 루프 검증에서는 모터를 안전하게 구속하거나 낮은 부하에서 목표 전류 추종과 리플을 확인합니다. 속도 루프 조정에서는 위치 루프를 끄고 낮은 속도부터 스텝·스윕 응답을 측정해 진동 전 여유를 둡니다.

위치 루프 조정에서는 작은 위치 스텝으로 시작해 P와 감쇠를 맞춘 뒤 필요한 만큼만 I를 더합니다. 작업 조건 반복에서는 최대·최소 부하와 여러 자세, 가열 상태에서 같은 시험을 반복합니다.

게인을 올려도 성능이 나빠지는 대표 상황

모든 게인을 동시에 변경에서는 어느 루프가 응답을 바꿨는지 분리할 수 없어 재현성이 사라집니다. 포화를 게인 부족으로 오해에서는 명령이 상한에 붙은 상태에서는 게인을 올려도 빨라지지 않고 적분만 쌓입니다. 공진을 D로 억누름에서는 구조 모드 근처에서 노이즈가 커지고 액추에이터 발열이 증가할 수 있습니다.

무부하 한 자세만 시험에서는 실제 지지 자세에서 중력과 관성이 달라져 안정 여유가 사라집니다. 필터 지연 무시에서는 속도·토크 필터를 강하게 걸면 노이즈는 줄지만 위상 지연이 늘어 진동할 수 있습니다.

부하·자세·온도를 바꿔 안정 여유를 확인한다

작은 스텝에서는 포화 없이 기본 상승 시간·오버슈트·정착 시간을 측정합니다. 주파수 스윕에서는 명령 주파수를 올리며 이득·위상과 구조 공진을 찾습니다. 외란 입력에서는 알려진 하중이나 토크를 가해 복원 시간과 최대 오차를 확인합니다.

포화 복구에서는 큰 명령 뒤 적분이 빠르게 풀리고 반대 방향 오버슈트가 없는지 봅니다. 장시간 반복에서는 열이 오른 뒤 마찰·전류·응답 파형이 허용 범위 안에 남는지 확인합니다.

피드포워드와 제한기가 게인에 미치는 영향

피드포워드를 넣으면 피드백 게인을 과도하게 높이지 않고도 추종 오차를 줄일 수 있습니다. 중력 보상은 정지 자세의 I 항 부담을 줄이고, 속도·가속도 피드포워드는 빠른 궤적의 지연을 줄입니다. 다만 잘못된 모델은 반대 방향 오차를 만들 수 있어 피드백과 제한기를 남겨야 합니다.

도식은 전류 루프를 먼저 닫고 속도, 위치 순서로 바깥 루프를 여는 절차를 보여줍니다. 각 단계에서 포화, 지연, 공진을 통과 조건으로 두면 게인 숫자 자체보다 재현 가능한 튜닝 기록을 만들 수 있습니다.

모터 전류 루프에서 속도 루프와 위치 루프로 이어지는 캐스케이드 게인 튜닝 절차
전류·속도·위치 루프를 안쪽부터 조정하는 순서. 출처: 피지컬 AI Lab.

자동 튜닝 결과도 기계 구조 안에서 해석해야 한다

PID만으로 모든 문제를 해결할 수는 없습니다. 감속기 백래시, 낮은 구조 강성, 엔코더 장착 오차, 전류 센서 노이즈와 통신 지연은 기계·전장·소프트웨어 수정이 필요한 원인입니다.

사람과 접촉하는 로봇의 높은 위치 강성은 추종 성능을 높여도 충돌력을 키울 수 있습니다. 작업 위험도와 토크 제한, 정지 기능을 기준으로 상한을 정하고 안전 검증과 별도로 승인해야 합니다.

관절 시험과 감속기 글을 함께 읽는 방법

이 주제를 더 넓게 이해하려면 FOC 제어, 로봇 감속기 백래시와 강성, 로봇 관절 성능 시험를 함께 읽는 편이 좋습니다. 각 글은 부품, 제어, 데이터 계층을 서로 다른 질문으로 나누어 설명합니다.

본문의 기술 범위는 다음 1차 자료를 기준으로 확인했습니다. ROS2 Control PID 문서은 PID 항과 포화 시 anti-windup 구성의 공식 설명을 제공합니다. Joint Trajectory Controller 파라미터은 관절별 게인·오차 제한·anti-windup 설정을 정의합니다. MATLAB PID 튜닝 문서은 시간·주파수 영역에서 대역폭과 강건성을 조정하는 기준을 설명합니다. 수치와 적용 범위는 각 자료의 시험 조건을 벗어나 일반화하지 않았습니다.

로봇 관절 게인 튜닝에서 자주 묻는 질문

P 게인을 어디까지 올려야 하나요?

작은 스텝과 주파수 스윕에서 공진과 지속 진동이 나타나기 전 충분한 여유를 두고 멈춥니다. 실제 최대 부하와 가열 상태에서도 같은 여유가 남아야 합니다.

I 게인은 꼭 필요한가요?

중력 보상과 마찰 보상이 정확하면 작게 쓸 수 있습니다. 남는 정상상태 오차가 작업에 문제가 될 때 포화 복구를 확인하며 최소한으로 추가합니다.

D 게인을 올리면 진동이 항상 줄어드나요?

저주파 감쇠는 늘 수 있지만 센서 노이즈와 필터 지연을 키울 수 있습니다. 측정 속도 품질과 구조 공진을 먼저 확인해야 합니다.

관절마다 같은 게인을 써도 되나요?

링크 관성, 감속비, 모터, 부하 범위가 달라 보통 같을 수 없습니다. 자세에 따라 게인을 스케줄링하거나 보수적인 공통값을 선택할 수 있습니다.

자동 튜닝만으로 끝낼 수 있나요?

초기값을 얻는 데 유용하지만 시험 진폭과 모델 가정 밖의 백래시·마찰·포화·사람 접촉 조건은 별도로 검증해야 합니다.

마지막 확인: 2026년 7월 25일. 본문은 공개된 기술 문서와 논문을 기준으로 작성했으며, 제품별 수치와 안전 등급은 제조사 자료와 실제 시험 조건을 함께 확인해야 합니다.