필터를 취소 할 수 있습니다. 이것은 지연을 제거 할 수 있지만 고주파 노이즈도 증가시킵니다. 이 작업을 수행 한 후 새로운 머리글 추정치에 따라 로봇을 제어 할 수 있습니다. 이렇게하려면 저역 통과 필터 매개 변수를 해결하도록 실험해야합니다. 예를 들어, 불연속 시간에 다음을 찾을 수 있습니다.
θ (t를)tθt
θ^(t)=a0θ(t)+a1θ(t−1)+⋯+akθ(t−k)
여기서 는 다음의 예상 머리글 (나침반 출력)입니다. 시간 , 시간에서의 실제 호 (접지 진실) 인 .θ^(t)tθt
다른 외부 수단을 사용하여 지상 진실을 측정하는 실험을 수행 하여 매개 변수 를 찾을 수 있습니다 . 샘플이 주어지면 다음 방정식이 있습니다.
N + K + 1 [ θ ( K ) ⋮ θ ( K + N ) ] = [ θ ( K ) θ ( K - 1 ) ⋯ θ ( 0 ) ⋮ ⋮ain+k+1
⎡⎣⎢⎢⎢θ^(k)⋮θ^(k+n)⎤⎦⎥⎥⎥=⎡⎣⎢⎢θ(k)⋮θ(k+n)θ(k−1)⋮θ(k+n−1)⋯⋯θ(0)⋮θ(n)⎤⎦⎥⎥⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥
를 찾아서 해결할 수 있습니다.
의 의사 역행렬이고 . 를 해결하는 확실한 방법은 없으므로 아마도 추측 할 것입니다. 보너스 포인트의 경우 노이즈가 하얗고 독립적 인 것으로 가정하지만 바이어스를 제거하기 위해 먼저 하얗게 할 수 있으므로 모수 추정치를 향상시킬 수 있습니다.
⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢θ(k)⋮θ(k+n)θ(k−1)⋮θ(k+n−1)⋯⋯θ(0)⋮θ(n)⎤⎦⎥⎥+⎡⎣⎢⎢⎢θ^(k)⋮θ^(k+n)⎤⎦⎥⎥⎥
M+Mk
이를 전송 함수 (이산 시간 도메인에서 Z 변환이라고도 함)로 변환 할 수 있습니다.
Θ^(z)Θ(z)=a0+a1z−1+...+akz−k
이것을 취소하기 위해 역수를 취할 수 있습니다 (여기서 는 새로운 표제의 추정치입니다) :θ¯(t)
Θ¯(z)Θ^(z)=1a0+a1z−1+⋯+akz−k
시간 도메인으로 다시 변환 :
a0θ¯(t)+a1θ¯(t−1)+⋯+akθ¯(t−k)=θ^(t)
θ¯(t)=θ^(t)−a1θ¯(t−1)−⋯−akθ¯(t−k)a0
그런 다음 를 사용하여 로봇을 제어 할 수 있습니다 .θ¯
이것은 시끄러울 것이므로 사용하기 전에 저역 통과 필터를 통해 를 넣어야 할 수도 있습니다 (아마도 지연이 적은 필터 일 수도 있음).θ¯
위의 해결책은 여전히 최선의 방법은 아닙니다. 시끄러운 추정치는 그다지 유용하지 않을 수 있습니다. 이것을 상태 공간 방정식에 넣으면 LQR (선형 2 차 레귤레이터)을 사용하여 칼만 필터와 전체 상태 피드백 컨트롤러를 설계 할 수 있습니다. 칼만 필터와 LQR 컨트롤러의 조합은 LQG 컨트롤러 (선형 2 차 가우스)라고도하며 루프 전송 복구를 사용하여 우수한 컨트롤러를 얻습니다.
이렇게하려면 (이산 시간) 상태 공간 방정식을 생각해보십시오.
x⃗ (t)=Ax⃗ (t−1)+Bu⃗ (t−1) ,y⃗ (t)=Cx⃗ (t)
또는 :
x⃗ (t)=⎡⎣⎢⎢⎢⎢θ(t)θ(t−1)⋯θ(t−k)⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢A110⋮00A201⋮00⋯⋯⋯⋯⋯000⋮10000⋮01000⋮00⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥x⃗ (t−1)+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢B0B10⋮00⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥u⃗ (t−1)
y⃗ (t)=[θ^(t)]=⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥x⃗ (t)
여기서 은 로봇을 돌리는 모터의 힘을 나타내고 , , , 은 위치와 속도에 따라 머리글에 영향을 미치는 정도입니다 (0이 아닌 값을 선택할 수 있음) 행렬 의 다른 요소 와 행렬 의 첫 번째 행에 대해서도 마찬가지입니다.u⃗ (t−1)A0A1B0B1BA
그런 다음 프로세스 노이즈 및 측정 노이즈에 대한 노이즈 추정치 및 를 선택하여 옵저버 (칼만 필터)를 구축 할 수 있습니다 . 그런 다음 Kalman Filter는 잡음에 대한 가정을 고려하여 최적의 제목 추정치를 찾을 수 있습니다. 노이즈 추정을 선택한 후 구현은 칼만 필터 코드 구현에 달려 있습니다 (위키 백과에서 방정식을 찾을 수 있으므로 여기서 다루지 않겠습니다).QoRo
그런 다음, LQR 컨트롤러를 설계 할 수 있습니다. 이번에 는 제목을 조정하는 데 주어진 가중치를 나타내는 및 선택 하고 액추에이터 사용을 제한하려고합니다. 이 경우 및 . 이는 LQR이 비용 함수를 최소화하기위한 최적의 컨트롤러를 찾으므로 수행됩니다.QcRcQc=⎡⎣⎢⎢⎢⎢10⋮000⋮000⋮0⋯⋯⋯00⋮0⎤⎦⎥⎥⎥⎥Rc=[1]J=∑(x⃗ TQx⃗ +u⃗ TRu⃗ )
그런 다음, 이산 시간 대수 리카 티 방정식을 통해 방금 정리합니다.
P=Q+AT(P−PB(R+BTPB)−1BTP)A
양의 한정 행렬 .P
따라서 귀하의 통제 법은 다음과 같이 주어질 수 있습니다.
u⃗ (t)=−K(x⃗ (t)−x⃗ ref(t))
여기서K=(R+BTPB)−1(BTPA)
마지막으로이 작업을 수행하면 효과가 떨어지며 노이즈로 인해 불안정 할 수 있습니다. 사실, 이는 저역 통과 필터를 통해 를 먼저 넣지 않으면 옵션 1이 작동하지 않을 수 있음을 의미 합니다 (긴 유효 지연 시간이 반드시 긴 것은 아님). 칼만 필터를 사용하자마자 LQR이 안정적으로 보장되지만 보증이 손실되기 때문입니다.θ¯
이 문제를 해결하려면, 우리는 새로운 선택 대신 칼만 필터를 조정하고 루프 전달 복구 기술을 사용 , 원래이다 칼만 필터가 최적이되도록 조정 매트릭스를, . 는 양의 한정된 대칭 행렬이며, ID 행렬 ( ) 로 선택할 수 있습니다 . 그런 다음 스칼라 선택하십시오 . 그 결과 제어기는 (이상)이되어야 안정 있지만 행렬 덜 최적이되는 수단, 디 튜닝된다.Q 0 Q V V = I q q → ∞ Q oQo=Q0+q2BVBTQ0QVV=Iqq→∞Qo
따라서 안정 될 때까지 늘리 십시오. 안정적으로 만들 수있는 또 다른 방법은 컨트롤러를 느리게 만들기 위해 를 늘리 거나 줄이는 입니다.R c Q cqRcQc