Questions tagged «localization»

本地化是估计机器人相对于其环境图的姿态的问题。

5
粒子过滤器:如何进行重采样?
我了解粒子过滤器的基本原理,并尝试实现一个。但是,我挂了重采样部分。 从理论上讲,这很简单:从一组旧的(加权的)粒子中,绘制一组替换的新粒子。这样做时,请偏爱具有高重量的那些粒子。高权重的粒子更容易被吸引,而低权重的粒子则更少地被吸引。也许只有一次或根本没有。重新采样后,将为所有权重分配相同的权重。 我关于如何实现这一点的第一个想法基本上是这样的: 标准化权重 将每个重量乘以颗粒总数 将这些缩放后的权重舍入到最接近的整数(例如,int()在Python中使用) 现在我应该知道绘制每个粒子的频率,但是由于舍入误差,最终我得到的粒子少于重新采样步骤之前的粒子。 问题:我如何“填充”缺少的粒子,以便获得与重新采样步骤之前相同数量的粒子?或者,如果我在这里完全偏离轨道,如何正确重新采样?

8
没有GPS的绝对定位
使用IMU,机器人可以估计其相对于其起始位置的当前位置,但是随着时间的流逝会产生误差。GPS对于提供不受局部误差累积影响的位置信息特别有用。但是GPS不能在室内使用,甚至在户外也可能参差不齐。 那么,在不使用GPS的情况下,机器人可以使用哪些方法或传感器进行定位(相对于某个参考系)?

2
如何在没有指南针的情况下确定航向
可以说我将机器人放到了无特征的环境中,并且不允许使用任何基于磁场的传感器(磁力计/罗盘)。 有什么方法可以确定北方在哪里? 跟踪太阳/星星是一种选择,但考虑到天气,这种跟踪不够可靠。你能用陀螺仪拾取地球的自转吗? 还有更聪明的解决方案吗?

3
四旋翼定位信标
当GPS不够精确时,例如当我的车道只有10英尺宽且GPS仅显示20-30英尺的精度时(在一个著名的湖泊中),我想使用RF信标来定位四轴飞行器以进行自动着陆两侧的熔岩)。四轴飞行器将使用GPS飞行到崎to的位置,直到它从信标发出足够强的信号为止,届时它将开始使用该信号到达精确位置的着陆,以所述信标为参考。有人可以向我解释构建信标及其随附的接收器(适用于通过任何数字或模拟方法连接到Arduino的接收器)背后的概念和理论,并说在50英尺内达到4英寸或更佳的水平和垂直精度最低限度,四边形应该具有范围和高度,即“ 最后一点-该设备可能会在72MHz频段上运行,请假定我正在运行的地方,没有其他设备在同一频段上运行。


2
EKF-SLAM更新步骤,卡尔曼增益变得奇异
我正在为SLAM使用EKF,并且更新步骤遇到了一些问题。我收到警告,说K奇异,rcond计算为near eps or NaN。我想我已经将问题追溯到Z的倒数了。有没有一种方法可以计算出Kalman增益而不倒数最后一项? 我不是100%肯定这是问题的原因,所以我也将整个代码放在这里。主要入口是slam2d。 function [ x, P ] = expectation( x, P, lmk_idx, observation) % expectation r_idx = [1;2;3]; rl = [r_idx; lmk_idx]; [e, E_r, E_l] = project(x(r), x(lmk_idx)); E_rl = [E_r E_l]; E = E_rl * P(rl,rl) * E_rl'; % innovation z = observation - e; Z …

3
使用里程表运动模型的扩展卡尔曼滤波器
在EKF定位的预测步骤中,必须进行线性化处理(如Probabilistic Robotics [THRUN,BURGARD,FOX]第206页中所述),使用速度运动模型时的雅可比矩阵定义为 ⎡⎣⎢xyθ⎤⎦⎥′=⎡⎣⎢xyθ⎤⎦⎥+⎡⎣⎢⎢⎢v^tω^t(−sinθ+sin(θ+ω^tΔt))v^tω^t(cosθ−cos(θ+ω^tΔt))ω^tΔt⎤⎦⎥⎥⎥[xyθ]′=[xyθ]+[v^tω^t(−sinθ+sin(θ+ω^tΔt))v^tω^t(cosθ−cos(θ+ω^tΔt))ω^tΔt]\begin{bmatrix} x \\ y \\ \theta \end{bmatrix}' = \begin{bmatrix} x \\ y \\ \theta \end{bmatrix} + \begin{bmatrix} \frac{\hat{v}_t}{\hat{\omega}_t}(-\text{sin}\theta + \text{sin}(\theta + \hat{\omega}_t{\Delta}t)) \\ \frac{\hat{v}_t}{\hat{\omega}_t}(\text{cos}\theta - \text{cos}(\theta + \hat{\omega}_t{\Delta}t)) \\ \hat{\omega}_t{\Delta}t \end{bmatrix} 计算为 GT=⎡⎣⎢⎢100010υtωt(−cosμt−1,θ+cos(μt−1,θ+ωtΔt))υtωt(−sinμt−1,θ+sin(μt−1,θ+ωtΔt))1⎤⎦⎥⎥GT=[10υtωt(−cosμt−1,θ+cos(μt−1,θ+ωtΔt))01υtωt(−sinμt−1,θ+sin(μt−1,θ+ωtΔt))001]G_{T}= \begin{bmatrix} 1 & 0 & \frac{υ_{t}}{ω_{t}}(-cos {μ_{t-1,θ}} + cos(μ_{t-1,θ}+ω_{t}Δ{t})) \\ 0 & 1 & …

5
使用GPS获取定位信息的最准确方法是什么?
显然,GPS是在任何特定时间为机器人获取位置“定位”的最明显且可访问的技术。但是,尽管有时效果很好,但在其他位置和情况下并没有我想要的准确,因此,我正在调查是否有相对简单的方法可以提高此准确度(或者事实并非如此) ) 我考虑过以下选项,但在网上发现的信息有限: 使用更好的天线会有所帮助,尤其是对于低信号区域?我想对此表示同意,但是如果是这样的话,我将如何构建这样的天线并知道这是一种改进?是否有关于如何执行此操作的良好指南?如果价格不太昂贵,我可以使用现成的天线。 会同时使用多个单独的接收器,还是可能将它们全部减少类似的数量,或者使用这种方法我将无法提取有意义的平均值? 选择优质的GPS接收器以提高准确性时,我应该寻找什么样的特性? 我还有其他需要考虑的事情吗?
12 localization  gps 

1
错误状态(间接)卡尔曼滤波器的模糊定义
我对术语“间接卡尔曼滤波器”或“错误状态卡尔曼滤波器”的确切含义感到困惑。 我发现的最合理的定义是在Maybeck的书[1]中: 顾名思义,在总状态空间(直接)公式中,诸如车辆位置和速度之类的总状态属于过滤器中的状态变量,其测量值是INS加速度计输出和外部源信号。在错误状态空间(间接)公式中,INS指示的位置和速度中的错误属于估计变量,并且提供给滤波器的每个测量值都是INS与外部源数据之间的差。 20年后,Roumeliotis等人。在[2]中写道: 通过选择陀螺仪建模可以避免特定车辆的繁琐建模及其与动态环境的交互。陀螺仪信号出现在系统(而不是测量)方程中,因此问题的提出需要间接(误差状态)卡尔曼滤波方法。 自Lefferts等人以来,我无法理解大胆的部分。在[3]中写得更早: 对于自主航天器,使用惯性参考单元作为模型替代品可以规避这些问题。 然后继续使用陀螺建模模型展示EKF的不同变体,这些变体根据Maybeck的定义显然是直接卡尔曼滤波器:状态仅由姿态四元数和陀螺仪偏置组成,而不是误差状态。实际上,没有单独的INS可以使用错误状态卡尔曼滤波器估算其错误。 所以我的问题是: 我不知道间接(错误状态)卡尔曼滤波器的定义是否有所不同,也许是较新的定义? 陀螺仪建模与一方面与使用适当的动态模型相反,另一方面与使用直接或间接卡尔曼滤波器的决策有何关系?我的印象是两者都是独立的决定。 [1] Maybeck,Peter S.随机模型,估计和控制。卷 1.学术出版社,1979年。 [2] Roumeliotis,Stergios I.,Gaurav S. Sukhatme和George A. Bekey。“规避动态建模:评估应用于移动机器人定位的错误状态卡尔曼滤波器。” 机器人与自动化,1999年。会议论文集。1999年IEEE国际会议上。卷 2. IEEE,1999年。 [3] Lefferts,Ern J.,F。Landis Markley和Malcolm D. Shuster。“卡尔曼滤波用于航天器姿态估计。” 引导,控制和动力学杂志5.5(1982):417-429。

1
为什么仍应使用EKF代替UKF?
Unscented Kalman滤波器是Extended Kalman滤波器的一种变体,它使用不同的线性化,该线性化依赖于变换一组“ Sigma点”而不是一阶Taylor级数展开。 UKF不需要计算雅可比行列式,可以用于不连续变换,并且最重要的是,对于高度非线性的变换,UKF比EKF更准确。 我发现的唯一缺点是“ EKF通常比UKF快一点”(概率机器人)。对于我来说,这似乎可以忽略不计,并且它们的渐近复杂度似乎是相同的。 那么,为什么每个人似乎仍然比EKF更喜欢EKF?我是否错过了UKF的一大劣势?

4
如何制作“跟随机器人的隐形线”?
我想构建一个遵循虚拟路径的机器人(而不是像“白色表面上的黑线”之类的可见路径)。 我只是看一些科幻视频而感到兴奋,这些视频显示机器人在拥挤的地方搬运货物和材料。而且他们实际上并没有遵循物理路线。他们感觉到障碍物,深度等。 我想构建一个这样的机器人,它遵循从点A到B的特定(虚拟)路径。 我尝试了几件事: 在机器人上使用磁性“霍尔效应”传感器,并在导线下传送电流(在桌子下方)。这里的问题是霍尔效应传感器附近很小(<2cms),很难判断机器人是在线还是离线。即使使用一系列磁铁也无法解决此问题,因为我的桌子只有1英寸厚。所以这个想法失败了:P 使用紫外线涂料(在线)并在机器人上使用紫外线LED作为传感器。这将为机器人提供更多的Zig-Zag运动。由于使用紫外线光源的潜在威胁,即使这个想法也失败了:P 最后,我想到了将一台摄像机放在顶部,并使用图像处理算法来查看机器人是在线还是发散。 有没有比这更好的解决方案了?真正在寻找一些创意和简单的解决方案。:)

3
使用6轴机器人,在给定末端执行器位置和方向范围的情况下,如何找到最佳关节值
给定六轴铰接式机械手将工具固定在其末端执行器上,如果我具有所需的工具位置和工具方向,则逆运动学方程式中将有1个正确的解决方案,以使机器人到达该位置。 (或更确切地说,最多16种不同的解决方案,具体取决于关节的范围) 但是,如果机器人拿着类似笔的东西,并且我希望机器人用该笔在目标上标记一个特定点,那么我不在乎笔的方向,只要它垂直于标记的表面即可。 因此,逆运动学方程将具有无限多个解。 如何在这些解决方案中选择最接近当前配置的联合配置:需要最少移动量的联合配置? (或根据其他类似准则最佳的关节配置,例如所有关节角度均离其最大和最小值最远?)

2
如何在卡尔曼滤波器中建模不可预测的噪声?
背景: 我正在实现一个简单的卡尔曼滤波器,用于估计机器人的前进方向。该机器人配有指南针和陀螺仪。 我的理解: 我想代表我的国家作为一个2D向量,其中X是当前的前进方向和 ˙ X是旋转速率报告的陀螺仪。(x,x˙)(x,x˙)(x, \dot{x})xxxx˙x˙\dot{x} 问题: 如果我的理解是正确的,则过滤器中将没有控制项。是真的吗 如果将状态作为一维矢量(x )怎么办?然后呢我˙ X变,控制项ú?这两种方法会产生不同的结果吗?uuu(x)(x)(x)x˙x˙\dot{x}uuu 众所周知,当指南针处于扭曲磁场中时,主要噪声源来自指南针。在这里,我认为高斯噪声不太明显。但是磁失真是完全不可预测的。我们如何在卡尔曼滤波器中对其建模? 在卡尔曼滤波器中,是否有必要假设“所有噪声都是白色的”?说,如果我的噪声分布实际上是拉普拉斯分布,是否仍可以使用卡尔曼滤波器?还是我必须切换到另一个滤波器,例如扩展卡尔曼滤波器?

4
定位一群机器人
我有一间300厘米x 300厘米的房间,天花板高25厘米(是25厘米)。它包含50个小型轮式机器人(约20厘米x 20厘米)。中央计算机将使用无线网络向机器人发送位置命令,从而协调机器人的运动。机器人将执行自己的闭环位置控制,以节省无线带宽。机器人具有32位ARM微控制器。它们具有车轮位置传感器,并且能够进行精确的车轮控制。 问题:机器人实际上还不能执行此操作,因为它们无法测量自己在房间中的位置。 问题:如何赋予机器人能力以优于±5mm的精度测量其位置和方向?我正在寻找一种准确而强大的解决方案,该解决方案不受遮挡的影响,并且不需要每个机器人都配备大功率PC。定位所需的任何传感器都可以轻松添加到机器人中。如果本地化解决方案需要,可以轻松地将微控制器更改为功能更强大的微控制器。

4
对于移动机器人定向和非机器人对象的相对方向,什么是人类友好术语?
在机器人程序设计中,方向主要是根据x,y和z坐标从某个中心位置给出的。但是,如果有很多位置可供选择(例如{23、34、45},{34、23、45},{34、32、45},则x,y,z坐标不便于人类快速理解,{23,43,45}并不是特别友善,并且极易出现人为错误。然而,更常见的英语方向描述符常常过于罗word或太不精确,以至于无法快速选择(例如,“机器人1的右前肩上的前置摄像头”太罗y了;但是“前” /“前向”太不精确了-是摄像头位于前缘还是指向前方?) 在海军和航空领域,通常将车辆位置称为前,后(或船尾),左舷和右舷。而相对于车辆的运动方向通常是参考表盘给出的(例如,前叉的前方将是“ 12”,船尾的后方将是“ 6”,而右舷和右舷端口左侧分别是“ at 3”和“ at 9”)。这种语言支持快速的人际交流,比诸如“前”和“向前”之类的术语更为精确。移动机器人中是否有等同的术语?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.