我正在尝试为以摄像头为主要传感器的机器人实施“信仰空间”计划。与SLAM相似,该机器人具有3D点的地图,并且通过在每个步骤与环境进行2D-3D匹配来进行本地化。出于这个问题的目的,我假设地图没有变化。

作为信念空间规划的一部分,我想为机器人规划从头到尾的路径,但要始终确保其定位精度最大化。因此,我将不得不采样机器人的可能状态,而无需实际移动到那里,并且如果机器人处于这些状态,则机器人将进行观察,这些观察(如果我错了,请纠正我)一起构成了机器人的“信念” ,随后在这些位置编码其定位不确定性。然后,我的计划人员将尝试连接那些给我带来最小不确定性(协方差)的节点。

由于我对基于摄像头的机器人的定位不确定性完全取决于像这样的情况:给定位置,机器人的方位角等:我需要估算某个样本上的定位有多“糟糕”,以确定是否应该丢弃它。到那里,我如何为此定义测量模型,它是相机的测量模型还是与机器人位置有关的东西?如何预先“猜测”我的测量值,以及如何通过这些猜测的测量值计算机器人的协方差?

编辑:对我的主要参考是快速探索随机信仰树的想法,它是“信仰路线图”方法的扩展。另一篇相关论文将RRBT用于受限计划。在本文中,类似于常规RRT一样对状态进行采样,以顶点表示为图形,但是当要连接顶点时,算法会将信念从当前顶点传播到新顶点(第V部分的PROPAGATE函数1) ,这就是我遇到的问题:我不完全了解如何在不实际遍历和获取新测量值的情况下沿边缘传播信念,从而从定位获得新的协方差。 RRBT论文说:“在PROPAGATE函数中实现了协方差预测和成本期望方程”:但是,如果仅使用预测,它怎么知道,例如,未来位置是否有足够的功能可以增强/降低性能。定位精度?

评论

您读过有关此的任何文献吗?

是的,我在遇到的相关论文的问题中添加了更多详细信息。

噢,我想我明白了。让我解释一下我是否理解它,以供他人参考。您想要对整个区域进行采样,以便可以确定大量位置上的潜在视图,然后选择一系列位置,这些位置既提供了从头到尾的路线,又提供了可以查看“好”地标的视图。利用SLAM风格的本地化。您的问题是如何量化视图的“好”或“差”,以及“视图的优度”如何与协方差相关。这是一个合理的总结吗?

简而言之,是的! RRBT论文之前已经实现了这一目标,但是我很难理解它背后的数学原理。

这听起来像一个很酷的概念。我今天在移动设备上,但是明天我会阅读这些论文,然后尝试听一听。我将猜测整个算法是基于对您认为在任何特定步骤都会感觉到的猜测(信念) ,这意味着实际测量值不属于该算法,这就是为什么您不需要实际遍历任何空间的原因。听起来好像整个算法都是基于对地图的先验知识构建的,并依赖于此来精确获得质量结果。

#1 楼

使用纯方位角定位来建模相机的信息量,并模拟零噪声的测量(例如,无需创新)。

出于多种原因,这实际上是估计路径信息量的合理方法。

有许多“免费的”信息量度指标,例如Fisher信息矩阵。您只需要机器人的位置和地图中地标的位置,即可确定通过测量地标位置获得多少有关机器人位置的信息。 (反之亦然,测量的创新既适用于目标也适用于机器人(这是SLAM吗?),所以相同的度量标准对这两者都适用。)

我将从轴承传感器入手,因为这是视觉传感器的良好且广为接受的模型。通过假设世界上定位特征的几个像素误差来找出轴承测量结果中的“噪音”。假设系统状态为机器人的位置加上其不确定性,然后采样路径(如您所建议)。从采样路径中的每个位置,我将使用FIM重新计算预测的不确定性。这并不难做到,只要假设测量中没有错误即可(即,不会对机器人的信念进行“创新”,但是您仍然会遇到不确定性下降的情况,不确定性下降的原因是机器人位置估计的协方差不断缩小。我会不会更新地标的位置或不确定性,只是为了简化问题。

这是我上次回顾此文献时记得的一种相当容易理解的方法,但请不要相信我的话。为此(请自己复习!)至少应该形成一个易于模拟的基准方法,让我们利用文献的力量。您可以仔细阅读本文中的内容和公式。


形成状态向量$ x $,该状态向量是机器人的位置(如果需要的话,还可以定向),以及这些位置元素$ \ Sigma $中的不确定性。
使用RRT,离散图计划器(dijkstra / A *)或网格搜索(可能是A *),但是在采样轨迹的每个“步骤”中,都使用标准EKF更新公式重新计算$ \ Sigma_i $。
让轨迹的“成本”是实现目标的进展和协方差的倒数的凸组合(例如信息矩阵)

一些细微之处

>使用有意义的最小状态向量。如果可以假定机器人可以独立于运动而指向摄像机,或者具有多个摄像机,则可以忽略方向而仅跟踪位置。我将仅在2D位置进行操作。

您将不得不推导线性化系统,但可以从上面的论文中借鉴一下。确保不要打扰模拟测量(例如,如果仅使用“模拟测量”进行EKF更新,则假定测量是真实的且没有噪声。)

至关重要的是,这简化了规划问题,因为状态除了不确定性和计划运动外不会改变。请检查此处的EKF方程,请注意,与计算新协方差相关的两个方程是
$$ P_ {i | i-1} = F ^ T_iP_ {i-1 | i-1} F_i + Q $$
和$$ P = P-PH ^ T(HPH ^ T + R)^ {-1} HP $$ ... (我将卡尔曼增益扩展到了最后一个方程式)。

如果我们应用伍德伯里矩阵恒等式

,我们将第二个简化为$$ P ^ {-1} = P ^ {-1} + H ^ TR ^ {-1} H $$。

我们完成了。您对轨迹的$ n $步长有了很好的信息量度,如

$$ I = \ sum_ {i = 1} ^ n H_i ^ TR ^ {-1} H_i $$

其中$ R $是轨迹中每个时间步的测量噪声(例如,测量到每个界标的方位误差)。由于我们正在查看信息(协方差的倒数),因此我们希望最大化$ \ sum_ {i = 1} ^ n H_i ^ TR ^ {-1} H_i $的跟踪,行列式或其他东西

那么,$ H $是多少?好吧,这是关于机器人位置的测量函数的雅可比行列式。也就是说,$ H $的大小为$ nx2 $,因为您具有$ n $个界标($ n $个测量函数)和$ 2 $个机器人的状态元素:x,y。 $ R $的大小为$ n \ timesn $,在这里我将其设置为$ \ sigma I_ {n \ timesn} $,并假装了$ \ sigma $的值,(实际不确定性无关紧要,都是相同的常数。

测量方程是什么?

$$ \ tan ^ {-1} \ frac {y_t-y_r} {x_t-x_r} $$

目标$ t $和机器人位置$ r $。


递归递归,我将按照以下步骤操作:


编写一种无需考虑不确定性即可找到其路径的路径搜索算法。
导出$ H $,或在任何方位角定位文件中进行查找。
确定路径的“优度”要在搜索算法中使用,请为路径中的每个姿势添加$ trace(H ^ TRH)$。
请注意结果与轨迹的FIM匹配(练习留给读者),并且您已经正确并以理论上合理的方式确定了最有用的轨迹。


评论


$ \ begingroup $
谢谢您的出色回答!实际上,我确实走了一条非常相似的路线,使用基于摄像机的度量标准作为我对R的猜测与RRT的结合(最近我想我应该回答自己的问题,但您击败了我!)。顺便说一句,我认为您的简化更新方程应该在其中包含inv(R):等于最大化sum(inv(R))的踪迹,或最小化整个路径上的sum(R)(忽略H)
$ \ endgroup $
–高电压
19年1月15日在4:33



$ \ begingroup $
赶上。我会更新。
$ \ endgroup $
–乔什·范德·胡克(Josh Vander Hook)
19年1月15日在5:26