Contents — find the section you need
선형 2차 제어(LQR)는 상태 편차와 액추에이터 사용에 비용을 할당한 다음, 선형 모델에 대해 해당 비용을 최소화하는 상태 피드백 법칙을 도출합니다. 현재 오차, 과거 오차, 오차율에 직접 반응하는 PID 제어와 달리, LQR은 위치, 속도, 각도, 각속도, 전류, 그리고 연결된 축을 하나의 상태로 사용할 수 있습니다. 특히 역진자, 항공기 자세 제어, 균형 로봇, 로봇 팔 등의 국소 안정화에 적합합니다.
LQR이 만능 최적 제어기는 아닙니다. 필요한 상태를 측정할 수 없는 경우 관측기가 필요하고, 시스템이 국소 선형 모델의 범위를 벗어나면 이득이 약해지며, 입력 또는 상태 제약 조건이 중요한 경우에는 MPC가 더 나은 선택일 수 있습니다. ROS 2 실행 경계에 대해서는 ROS 2 Primer를 참조하십시오. 추정 가정에 대해서는 센서 융합 입문을 참조하십시오.
실질적인 결론
-
\dot{x}=Ax+Bu과 가중치 Q,R로부터 무한 시간 범위 LQR을 통해 u=-Kx가 생성됩니다. Q은 상태 오류에 대한 페널티 강도를 나타내고, R는 명령 비용을 나타냅니다.
-
이득 K는 리카티 방정식과 그 해 P : K=R^{-1}B^TP에서 도출됩니다. 이는 상태별로 이득을 수동으로 조정하는 대신 모델링된 결합을 고려합니다.
-
(A,B)의 안정화 가능성과 (A,C)의 탐지 가능성/관측 가능성은 필수 조건입니다. 센서가 있다고 해서 필요한 상태를 재구성할 수 있는 것은 아닙니다.
-
LQR 자체는 액추에이터 제한, 충돌 방지 또는 비상 정지를 강제하지 않습니다. 이러한 기능은 게인 외부의 제한 및 안전 기능에 속합니다.
상태 공간 및 신호 흐름
상태 x은 입력 및 외란과 함께 미래 동작을 결정하는 가장 작은 변수 집합입니다. 카트는 위치와 속도가 필요하고, 회전체는 각도와 각속도가 필요하며, 전기 기계식 구동 장치는 전류를 추가할 수 있습니다. 선형 시불변 모델은 다음과 같습니다.
여기서 u는 명령, w은 모델링되지 않은 외란, y는 측정값, v는 센서 잡음입니다. A은 상태 변화를 나타내고, B은 입력 경로를 나타내며, C은 센서가 나타내는 정보를 나타냅니다.
다이어그램에서 합산 접합부는 e=\hat{x}-x_r(추정 상태에서 기준값을 뺀 값)를 형성하고, LQR은 u=-Ke을 출력합니다. 기준값이 0인 경우 이는 일반적인 u=-K\hat{x}로 간소화됩니다.
다이어그램: Duskcoil, 측정된 것이 아닌 개념도입니다. 실제 구현에는 보정, 타임스탬프, 전송 지연 및 액추에이터 내부도 포함됩니다. 루프.
평형점 (x_e,u_e) 주변에서 편차 \tilde{x}=x-x_e 및 \tilde{u}=u-u_e를 정의한 다음 \dot{\tilde{x}}=A\tilde{x}+B\tilde{u}에 대해 설계합니다. 이는 국소적인 설명입니다. 0도에 가까운 각도로 똑바로 선 진자를 안정화하는 이득 제어기는 멀리 떨어진 진자나 액추에이터가 포화된 시스템에 대한 복구 제어기가 아닐 수 있습니다.
리카티 방정식 및 비용
연속 무한 시간 범위 LQR은 다음을 최소화합니다.
Q\succeq0 및 R\succ0를 사용합니다. Q이 클수록 상태 오차 비용이 커지고, R이 클수록 노력 비용이 커집니다. 미터, 라디안, 미터/초, 암페어를 스케일링 없이 더하지 마십시오. 허용 값을 기반으로 하는 대각선 가중치를 사용하는 것이 유용한 시작점입니다. x_{max} 및 u_{max}과 같은 예는 1/x_{max}^2 및 1/u_{max}^2과 같습니다.
연속 대수 리카티 방정식은 다음과 같습니다.
그리고 안정화 해인 P은 다음과 같습니다.
이것은 제어기에서 사용되는 피드백 이득 K을 제공합니다.
샘플링된 시스템에는 이산화된 모델과 이산 리카티 방정식이 필요합니다. 연속 유한 시간 문제에서는 미분 리카티 방정식을 사용하고, 이산 유한 시간 문제에서는 차분 방정식을 사용하며, 이산 무한 시간 문제에서는 DARE를 사용합니다. 연속 모델 행렬은 A,B이고, 이산 모델은 x_{k+1}=A_dx_k+B_du_k입니다. 마치 연속 이득을 적용하는 것처럼 적용하면 이산 제어기, 각도와 라디안의 혼용, 또는 지연 시간 무시는 그렇지 않으면 정확한 계산을 불안정한 장치로 만들 수 있습니다.
제어 가능성 및 관측 가능성: 이득 계산 전 조건 확인
제어 가능성 행렬은 다음과 같습니다.
n 상태 시스템의 경우, 완전 랭크 조건은 \operatorname{rank}\mathcal{C}=n입니다.
완전 랭크는 모든 모드가 제어 가능함을 의미합니다. LQR은 표준 안정화 솔루션의 경우 (A,B)가 안정화 가능하고 (Q^{1/2},A)가 감지 가능해야 합니다. 이는 센서 쌍 (C,A)의 관측 가능성과는 다릅니다. 관측 가능성 행렬은 다음과 같습니다.
완전 랭크는 출력 이력으로부터 상태를 재구성할 수 있음을 의미합니다. [칼만 필터]를 참조하십시오. LQR과 함께 일반적으로 사용되는 추정기에 대한 입문 자료(Primer)[/ko/blog/posts/control-kalman-filter.html]를 참조하십시오.
수치 예제: 이중 적분기 안정화
x=[p\ v]^T 및 가속 명령 u을 사용하는 정규화된 이중 적분기의 경우,
Q=\operatorname{diag}(q_p,q_v)를 사용하면 u=-k_pp-k_vv이 됩니다. 이는 PD와 유사하지만, 두 이득은 모델과 Q,R에서 함께 선택됩니다. q_p를 크게 하고 q_v을 작게 하면 급격한 가속 및 제동이 발생하고, R을 너무 작게 하면 액추에이터 사용이 거의 자유로워집니다. 결과적으로 K=[k_p\ k_v] 이득이 선택되며, k_p,k_v도 함께 선택됩니다. 물리적 한계 |u|\le u_{max} 및 |\Delta u|\le r_{max}은 여전히 필요합니다. 클리핑이 빈번하게 발생하는 경우, 클리핑된 결과를 제약 없는 LQR이라고 부르는 것보다 기준 형상화, 재설계 또는 제약 조건이 있는 MPC가 더 정직합니다.
Q=I 및 R=1을 사용하는 연속 이중 적분기의 경우, 동일한 유도 과정을 통해 K=[1\ \sqrt{3}]\simeq[1\ 1.732]을 얻을 수 있습니다. 이는 정규화된 예시이며 하드웨어에 복사할 이득이 아닙니다. 샘플링된 모델, 질량, 액추에이터 제한 및 실제 시스템의 지연을 사용하여 다시 계산해야 합니다.
PID, LQR 및 MPC 중 선택
| 방법 | 적합도 | 입력 | 제약 조건 처리 | 주요 주의 사항 |
|---|---|---|---|---|
| PID | 빠른 단일 루프 제어 | 오차/이력/율 | 외부 제한기 | 와인드업 및 노이즈 |
| LQR | 국소 선형 다중 상태 안정화 | 추정 상태 | 그 자체로는 명시적이지 않음 | 모델 범위 및 포화 |
| MPC | 제한이 있는 다변수 예측 | 상태, 모델, 기준 | 명시적 최적화 제약 조건 | 마감 시간 및 실행 가능성 |
중첩 설계가 일반적입니다. PID 전류/속도 루프, LQR 로컬 자세 또는 위치 안정화, 궤적 또는 제약 조건을 위한 MPC 등이 있습니다. 고정 제어보다는 추적을 위해서는 시간 가변 기준, 피드포워드, 게인 스케줄링 또는 LTV-LQR을 사용하십시오.
로봇 구현 및 안전
인코더, IMU, 카메라 및 LiDAR는 서로 다른 속도와 지연 시간으로 데이터를 출력합니다. 도착 순서가 지정된 메시지를 상태로 직접 전달하지 마십시오. 타임스탬프에 맞춰 정렬된 추정치, 신뢰도/공분산 및 유효성 상태를 전달하십시오. ROS 2 Primer에 설명된 ROS 2 수명 주기 및 하드웨어 인터페이스는 소프트웨어 구성뿐만 아니라 설계 경계이기도 합니다.
대표적인 IMU/INS이미지: Xsens MTi-G (Kallap85, CC BY-SA 4.0), Wikimedia Commons. 이는 대표적인 센서 이미지이며, 측정된 LQR 시스템이나 제품 권장 사항이 아닙니다.
추정기 공분산 증가, 센서 타임아웃, 인코더와 IMU 간의 불일치, 지속적인 포화 및 마감 시간 초과를 모니터링하십시오. 상태가 더 이상 신뢰할 수 없으면 -K\hat{x} 명령을 계속 발행하지 마십시오. 관성, 중력 및 사람의 근접성을 기반으로 시스템별 전환(속도를 0으로 점진적으로 감소, 토크 비활성화, 기계식 브레이크 또는 비상 정지)을 선택하십시오. LQR 안정성 주장은 정확한 모델, 정확한 상태 및 포화되지 않은 입력을 가정합니다. 독립적인 보호 장치는 이러한 증명 범위를 벗어나는 가정들을 포괄해야 합니다.
구현 체크리스트
-
평형점, 단위, 부호, 프레임 및 이산 주기를 설정합니다.
-
선형화 지점 근처에서 모델 잔차를 측정하고 작동 범위를 정의합니다.
-
제어 가능성 및 관측 가능성/탐지 가능성을 수치적으로 검사합니다.
-
허용 가능한 상태 및 명령으로부터 Q,R을 정규화하고 모든 변경 사항을 기록합니다.
-
포화, 속도 제한, 추정 신선도 및 LQR 범위를 벗어난 독립적인 정지를 모니터링합니다.
-
작동 범위를 확장하기 전에 낮은 출력에서 지연, 마찰, 페이로드 변화 및 센서 손실을 테스트합니다.
참고 자료
입력 페널티가 클수록 어떤 효과가 있나요?
제어 노력을 줄이도록 유도합니다. 응답 트레이드오프를 확인하고 단위가 다른 상태 변수의 크기를 적절하게 조정하세요.
댓글
먼저 로그인해 주세요.
아직 데이터가 없습니다.