愿你前行的道路有群星闪耀。愿你留下的足迹有百花绽放。

基于马尔科夫决策过程的运动规划

Planning with Uncertainties

在实际应用中,机器人的执行和状态估计都存在不确定性

image

不确定的分类:nondeterministic(不知道不确定性的来源)、probabilistic(机器人能够估计不确定性)

image

image

两种Game的方式:

  • Independent Game——robot action space和nature action space相互独立(P(θ)P(\theta)
  • Dependent Game——nature action space与robot action space有关(P(θu)P(\theta|u)

函数L为代价函数

在nature参与的情况下,寻找最优的planning

image

image

One-step Analysis:

  • One-step Worst-Case Analysis:nondeterministic的模型下,执行uu时受到的θ\theta是未知的。因此,认为每步nature可能采取最坏的策略干扰robot,选择让代价函数最大值最小的u
  • One-step Expected-Case Analysis:Probabilistic的模型下,Independent Game的概率P(θ)P(\theta),Dependent Game的概率P(θu)P(\theta|u)是已知的。因此,选择让代价函数L的期望最小的u

image

image

状态空间XX,目标状态集XFX_F,robot action spaceU(x)U(x),nature action spaceΘ(x,u)\Theta(x,u)

状态传递函数f(x,u,θ)f(x,u,\theta)

离散的情况——状态集Xk+1X_{k+1};连续的情况——P(xk+1xk,uk)P(x_{k+1}|x_k,u_k)相当于所有在θk\theta_k作用下到达xk+1x_{k+1}情况的概率P(xk+1,θkxk,uk)P(x_{k+1},\theta_k|x_k,u_k)的求和

image

一个stage表示从起点状态到目标状态的一系列过程(这个过程有k+1个状态xx,k个输入uu

image

planning with uncertainties的定义

l(xk,uk,θk)l(x_k,u_k,\theta_k)表示单步的代价函数

Markov Decision Process

image

马尔科夫决策定义了状态转移函数P(xk+1xk,uk)P(x_{k+1}|x_k,u_k)和即时激励函数R(xk,xk+1)R(x_k,x_{k+1})——相当于单步的代价函数

难点:如何把问题构建成一个MDP模型,示例如下:

image

3相当于状态传递函数ffxk+ukx_k+u_kθ\theta影响下所形成的高斯分布

image

π\pi:规划状态XX下应该执行的动作UU

H(π,xs)H(\pi,x_s):由π\pi诱发的从起点的终点的trajectory集合

image

Gπ(xs)G_{\pi}(x_s)表示到目标点的代价。对于nondeterministic的模型,G等于所有诱导出的trajectory中代价最大的trajectory的代价;对于probablistic模型,G等于所有诱导出的trajectory的代价取平均

Minimax Cost Planning

image

直接求解较麻烦,用动态规划(Dynamic Programming)建立优化问题——寻找第k步和第k+1步的optimal plan的递归关系

image

xKx_K表示终末状态的前继节点状态

image

GkG^*_k中有一项含inf是因为,在未遍历到的情况下,G(x)G^*(x)=inf

image

和Dijkstra算法类似(uku_k能使状态从xkx_k到状态xk+1x_{k+1},相当于能否通过uku_k使G(xk)G(x_k)变小)

image

1:将该算法improve to A*:用当前节点到起点的距离作为启发式函数(如图中所示,s1s_1sss_s的启发式函数为2——s1s_1sss_s至少要经过两步)

2:对于failure case,如图中的s1s_1s2s_2s2s_2先拓展之后进入闭集,s1s_1便无法和s2s_2形成循环,拓展之后也进入闭集

3:存储每个状态xkx_k下应该选取的uku_k

image

优缺点:对不确定性的鲁棒性强;但过于悲观,且计算较困难(最终得到一个决策树)

Excepted Cost Planning

image

image

Except Cost Planning和Minimax Cost Planning的G(xk)G^*(x_k)的递推类似

Bellman Optimality Equation

image

image

image

概率最优(单次的执行并不一定是最优的)

Real Time Dynamic Programming

image

  1. 用admissible values(小于真实cost的值)去初始化G值
  2. 从起点开始,遵循贪心策略(判断可达节点中哪个节点的G+lG+l值最小,选该节点作为后继节点),直到找到一条达到目标的轨迹
  3. 更新轨迹上的所有状态节点的G值
  4. 重复2—4步,直到当前贪心策略生成的轨迹上的所有的状态都满足Bellman errors<Δ\DeltaΔ\Delta为本次G值和上一次G值之差的绝对值