机器人学中的状态估计批量形式

线性高斯系统的状态估计#

离散批量优化#

运动和观测方程#

在离散时间线性时变的条件下,定义运动和观测方程:

xk=Ak1xk1+vk+wk,k=1,,Kyk=Ckxk+nk,k=0,,K

vk 是确定性变量,其他都是随机变量。噪声和初始状态一般假设为互不相关,并且在各个时刻与自己也互不相关。Ak 为转移矩阵,Ck 为观测矩阵。

最大后验估计#

最大后验估计的思想是使得在样本出现的条件下参数的后验概率最大化。也就是在已知输入 vk 和观测 yk 的条件下,系统状态 xk 概率最大化。即:

x^=argmaxx p(x|v,y)

其中 x^ 表示后验估计,x=x0:K=(x0,,xK)v=(x˘,v1:K)y=y0:K=(y0,,yK)

根据贝叶斯公式:

x^=argmaxx p(x|v,y)=argmaxxp(y|x)p(x|v)xp(y|x)p(x|v)dx=argmaxx p(y|x)p(x|v)

假设所有时刻的噪声是无关的。上式中:

p(y|x)=k=0KP(yk|xx)p(x|v)=p(x0|x0˘)0Kp(xk|xk1,vk)

其中,

p(x0|x0˘)=1(2π)NdetP0˘exp(12(x0x0˘)TP0˘1(x0x˘))p(xk|xk1,vk)=1(2π)NdetQkexp(12(xkAkxk1vk)TQk1(xkAkxk1vk))p(yk|xk)=1(2π)MdetRkexp(12(ykCkxk)TR1(ykCkxk))

上式中,Qk 是输入 vk 的噪声,Rk 是观测的噪声。代入到最大后验估计可知:

argmaxxp(y|x)p(x|v)=argmaxxk=0Kp(yk|xk)p(x0|x0˘)k=1Kp(xk|xk1,vk)=argmaxxk=0K1(2π)MdetRkexp(12(ykCkxk)TR1(ykCkxk))1(2π)NdetP0˘exp(12(x0x0˘)TP0˘1(x0x˘))k=1K1(2π)NdetQkexp(12(xkAkxk1vk)TQk1(xkAkxk1vk))

对最大后验估计取对数:

L(x)=k=0K12(ykCkxk)TR1(ykCkxk)+k=1K(12(xkAkxk1vk)TQk1(xkAkxk1vk))+(12(x0x0˘)TP0˘1(x0x˘))+(K+12ln((2π)MdetRk)K2ln((2π)NdetQk)12ln((2π)NdetP0˘))

简化一下上式,上式共有四项,最后一项(最后用括号括起来的三个)与 x 无关,可忽略,令第一项为 k=0KJy,k(x) ,第二项和第三项为 k=0KJv,k(x) 。所以整体的目标函数有:

J(x)=k=0K(Jv,k(x)+Jy,k(x))

由于取了对数的原因,所以最小化这个目标函数来求解 x 的值。接下来我们可以把这个目标函数写成矩阵的形式。那么就有:

image-20220421112718088

image-20220421112831909

J(x)=12(zHx)TW1(zHx)

xT 求导,并令其导数为 0:

J(x)xT=HW1(zHx)=0

posted @   海边的某某某  阅读(146)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示
主题色彩