Where Can Machine Learning Help Robotic State Estimation 机器学习在机器人状态估计的应用

Where Can Machine Learning Help Robotic State Estimation

Tim Barfoot 关于机器学习在机器人状态估计中应用的报告演讲。演讲时间2021年11月。视频链接: bilibili youtube

关键词:高斯过程回归、变分推理、期望最大化、深度神经网络、核方法、Koopman 嵌入、随机傅里叶特征

Barfoot’s lab

research insterests: localization, mapping, planning, control (on UGV)

state estimation is a core capability needed to enable downstream tasks such as planning and control.

Continuous-Time Trajectories

motion model:   x ˙ ( t ) = A ( t ) x ( t ) + v ( t ) + L ( t ) w ( t ) observation model:   y k = C k x ( t k ) + n k \newcommand{\b}{\mathbf} \begin{aligned} \text{motion model:~~}&\dot{\b x}(t) = \b A(t)\b x(t) + \b v(t) + \b L(t)\b w(t) \\ \text{observation model:~~}&\b y_k = \b C_k \b x(t_k) + \b n_k \end{aligned} motion model:  observation model:  x˙(t)=A(t)x(t)+v(t)+L(t)w(t)yk=Ckx(tk)+nk
w ( t ) ∼ G P ( 0 , Q δ ( t − t ′ ) ) \mathbf w(t)\sim\mathcal{GP}\left(\mathbf 0, \mathbf Q \delta(t-t')\right) w(t)GP(0,Qδ(tt)), n k ∼ N ( 0 , R ) \mathbf n_k\sim\mathcal N(\mathbf 0, \mathbf R) nkN(0,R), x ( t ) ∼ G P ( x ~ ( t ) , P ~ ( t , t ′ ) ) \mathbf x(t) \sim \mathcal{GP}\left(\mathbf{\tilde x}(t), \mathbf{\tilde P}(t,t')\right) x(t)GP(x~(t),P~(t,t))

Stochastically integrate the motion model (in closed-form) to create a prior (kernel function)
x ( t ) ∼ G P ( Φ ( t , t 0 ) x ~ 0 + ∫ t 0 t Φ ( t , s ) v ( s ) d s , Φ ( t , t 0 ) P ~ 0 Φ ( t ′ , t 0 ) ⊤ + ∫ t 0 min ⁡ ( t , t ′ ) Φ ( t , s ) L ( s ) Q L ( s ) ⊤ Φ ( t ′ , s ) ⊤ d s ) \newcommand{\b}{\mathbf} \begin{aligned} \b x(t) \sim \mathcal{GP} \Big(&\Phi(t,t_0)\b{\tilde x_0} + \int_{t_0}^t \Phi(t,s)\b v(s) ds, \\ &\Phi(t,t_0)\b{\tilde P_0}\Phi(t',t_0)^\top + \int_{t_0}^{\min(t,t')}\Phi(t,s)\b L(s) \b Q \b L(s)^\top \Phi(t',s)^\top ds \Big) \end{aligned} x(t)GP(Φ(t,t0)x~0+t0tΦ(t,s)v(s)ds,Φ(t,t0)P~0Φ(t,t0)+t0min(t,t)Φ(t,s)L(s)QL(s)Φ(t,s)ds)

Lie groups to handle 3D rotations

[@longBananaDistributionGaussian]

Gaussian variational inference

Use Greek letters to define non-linear model:
motion model:   ξ k = f ( ξ k − 1 , ν k ) + ω k observation model:   γ k = g ( ξ k ) + η k \newcommand{\b}{\boldsymbol} \begin{aligned} \text{motion model:~~}& \b\xi_k = \mathrm{f}(\b\xi_{k-1}, \b\nu_k) + \b\omega_k \\ \text{observation model:~~}& \b\gamma_k = \mathrm{g}(\b\xi_k) + \b\eta_k \end{aligned} motion model:  observation model:  ξk=f(ξk1,νk)+ωkγk=g(ξk)+ηk
ξ \xi ξ - unknown state, ν \nu ν - input, ω \omega ω - process niose
γ \gamma γ - sensor measurement, η \eta η - measurement noise

We can simply apply linearization:
motion model:   x k = A k − 1 x k − 1 + v k + w k observation model:   y k = C k x k + n k \newcommand{\b}{\mathbf} \begin{aligned} \text{motion model:~~}& \b x_k = \b A_{k-1} \b x_{k-1} + \b v_k +\b w_k \\ \text{observation model:~~}&\b y_k = \b C_k \b x_k + \b n_k \end{aligned} motion model:  observation model:  xk=Ak1xk1+vk+wkyk=Ckxk+nk

But it turns out there is another starting point we could think about which is called variation inference. The idea is that we actually want to think about this as an optimization problem, we’d like to set up some data likelihood objective, in this case the log likelihood of all of our measurements, and that could be given some parameters that are associated with our models.

KaTeX parse error: No such environment: split at position 37: …dsymbol} \begin{̲s̲p̲l̲i̲t̲}̲ -\log p(\b\gam…

where θ \theta θ - extra unknown parameters, q ( ξ ) q(\xi) q(ξ) - approximate Gaussian posterior, log ⁡ ( p ( ξ ∣ γ , ν , θ ) q ( ξ ) ) \log\left(\frac{p(\xi | \gamma,\nu,\theta)}{q(\xi)} \right) log(q(ξ)p(ξγ,ν,θ)) - true Bayesian posterior.
On rhs, the first term is Kullback-Leibler divergence, which basically talks about the difference between the full Bayesian posterior and our estimate. The second term is the upper bound term.

expectation minimization:

  • e-step: hold θ \theta θ fixed, minimize V ( q ∣ θ ) V(q|\theta) V(qθ) for q ( ξ ) q(\xi) q(ξ)
  • m-step: hold q ( ξ ) q(\xi) q(ξ) fixed, minimize V ( q ∣ θ ) V(q|\theta) V(qθ) for θ \theta θ

We improve our state estimation in the e-step and improve our models in the m-step.

KL散度 KL ( P ∣ ∣ Q ) = ∫ − ∞ ∞ p ( x ) log ⁡ p ( x ) q ( x ) d x \text{KL}(P||Q) = \int_{-\infin}^\infin p(x)\log \frac{p(x)}{q(x)}dx KL(PQ)=p(x)logq(x)p(x)dx . KL散度描述了用一个分布 Q Q Q替代另一个分布 P P P时所损失的信息量(熵), P P P Q Q Q越相近散度越小。它度量两个概率分布相似度,具有非负性、仿射变换不变性、非对易性等。链接

upper bound:
V ( q ∣ θ ) = − ∫ q ( ξ ) log ⁡ ( p ( ξ , γ ∣ ν , θ ) q ( ξ ) ) d ξ = E q [ − log ⁡ p ( ξ , γ ∣ ν , θ ) ] + 1 2 log ⁡ ∣ Σ − 1 ∣ \newcommand{\b}{\boldsymbol} V(q|\theta) = -\int q(\b\xi)\log\left(\frac{p(\b\xi, \b\gamma|\b\nu,\b\theta)}{q(\b\xi)} \right) d\b\xi \\ = \mathbb E_q [-\log p(\b\xi, \b\gamma|\b\nu,\b\theta)] + \frac{1}{2} \log |\b \Sigma^{-1}| V(qθ)=q(ξ)log(q(ξ)p(ξ,γν,θ))dξ=Eq[logp(ξ,γν,θ)]+21logΣ1

e-step (state estimation):

  • find the best mean and (inverse) covariance q ( ξ ) = N ( μ , Σ ) q(\boldsymbol\xi) = \mathcal N(\boldsymbol\mu, \boldsymbol\Sigma) q(ξ)=N(μ,Σ)
  • exactly sparse Gaussian variational inference [@barfootExactlySparseGaussian2020]

m-step (unsupervised parameter learning)

  • without any groundtruth fot the trajectory, we can learn almost any parameter of the system:
    x k = A x k − 1 + v k + w k y k = C x k + n k w k ∼ N ( 0 , Q ) n k ∼ N ( 0 , R ) \newcommand{\b}{\mathbf} \begin{aligned} \b x_k &= {\color{red}\b A} \b x_{k-1} + \b v_k +\b w_k \\ \b y_k &= {\color{red}\b C} \b x_k + \b n_k \\ \b w_k &\sim \mathcal N(0,{\color{red}\b Q}) \\ \b n_k &\sim \mathcal N(0,{\color{red}\b R}) \end{aligned} xkykwknk=Axk1+vk+wk=Cxk+nkN(0,Q)N(0,R)

[@yoonUnsupervisedLearningLidar2021]

Kernel Embedding

Every low-demensional nonlinear system can always be lifted up and written as some linear differential equation in higher demensional space (maybe infinte dimensional).
ξ ˙ = f ( ξ ) ⇒ x ˙ = A x \newcommand{\b}{\mathbf} \dot\xi = f(\xi) \Rightarrow \dot{ \b x} = \b A \b x ξ˙=f(ξ)x˙=Ax

In state estimation:
ξ k = f ( ξ k − 1 , ν k ) + ω k γ k = g ( ξ k ) + η k \newcommand{\b}{\boldsymbol} \begin{aligned} \b\xi_k & = \mathrm{f}(\b\xi_{k-1}, \b\nu_k) + \b\omega_k \\ \b\gamma_k & = \mathrm{g}(\b\xi_k) + \b\eta_k \end{aligned} ξkγk=f(ξk1,νk)+ωk=g(ξk)+ηk

apply restrict class to control-affine systems:
ξ k = f 0 ( ξ k − 1 ) + ∑ i f i ( ξ k − 1 ) ν k , i + ω k γ k = g ( ξ k ) + η k \newcommand{\b}{\boldsymbol} \begin{aligned} \b\xi_k & = \mathrm{f}_0(\b\xi_{k-1}) + \sum_i \mathrm{f}_i(\b\xi_{k-1})\b\nu_{k,i} + \b\omega_k \\ \b\gamma_k & = \mathrm{g}(\b\xi_k) + \b\eta_k \end{aligned} ξkγk=f0(ξk1)+ifi(ξk1)νk,i+ωk=g(ξk)+ηk
embed as a high-dimensional, time-invariant bilinear system [@bruderAdvantagesBilinearKoopman2021]
x k = A x k − 1 + B u k + H ( u k ⊗ x k − 1 ) + ω k y k = C x k + n k \newcommand{\b}{\mathbf} \begin{aligned} & \b x_k = \b A \b x_{k-1} + \b B \b u_k + \b H (\b u_k \otimes \b x_{k-1}) + \b\omega_k \\ &\b y_k = \b C \b x_k + \b n_k \end{aligned} xk=Axk1+Buk+H(ukxk1)+ωkyk=Cxk+nk
rearrange as a high-dimensional, time-varying, linear system. [@guoKoopmanLinearizationDataDriven2022]
Let   A k − 1 = A + H ( u k ⊗ 1 ) , v k = B u k ⇒ x k = A k − 1 x k − 1 + v k + w k y k = C k x k + n k \newcommand{\b}{\mathbf} \begin{aligned} \text{Let~~}\b A_{k-1} & = \b A + \b H(\b u_k \otimes \b 1), \b v_k = \b B \b u_k \\ \Rightarrow \b x_k & = \b A_{k-1} \b x_{k-1} + \b v_k +\b w_k \\ \b y_k & = \b C_k \b x_k + \b n_k \end{aligned} Let  Ak1xkyk=A+H(uk1),vk=Buk=Ak1xk1+vk+wk=Ckxk+nk
Solve the batch linear-Gaussian state estimation equations
( A − ⊤ Q − 1 A − 1 + C ⊤ R − 1 C ) ⏟ P ^ − 1 x ^ = A − ⊤ Q − 1 v + C ⊤ R − 1 y \newcommand{\b}{\mathbf} \underbrace{(\b A^{-\top} \b Q^{-1} \b A^{-1} + \b C^\top \b R^{-1} \b C)}_{\b{\hat P}^{-1}} \b{\hat x} = \b A^{-\top} \b Q^{-1} \b v + \b C^\top \b R^{-1} \b y P^1 (AQ1A1+CR1C)x^=AQ1v+CR1y
collapse the high-dimensial estimate to the original space using the Representer Theorem

Others

  • Match UAV images to Satelite images.
  • Learning features for long-term visual localization, match images across severe lighting change.
  • Semantically segmenting classes.

参考文献

[1] LONG A W. WOLFE K C. MASHNER M J. 等. The
Banana Distribution is Gaussian: A Localization Study with Exponential
Coordinates[J]. 8.

[2] BARFOOT T D. FORBES J R. YOON D. Exactly Sparse
Gaussian Variational Inference with Application to Derivative-Free Batch
Nonlinear State Estimation[M/OL]. arXiv, 2020[2022-07-05].
http://arxiv.org/abs/1911.08333.

[3] YOON D J. ZHANG H. GRIDSETH M. 等. Unsupervised
Learning of Lidar Features for Use in a Probabilistic Trajectory
Estimator[M/OL]. arXiv, 2021[2022-07-05].
http://arxiv.org/abs/2102.11261.

[4] BRUDER D. FU X. VASUDEVAN R. Advantages of
Bilinear Koopman Realizations for the Modeling and Control of Systems
With Unknown Dynamics[J/OL]. IEEE Robotics and Automation Letters,
2021, 6(3): 4369-4376.
DOI:10.1109/LRA.2021.3068117.

[5] GUO Z C. KOROTKINE V. FORBES J R. 等. Koopman
Linearization for Data-Driven Batch State Estimation of Control-Affine
Systems[J/OL]. IEEE Robotics and Automation Letters, 2022, 7(2):
866-873.
DOI:10.1109/LRA.2021.3133587.

作者:Timothy D. Barfoot ,最新2018高清资源,完整395页,持续更新。 版权归作者所有,任何形式转载请联系作者。 State Estimation for Robotics早已在SLAM领域广为流传,几乎是SLAM入门必读的经典书籍之一。本书深入讲解了状态估计的机理、三维几何学基础、矩阵李群以及位姿和点的估计方法等,尤其对基于滤波器的状态估计方法的介绍全面深刻。现在在高翔、颜沁睿、刘富强等十多位SLAM专家、爱好者的共同努力下,中文译本《机器人学中的状态估计》也终于得以面世。这对于国内广大SLAM爱好者来说,可谓一大福音,值得隆重推荐。 ——浙江大学教授,CAD & CG国家重点实验室计算机视觉团队带头人,章国锋 State Estimation for Robotics是加拿大多伦多大学Barfoot教授的名著,也是机器人方向的经典教材之一。该书侧重数学基础,先花了三分之二的篇幅来介绍概率、几何方面的基础知识,最后又回到应用问题,详细介绍了基于点云和图像的姿态估计。 这是一本难得的既注重基础又顾及前沿研究问题的教材。书的译者是一群对机器人技术富有激情的年轻人,他们中的许多人在计算机视觉、机器人等科研领域开始崭露头角。这本译作倾注了他们的满腔热忱和对国内技术发展的期望。 ——加拿大西蒙弗雷泽大学终身教授,谭平 本书介绍了机器人领域的重要核心技术——状态估计。这本书不只介绍了一些传统的经典算法,也涉及了最新的行业进展和应用,同时还传授了一些基础的数学工具。本书使用严谨的数学语言,同时又深入浅出,是初学者不可多得的良师益友。 ——自动驾驶公司AutoX创始人,原美国普林斯顿大学计算机视觉与机器人实验室主任,麻省理工学院博士 肖健雄
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>