基于马尔科夫决策的路径规划(MDP Based)


前言

这里的Planning更多的是决策树的概念,从起点到终点可能存在多条路径,需要我们根据环境的变化,选择最优的去执行。并且当前的Planning都是假设在最完美的情况下执行的,且机器人对状态估计也是完美的。


在这里插入图片描述


但是现实中是不会这么完美的。


在这里插入图片描述


Uncertainties in Planning


在这里插入图片描述


  • 机器人想前进一段距离,可能会受到自然环境的影响,可能会偏移目标点,但不知道偏移了多少。
  • 机器人根据自己的经验,得知受到的干扰是多少(强化RL的思想)。

在这里插入图片描述


现在假设所有干扰都是自然产生的,现在的路径规划是机器人与自然两者博弈的结果。这与之前的Planning是有很大的不同的。


Nondeterministic Model


在这里插入图片描述


通常会假设两个空间,一个是机器人的动作空间,一个是自然的扰动空间,两空间相互独立,通过优化损失函数,来找到一条最优路径。


Probabilistic Model


在这里插入图片描述


同样假设机器人与自然的空间,现在是自然动作空间条件依赖于机器人空间,两者不相互独立了。现在就是在自然参与情况下,为机器人寻找最优的路径。

以上这是两种不同的模型,会采用不同的解决方法。


解法

Nondeterministic Model 解法

在这里插入图片描述


机器人无法预测自然的行为,现在采取类似贪心的思想,就是无论机器人怎么做,自然的动作都是最不利的行为,先穷举所有自然扰动,再选一个最不利的,看机器人如何把这个最不利的降低到最低。


Probabilistic Model解法

在这里插入图片描述


这种情况是机器人每做一个动作,自然就施加一个扰动,决策树思想,需要走一步看一步。

从One Step推广到多步

一个Planning With Uncertainties的定义,主要包括如下几个要素,State Space X {X} X,还包括了Initial State x s {x}_{s} xs,以及Goal Set X F {X}_{F} XF,需要定义机器人动作空间以及自然动作空间。


在这里插入图片描述

再一个就是State Transition Function,其描述了在 X {X} X状态下,机器人执行Action u {u} u,自然执行Action θ {\theta} θ,我们的状态是怎样变化的。


在这里插入图片描述

在这里插入图片描述

同时,从单步扩展到多步,我们需要一个 K {K} K来表征机器人在每一步都遇到了什么状态,执行了什么动作。最后是 k {k} k个连续的step实现从初始状态到终点的规划。


在这里插入图片描述


同时,为了评价规划的好坏,我们定义了这个cost function,这个cost function L {L} L是对所有可能的 x k , u k , θ k {x}_{k},{u}_{k},{\theta}_{k} xk,uk,θk的组合的评价,这个公式是囊括了每一个路径的评价。


MDP in Planning Uncertainties(马尔科夫决策)

在这里插入图片描述


问题描述:在一个栅格地图当中,机器人如何从 X I {X}_{I} XI的位置移动到黄色区域 X G {X}_{G} XG周边,中间绿色为障碍物。


在这里插入图片描述


最难的一步是,机器人一个 X K {X}_{K} XK的位置执行了一个 U K {U}_{K} UK的动作,然后把动作的执行模拟成一个高斯分布,就是实际上机器人到达的位置,除了从起点加上所执行的动作,还存在一些误差 σ ( θ 1 , θ 2 ) \sigma({\theta}_{1},{\theta}_{2}) σ(θ1,θ2)。相当于是一种连续的Model方式了。

之前的路径规划当中,因为没有Uncertainties的存在,找到一条可行的路径就直接走过去了,但是现在因为有了这些不确定的约束,就会导致每执行一步,就是走一个栅格,都会出现一些偏差。决策树的形式,每走一步,都会产生干扰,所以需要“走一步看一步。”


在这里插入图片描述
MDP的输出不像是传统的路径规划的输出一条准确的路径,这MDP的路径因为每走一步都会产生一些随机的误差,所以需要利用决策树的思想,每走一步再来规划下一步,所以基于MDP的路径规划的解的输出是一种决策树的形式,那这样会不会使得效率低下?


Cost-to-Goal

根据不同的Plan,又可以诱导出不同的trajectory set,在这个set的基础上,又定义出了cost to goal,针对不同的uncertainties model,给出了不同的cost to go的定义方式。
在这里插入图片描述
如何用以上这两种cost to go去解决uncertainties的问题?

比如在Nodeterministic 的Model下,我们倾向于使用多步的Worst-case analysis去定义cost to go;在Probabilistic下,我们更倾向于expected-case。


在这里插入图片描述


Worst-Case Analysis

假设已知了一个MDP的Model,求解MDP的问题,给定了起始点到终止点的这个Plan,来寻找一个最优的Plan,使得整体的Cost最小。在这个Nd的Model之下,机器人并不知道自然会给自身施加什么影响,所以一般假设,自然动作空间会最大程度上去对机器人进行干扰(贪婪最大化,使得机器人处于最不利的情况),以下便是Worst-Case Analysis的执行流程,其服从以下的这个公式,

G π ∗ ( x s ) G_{\pi*}(x_{s}) Gπ(xs)的解释,就是先选用最差的一种情况的Cost,即 m a x [ L ( x ~ , u ~ , θ ~ ) ] max[{{L(\widetilde{x},\widetilde{u},\widetilde{\theta})}]} max[L(x ,u ,θ )],之后再用这个最差的Cost,去进行Cost to go,定义了每一个 π {\pi} π的cost to go之后,我们再进行筛选,找到Cost to go当中最小的那一组 π {\pi} π,这样,就相当于找到了最优的那一Plan。直接的去求,会很困难,因为要用枚举法枚举所有的 π {\pi} π,枚举每一个 π {\pi} π诱导的那些路径,去计算Cost。这是一个组合爆炸的问题。目前求解这类方法常用的问题就是动态规划,通过第 k 、 k + 1 k、k+1 kk+1之间的递归关系,来求得最优的Plan。
在这里插入图片描述

动态规划

在这里插入图片描述

  1. Cost to go 对于最终的状态是 G F ∗ = l F ( x F ) {G}_{F*}={l}_{F}(x_{F}) GF=lF(xF)这样的
  2. K {K} K一直到最终的 K + 1 {K+1} K+1的Cost,就是由以上两部分组成
  3. 可以把第 K {K} K步的分解成第 K + 1 {K+1} K+1步的
  4. 形成递归关系

在这里插入图片描述

Nd Dijkstra
在这里插入图片描述

基本思想就是动态规划思想,从最后一个节点出发,往前推,计算前继节点到终点的距离(Cost),然后因为每走一步就考虑一步,所以所得的路径是最优的路径,也是Cost最少的路径。
在这里插入图片描述

阶段总结


在这里插入图片描述


Expected Cost Planning

其主要是求解Pb Model的问题,与上方不同的是ECP在做之前会有一个估计,我们能大体知道当机器人做一个动作后,这个自然大体上会做什么动作来干扰。行为具体上是具备了一些可预测性。

现在的评估是通过Set当中的平均表现,作为评估 π {\pi} π的一个指标。


在这里插入图片描述
解法还是动态规划,不过这次解法要加上权重的条件概率。


在这里插入图片描述

在这里插入图片描述

阶段总结
在这里插入图片描述


RTDP算法

RTDP是对Expected Cost Planning解法的一种补充,加速。
在这里插入图片描述


首先初始化G Values,这里的admissible values与上方是一样的,一般来说这个数值要小于实际的Cost to go的数值。然后我们按照初始化的G Values去贪婪的选择动作,直到到达终点。这样就可能找到一条路径,但是这条路径可能不是最优的,是冗余的。


在这里插入图片描述

RTDP伪代码

在这里插入图片描述

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值