卡爾曼 Rudolf Kalman (卡爾曼濾波 Kalman Filter)有哪些奇聞軼事?
1 卡爾曼常對人抱怨說,覺得自己應該得諾貝爾經濟學獎。
2 當年提出卡爾曼濾波時,主流其實是以維納濾波為核心的頻域濾波,卡爾曼濾波很長時間不被主流接納。後來,扎德提出模糊邏輯與模糊控制之時,卡爾曼作為當時的主流,即狀態空間模型的時域控制和濾波理論的代表人物,成了扎德的最大反對者之一。
3 一手把控制和濾波從頻域帶進時域狀態空間方法的卡爾曼,過去的好多年其實一直在研究頻域的一些東西。
4 卡爾曼的貢獻包括狀態空間系統分析,卡爾曼濾波,可控性,可觀性,卡爾曼分解,最小實現等等。和香農一樣,他不幸在於領域決定他基本不可能得諾貝爾獎,圖靈獎等等,雖然,arguably,已經達到了這些獎的水平。但他其實也很幸運,因為至少卡爾曼濾波方法都是以他命名的。相比之下,知道動態規劃是貝爾曼發明的又有幾個?反而基於動態規劃的維特比演算法是以維特比命名。還有,多少人知道H無窮是Zames發明的?MPC呢?最後壓軸,誰知道PID是誰發明的?
5 感謝 @pb博 的信息。卡爾曼與扎德後來和好了。雖然卡爾曼公開說過 fuzzy is trash,但兩人一笑泯恩仇(這是想像,哈哈哈)。從卡爾曼自己的新理論不被接受,到不接受扎德的新理論,再次說明了,別說是工程界與工程師了,就算是理論界與最頂尖的理論家,對完全跳出原來框架的新理論都如此難以接受。類似的例子還有貝爾曼的動態規劃。
6 卡爾曼與扎德其實算是師兄弟,導師都是拉加奇尼(John R. Ragazzini)。拉加奇尼的學生還有Jury。拉加奇尼:Z變換,Jury:Jury判據。
7 岔開一條,講貝爾曼的動態規劃。扎德在 The Evolution of System Analysis and Control: A Personal Perspective IEEE Xplore Abstract 一文中的對於貝爾曼動態規劃的回憶:
In the early "60s my doubts were not shared by many. The ascendancy of mathematical methods was unchallenged, and Lyapounov"s stability theory and differential-equations-based theory of nonlinear systems moved to the center of the stage, as did the problems relating to optimal control and systems optimization. The highly original work of Rudy Kalman on controllability, observability, and filtering was at the center of attention. Another contribution of major importance, whose impact transcended disciplinary lines, was Bellman"s development of dynamic programming. I became acquainted with Bellman"s work in 1954 and perceived dynamic programming as a powerful tool of wide applicability. I suggested to Bellman to submit to the IRE Proceedings a paper describing his work. He did so, but to my embarrassment his paper was rejected by the referees, who felt that Bellman did not provide convincing examples of practical applicability. It is ironic that about 30 years later, Bellman was awarded IEEE"s Medal of Honor for his development of dynamic programming.
怎麼越看越像在哭訴自己的經歷,哈哈哈。
8 在卡爾曼之前,其實不光維納,扎德,乃至伯德,香農,都也研究過濾波問題。不過,應該說是到了卡爾曼才達到了一統江湖。
9 問題來了,下一個卡爾曼濾波式的結果會是什麼?歡迎回答:
有哪些理論可能是下一個卡爾曼濾波似的結果?
10 可能會有爭議的一條。有一種說法是,資訊理論第一代掌門是香農,第二代是Gallager,第三代是Tse。那如果說控制與濾波理論第一代掌門是維納,第二代是卡爾曼的話,誰是第三代掌門?
11 卡爾曼當然不屬於工程師,被工程師認為是做理論的。但數學家也並不承認卡爾曼是數學家,認為他是做工程的。在這一點上,他更像香農,而不是維納。
未完待續。拋磚引玉,歡迎補充。Rudolf Kalman 3rd/July/2016去世了,sigh。
Rudolf Kalman 對現代控制工程貢獻極大,尤其是導航領域,所以他非常自信,很少低頭。但是他的一生還是低過一次頭的。
%%%%%%%%%%%%%%%%%%我知道你很想知道%%%%%%%%%%%%%%%%%%%
%% ----------------------------------------------那是一個夜黑風高的晚上-----------------------------------------%%
%%%%%%%%%%%%%%%%%%%%%哈哈哈%%%%%%%%%%%%%%%%%%%%%%
2009年在白宮,奧巴騾把科學技術領域最高獎 2008 National Medals Of Science And Technology And Innovation頒給了Rudolf Kalman。
領完獎後,欲笑還羞....。。。
對了,最近我和老闆,在Automatica (IFAC)上用兩篇文章把kalman filter理論和未知輸入濾波理論給統一了。
Automatica 1: Li, Baibing. "State estimation with partially observed inputs: A unified Kalman filtering approach." Automatica 49, no. 3 (2013): 816-820.
Automatica 2: Su, Jinya, Baibing Li, and Wen-Hua Chen. "On existence, optimality and asymptotic stability of the Kalman filter with partially observed inputs."Automatica 53 (2015): 149-154. (Available online)
----------------------------------------------------------------------------------------------------------------------------------
狀態和擾動同時估計:
Su, Jinya, Baibing Li, and Wen-Hua Chen. "Simultaneous state and input estimation with partial information on the inputs." Systems Science Control Engineering 3, no. 1 (2015): 445-452。
----------------------------------------------------------------------------------------------------------------------------------
擾動觀測器理論(DOB vs ADRC):
ASME: Su, Jinya, Wen-Hua Chen, and Jun Yang. "On Relationship between Time-Domain and Frequency-Domain Disturbance Observers and Its applications."Journal of Dynamic Systems, Measurement, and Control (2016). Matlab模擬見researchgate https://uk.mathworks.com/matlabcentral/fileexchange/57825-functional-disturbance-observer-based-control
-------------------------------------------------------------------------------------------------------------------------------------
基於擾動觀測器的滑模抗擾動控制:
Automatica: Yang, Jun, Shihua Li, Jinya Su, and Xinghuo Yu. "Continuous nonsingular terminal sliding mode control for systems with mismatched disturbances."Automatica 49, no. 7 (2013): 2287-2291.
IEEE TII: Yang, Jun, Jinya Su, Shihua Li, and Xinghuo Yu. "High-order mismatched disturbance compensation for motion control systems via a continuous dynamic sliding-mode approach." Industrial Informatics, IEEE Transactions on 10, no. 1 (2014): 604-614.
----------------------------------------------------------------------------------------------------------------------------------------
故障診斷(驗證及閾值選取):
Su, Jinya, and Wen-Hua Chen. "Model-Based Fault Diagnosis System Verification Using Reachability Analysis." IEEE Transactions on Systems, Man, and Cybernetics: Systems (2017).
%% Matlab code for simple car tracking using kalman filtering
% Set the parameters
close all;clear all; clc
dt = 0.1; % sampling time
A = [1 0 dt 0;
0 1 0 dt;
0 0 1 0;
0 0 0 1]; % system matrix
q = 1;
Q = q*[dt^3/3 0 dt^2/2 0;
0 dt^3/3 0 dt^2/2;
dt^2/2 0 dt 0;
0 dt^2/2 0 dt]; % input noise covariance
H = [1 0 0 0;
0 1 0 0]; % observation matrix
s = 0.5;
R = s^2*eye(2); % observation noise covariance
m0 = [0;0;1;-1]; % initial state mean
P0 = eye(4); % initial state variance
%%
% Simulate data
randn("state",33); % fixed randn,
steps = 100;
X = zeros(size(A,1),steps); % storing
Y = zeros(size(H,1),steps); % storing
x = m0;
for k=1:steps
q = chol(Q)"*randn(size(A,1),1);
x = A*x + q;
y = H*x + s*randn(2,1);
X(:,k) = x;
Y(:,k) = y;
end
plot(X(1,:),X(2,:),"-",Y(1,:),Y(2,:),".",X(1,1),X(2,1),"*");
legend("Trajectory","Measurements");
xlabel("{it x}_1");
ylabel("{it x}_2");
%%
% Kalman filter
m = m0;
P = P0;
kf_m = zeros(size(m,1),size(Y,2)); % storing filtered mean
kf_P = zeros(size(P,1),size(P,2),size(Y,2)); % storing filtered covariance
for k=1:size(Y,2)
% mean and variance prediction
m = A*m;
P = A*P*A" + Q;
% mean and variance updating
S = H*P*H" + R;
K = P*H"/S;
m = m + K*(Y(:,k) - H*m);
P = P - K*S*K";
kf_m(:,k) = m;
kf_P(:,:,k) = P;
end
rmse_raw = sqrt(mean(sum((Y - X(1:2,:)).^2,1)))
rmse_kf = sqrt(mean(sum((kf_m(1:2,:) - X(1:2,:)).^2,1)))
clf;
h=plot(X(1,:),X(2,:),"-",Y(1,:),Y(2,:),"o",...
kf_m(1,:),kf_m(2,:),"-");
legend("True Trajectory","Measurements","Filter Estimate");
xlabel("{it x}_1");
ylabel("{it x}_2");
他還活著。。。
更新:他今天去世了!2016-07-04
據說有一次開會,他大聲斥責一位ieee fellow:「he contributed nothing」之類的話,然後被斥責的人呵呵一笑:「i can do with it. he is a genius」
08年獲得了工業界的諾貝爾獎之稱的德雷伯獎,在獲獎感言里,感謝何毓秀琦老師成功預測自己的獲獎。
推薦閱讀:
※人在宇宙中會怎麼死亡?
※為什麼飛機降落時輪子不提前轉動?
※如何入門一個全新課題,查找文獻?
※飛機定型試製後的試驗機最後都是什麼命運?
※中國航天技術的發展歷程?
TAG:機器人 | 自動控制 | 卡爾曼RudolfKalman | 航空航天 | 卡爾曼濾波KalmanFilter |