状态估计与滤波

可观测性(估计意义)

可观测性问的是一个看似简单的问题:仅凭我实际能取得的测量,我最终能不能把机器人那些隐藏状态里、我想知道的一切都推算出来?所谓状态,就是描述机器人处境的那一整套数字——它的位置、它的朝向,也许还有速度,也许还有某个传感器缓慢的漂移。这些数字里有许多从来不被直接测量,机器人只能从传感器实际报出的东西里去推断。如果盯着传感器看得够久之后,恰好只有唯一一种可能的状态能产生所看到的一切,那么这个状态就是可观测的。可如果两种确实不同的状态会永远产生一模一样的传感器读数,机器人就永远无从分辨,那个隐藏的量便是不可观测的——再巧妙的数学也救不回来,因为那份信息压根就从未被捕捉到。

一个朴素的画面有助于理解。想象你蒙着眼站在一间空荡荡的纯白房间里,手里只有一个指南针。你总能说出自己正朝着哪个方向,所以你的朝向是可观测的。但指南针对你究竟靠着北墙还是南墙只字不提,所以你的位置是不可观测的——对你这唯一的传感器来说,房间里每一处看起来都一模一样。现在给自己一把量到最近那面墙的卷尺,然后开始走:随着读数因你的移动而变化,那个曾经隐藏的位置就变得可以还原了。这正是可观测性在估计里那个深刻的转折:它常常取决于运动。一个量在机器人静止时不可见,一旦它以恰当的方式动起来,就可能变得可见,因为运动会让传感器讲出一个更丰富、不断变化的故事。

为什么要在意这个?因为只要状态里有一部分是不可观测的,任何滤波器——卡尔曼滤波器不行,粒子滤波器不行,谁都不行——都无法把它钉死;它们能做的最好程度,不过是在那一块周围保留一团诚实而不断膨胀的不确定性。因此工程师在信任一个估计器之前,会先检查可观测性,并且常常专门设计机器人的传感器布局或它的运动方式,好让他们在意的那些东西变成可观测的。这正是一个数据真能回答的问题,与一个无论算法多好、机器人都注定只能瞎猜的问题之间的分野。

一个只靠对着一面墙的单个距离传感器来追踪位置的机器人,分不清自己沿那面墙是偏左还是偏右——那些位置是不可观测的,它在那个方向上的不确定性会无界地增长。再加一个成直角的第二个测墙传感器,或者干脆让机器人转个弯、开一段,两个读数合起来就能把位置钉死:状态于是变得可观测了。

单个测墙传感器会让“沿墙方向的位置”不可观测;第二个传感器——或运动——能让完整位置重新可还原。

可观测性关心的是信息究竟存不存在于测量之中——这与你的滤波器够不够好、能不能把它提取出来是两码事。一个完全可观测的系统,仍可能被糟糕的算法估计得一塌糊涂;但一个不可观测的量,无论算法多么完美,任何算法都估计不出来。

又称
state observabilityestimability可观性可估计性