分类于: Robotics
关键词: 概率机器人

概率机器人基于特征的测量模型

特征提取

如果将特征提取表示成一个函数 $f$ 从一个距离测量中提取的特征可由 $f(z_i)$ 给出。大多数特征提取器是从高维的传感器测最中提取较少数量的特征。这种方法的主要优点是大大减少了计算的复杂性:高维测量空间的推断可能是昂贵的,而低维特征空间的推断却可以将计算效率提高几个数量级。 特征提取的内容可以参考其他的相关文献。但是对于测距传感器,通常识别直线、角或者局部极小,分别于墙、墙角或树干这样的物体相对应。当相机用于导航时,有关相机图像的处理是计算机视觉领域的研究内容。

地标的测量

在许多机器人应用中,特征与物理世界中的不同的物体相对应。在机器人技术中,通常将这些物理对象称为地标 (landmarks) , 这些地标可用于机器人导航。 处理地标最通用的模型认为,传感器能测量 地标相对于机器人局部坐标系的距离和方位 。 如果用 $r$ 表示距离,$\Phi$表示方位,$s$ 表示签名,则特征向量由一个三维的集合给定:

$$ f(z_i) = {f^1_t,f^2_t,\cdots,} = \left { \left ( \begin{array}{ccc} r^1\ \Phi^1_t\ s^1_t \end{array} \right ), \left ( \begin{array}{ccc} r^2\ \Phi^2_t\ s^2_t \end{array} \right ),\cdots \right } $$

每个时间步长能辨识的特征的数量是可变的。但是,许多概率机器人算法假定特征之间是条件独立的。

$$ p(f(z_i)|x_t,m) = \prod p(r^i_t,\phi^i_t,s^i_t|x_t,m) $$

如果每个独立测量 $(r^i_t \quad \phi^i_t \quad s^i_t)^T$ 中的噪声与其他测量 $(r^j_t \quad \phi^j_t \quad s^j_t)^T(i \neq j)$ 中的噪声是相互独立的,则应用条件独立。 地标测量模型通常仅仅适用于基于特征的地图。 无噪声地标传感器的测量向量可以容易地由标准的几何定律描述。用相互独立的距离高斯、方位高斯和签名高斯噪声来为地标感知中的噪声建立模型。由此而得的测最模型对时刻 $t$ 的第 $i$ 个特征与地图中第 $j$ 个地标相关的情况进行了确切的阐述。如往常一样,机器人位姿由 $x_t=(x \quad y \quad \theta)^T$ 给定。

$$ \left ( \begin{array}{ccc} r^i_t\ \phi^i_t\ s^i_t \end{array} \right ) = \left ( \begin{array}{ccc} \sqrt{(m_{j,x}-x)^2+(m_{j,y}-y)^2}\ atan2(m_{j,x}-y,m_{j,x}-x)-\theta\ s_j \end{array} \right ) + \left ( \begin{array}{ccc} \varepsilon_{\sigma_{r}^2}\ \varepsilon_{\sigma_{\phi}^2}\ \varepsilon_{\sigma_{s}^2} \end{array} \right) $$

式中 $\varepsilon_{\sigma_r}、\varepsilon_{\sigma_{\phi}}、\varepsilon_{\sigma_s}$ 分别为标准方差为 $ \sigma_r、\sigma_{\phi}、\sigma_s $ 的均值为 $0$ 的高斯误差变量。

已知相关性的传感器模型

距离/方位传感器的一个关键问题就是 数据关联问题 。 为了开发一种距离/方位传感器模型,引入特征 $f^i_t$ 与地图的地标 $m_i$ 的相关变量 (correspondence variable) 被证明是很有用的。这个变量将由 $c^i_t$ 来表示 $c^i_t \in (1,\cdots,N+1)$$N$ 表示地图中的地标数目。如果 $c^i_t=j \leq N$ , 则在时刻 $t$ 观测到的第 $i$ 个特征与地图的第 $j$ 个地标相对应。

$$ \begin{align} \text{1:} \qquad \qquad & \text{Algorithm landmark_model_known_correspondence}(f_t^i,c_t^i,x_t,m):\ \text{2:} \qquad \qquad & j=c_t^i\ \text{3:} \qquad \qquad & \hat{h} = \sqrt{(m_{j,x}-x)^2+(m_{j,y}-y)^2}\ \text{4:} \qquad \qquad & \hat{\phi} = atan2(m_{j,x} - y, m_{j,x}-x)\ \text{5:} \qquad \qquad & q = prob(r^i_t - \hat{r}, \sigma_{r}) \cdot prob(\phi_t^i - \hat{\phi}, \sigma_{\phi}) \cdot prob(s^i_t-s_j, \sigma_s) \ \text{6:} \qquad \qquad & return \quad q \end{align} $$

采样位姿

有时希望对与具有特征身份 $c_t^i$ 的一个测量 $f_t^i$ 对应的机器人位姿 $x_t$ 进行采样。 而通常情况下,对与一个传感器测量 $z_t$ 相对应的位姿 $x_t$ 进行采样是困难的。对于地标模型,这里能真实地提供一个有效的采样算法。但是这样的采样仅在进一步假设下才是可能的。具体来说,必须已知先验 $p(x_t|c_t^i,m)$ 为了简化,假定这个先验是均匀的(它通常不是!),那么贝叶斯准则认为:

$$ p(x_t|f_t^i,c^i_t,m) = \eta p(f^i_t|c_t^i,x_t,m) p(x_t|c_t^i,m) = \eta p(f^i_t|c^i_t,x_t,m) $$

现在,从 $p(x_t|f_t^i,c_t^i,m)$ 的采样可以通过传感器模型 $p(f_t^i|c_t^i,x_t,m)$ 的"逆"获得。

$$ \begin{align} \text{1:} \qquad \qquad & \text{Algorithm sample_landmark_model_known_correspondence}(f_t^i,c_t^i,m):\ \text{2:} \qquad \qquad & j=c_t^i\ \text{3:} \qquad \qquad & \hat{\gamma} = rand(0,2 \pi)\ \text{4:} \qquad \qquad & \hat{r} = r_t^i + sample(\sigma_r)\ \text{5:} \qquad \qquad & \hat{\phi} = \phi^i_t + sample(\sigma_{\phi})\ \text{6:} \qquad \qquad & x = m_{j,x} + \hat{r} \cos{\hat{\gamma}}\ \text{7:} \qquad \qquad & y = m_{j,y} + \hat{r} \sin{\hat{\gamma}}\ \text{8:} \qquad \qquad & \theta = \hat{\gamma} - \pi - \hat{\phi}\ \text{9:} \qquad \qquad & return \quad (x,y,\theta)^T \end{align} $$

进一步考虑

两种基于地标测量的算法都是假定巳知相关性。有关于地标签名话题的评论是合乎程序的。许多已发表的算法没有利用外观明确的特征。当不提供签名时,所有的地标看起来都是一样的,估计相关变量的数据关联问题就更难了。在这里的模型中已经包含了签名,因为它通常是从传感器测最中很容易提取的有价值的信息源。 使用特征而不是完整测量向量的主要动机实质是便于计算:管理几百个特征比管理数十亿个距离测噩要容易得多。这里提出的模型是相当粗糙的,它明显没有关注传感器测最过程中的物理规律。尽管如此,模型往往在大多数的应用中运行良好。