概率机器人:基于地图的运动学模型

基于地图的运动学模型

模型建立

实际运行下,在机器人运动时将给定地图 m m m,地图中包括机器人能够或不能够通过的空间信息。例如占用地图(Occupancy maps),其中分为占用区域(Occupied)和闲置区域(Free)。机器人在运动时,应保证位姿始终处于闲置区域内。

采用 p ( x t ∣ u t , x t − 1 , m ) p(x_t|u_t,x_{t-1},m) p(xtut,xt1,m)表示基于地图信息的运动学模型(Map-base motion model),表示机器人放置于地图 m m m所示的环境下,在控制量 u t u_t ut作用下,由初始位姿 x t − 1 x_{t-1} xt1行驶至当前位姿 x t x_t xt的概率密度(可能性)。

该模型将优于 p ( x t ∣ u t , x t − 1 ) p(x_t|u_t,x_{t-1}) p(xtut,xt1)模型的结果,采用闭式算法计算该模型过于复杂,通常采用近似计算方式进行。

近似模型

当机器人初始位姿 x t − 1 x_{t-1} xt1与当前位姿 x t x_t xt间距离很小(如小于机器人底盘半径)时,可将模型近似。

首先,对其进行贝叶斯准则:
p ( x t ∣ u t , x t − 1 , m ) = η p ( m ∣ x t , y t , x t − 1 ) p ( x t ∣ u t , x t − 1 ) p(x_t|u_t,x_{t-1},m)=\eta p(m|x_t,y_t,x_{t-1})p(x_t|u_t,x_{t-1}) p(xtut,xt1,m)=ηp(mxt,yt,xt1)p(xtut,xt1)
其次,用 p ( m ∣ x t ) p(m|x_t) p(mxt)近似 p ( m ∣ x t , u t , x t − 1 ) p(m|x_t,u_t,x_{t-1}) p(mxt,ut,xt1)。同时由于 p ( m ) p(m) p(m)相对于所求后验为常数,归于归一化因子 η \eta η中:
p ( x t ∣ u t , x t − 1 , m ) = η p ( m ∣ x t ) p ( x t ∣ u t , x t − 1 ) = η p ( x t ∣ m ) p ( m ) p ( x t ) p ( x t ∣ u t , x t − 1 ) = η p ( x t ∣ m ) p ( x t ∣ u t , x t − 1 ) p ( x t ) \begin{aligned} p(x_t|u_t,x_{t-1},m)&=\eta p(m|x_t)p(x_t|u_t,x_{t-1})\\ &=\eta\frac{p(x_t|m)p(m)}{p(x_t)}p(x_t|u_t,x_{t-1})\\ &=\eta\frac{p(x_t|m)p(x_t|u_t,x_{t-1})}{p(x_t)}\\ \end{aligned} p(xtut,xt1,m)=ηp(mxt)p(xtut,xt1)=ηp(xt)p(xtm)p(m)p(xtut,xt1)=ηp(xt)p(xtm)p(xtut,xt1)
由此,得到基于地图的近似模型:
p ( x t ∣ u t , x t − 1 , m ) = η p ( x t ∣ u t , x t − 1 ) p ( x t ∣ m ) p ( x t ) p(x_t|u_t,x_{t-1},m)=\eta\frac{p(x_t|u_t,x_{t-1})p(x_t|m)}{p(x_t)} p(xtut,xt1,m)=ηp(xt)p(xtut,xt1)p(xtm)

  • η \eta η为归一化因子,分母 p ( x t ) p(x_t) p(xt)通常是均匀的,可归于 η \eta η
  • 分子第一项 p ( x t ∣ u t , x t − 1 ) p(x_t|u_t,x_{t-1}) p(xtut,xt1)
    • 为无地图估计运动学模型
    • 可为速度运动模型或里程计运动模型
  • 分子第二项 p ( x t ∣ m ) p(x_t|m) p(xtm)
    • 表示位姿 x t x_t xt与地图 m m m的一致性
    • 当机器人位于占用区域时, p ( x t ∣ m ) = 0 p(x_t|m)=0 p(xtm)=0
    • 当机器人位于闲置区域时, p ( x t ∣ m ) p(x_t|m) p(xtm)假定为常数项
  • 分子得到一个概率分布,用于将概率分配给与地图一致的姿态 x t x_t xt

闭式算法(近似)

**系统输入: ** 初始位姿 x t − 1 x_{t-1} xt1、控制量 u t u_t ut、估计后继姿态 x t x_t xt、地图信息 m m m

系统输出: 基于地图的机器人当前位姿可能性 p ( x t ∣ u t , x t − 1 ) ⋅ p ( x t ∣ m ) p(x_t | u_t,x_{t-1})\cdot p(x_t|m) p(xtut,xt1)p(xtm)
A l g o r i t h m m o t i o n _ m o d e l _ w i t h _ m a p ( x t , u t , x t − 1 , m ) : 1 : r e t u r n p ( x t ∣ u t , x t − 1 ) ⋅ p ( x t ∣ m ) \begin{aligned} &Algorithm\quad motion\_model\_with\_map(x_t,u_t,x_{t-1},m): \\ 1:&\qquad return\quad p(x_t | u_t,x_{t-1})\cdot p(x_t|m) \end{aligned} 1:Algorithmmotion_model_with_map(xt,ut,xt1,m):returnp(xtut,xt1)p(xtm)

采样算法

系统输入: 初始位姿 x t − 1 x_{t-1} xt1、控制量 u t u_t ut、地图信息 m m m

系统输出: 加权样本 ⟨ x t , π ⟩ \langle x_t,\pi\rangle xt,π

算法根据粒子滤波算法,随机生成采样样本并计算该样本在地图信息上的概率。
A l g o r i t h m s a m p l e m o t i o n _ m o d e l _ w i t h _ m a p ( u t , x t − 1 , m ) : 1 : d o 2 : x t = s a m p l e _ m o t i o n _ m o d e l ( u t , x t − 1 ) 3 : π = p ( x t ∣ m ) 4 : u n t i l π > 0 1 : r e t u r n ⟨ x t , π ⟩ \begin{aligned} &Algorithm\quad sample_motion\_model\_with\_map(u_t,x_{t-1},m): \\ 1:&\qquad do\\ 2:&\qquad\qquad x_t=sample\_motion\_model(u_t,x_{t-1})\\ 3:&\qquad\qquad \pi=p(x_t|m)\\ 4:&\qquad until \quad\pi>0\\ 1:&\qquad return\quad \langle x_t,\pi\rangle \end{aligned} 1:2:3:4:1:Algorithmsamplemotion_model_with_map(ut,xt1,m):doxt=sample_motion_model(ut,xt1)π=p(xtm)untilπ>0returnxt,π
针对随机生成的采样 x t x_t xt,计算该采样点在地图环境 m m m中是否在闲置区域,当概率 π > 0 \pi>0 π>0时返回加权样本;当概率 π ≤ 0 \pi\leq0 π0时,重新生成新样本。

算法效果

以速度运动模型为例,假设机器人当前速度运动模型通过闭式算法得到如图所示情况:

在这里插入图片描述

实际在地图环境下,存在矩形障碍物,则在该障碍物周围以机器人半径进行膨胀,形成膨胀层。

基于地图的速度运动模型 p ( x t ∣ u t , x t − 1 , m ) p(x_t|u_t,x_{t-1},m) p(xtut,xt1,m)在膨胀层以内(包括障碍物层)概率为0,膨胀层以外与 p ( x t ∣ u t , x t − 1 ) p(x_t | u_t,x_{t-1}) p(xtut,xt1)成比例。
在这里插入图片描述

非零似然现象

将障碍物上方部分,标记为 ( ∗ ) (*) ()称为非零似然部分,此部分虽然 p ( x t ∣ u t , x t − 1 ) ≠ 0 p(x_t | u_t,x_{t-1})\neq0 p(xtut,xt1)=0,但是机器人抵达此区域必须横穿障碍物,实际无法抵达。

此问题是因为算法中仅考虑了位姿 x t x_t xt处模型的连续性,而未考虑抵达目标点路径的连续性,也即近似认为 p ( m ∣ x t , u t , x t − 1 ) = p ( m ∣ x t ) p(m|x_t,u_t,x_{t-1})=p(m|x_t) p(mxt,ut,xt1)=p(mxt)。从中,丢失过往机器人的路径相关信息。

此现象在实际情况下:

  • 当更新频率足够高:假定运动模型中噪声有界,从而使得近似是严格的,此现象不会出现
  • 当更新频率不够高:非零似然现象存在于机器人较大相对运动时
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值