问题标签 [slam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
740 浏览

gps - 使用 GPS 测量校正 SLAM 漂移误差

我试图弄清楚如何使用 GPS 测量来纠正由 SLAM 方法引入的漂移误差,我在固定时刻在欧几里得 3d 空间中有两个点集:

在此处输入图像描述

在此处输入图像描述

红色数据集由 GPS 引入,没有漂移误差,而蓝色数据集基于 SLAM 算法,随时间漂移。

这个想法是,SLAM 在短距离上是准确的,但最终会漂移,而 GPS 在长距离上是准确的,而在短距离上是不准确的。因此,我想弄清楚如何将 SLAM 数据与 GPS 融合,以使两种测量都具有最佳精度。至少如何解决这个问题?

0 投票
0 回答
962 浏览

opencv - opencv中的FAST算法

当我使用 orbslam2 并对其进行修改时,我认为这个问题可能很棘手。orbslam2 在 opencv 中使用 FAST 来检测特征。在 orbslam2 ORBextractor.cc 中,它具有以下行

它运行完全没问题。但是,在我使用这里的代码之后(它将 orbslam 更改为视觉惯性 slam,但不要担心这个......)当我运​​行视觉惯性 orbslam 时,它不会修改 orbslam 部分。但它会在 FAST 处停止并返回分段错误(核心汇总)。但奇怪的是原始 orbslam 代码中的代码和上面的代码具有完全相同的输入。我打印出 FAST 的输入。这是

我双重确保每个数字都相同,因此 FAST 具有完全相同的输入。那么可能是什么问题呢?谢谢解答!!

0 投票
0 回答
384 浏览

ros - 在自定义世界中使用带有 Turtlebot 的 Google Cartographer?

我是机器人学的初学者,我正在尝试使用 Google Cartographer 让我的模拟Turtlebot 自主构建地图。

我已经完成了ROS中的所有教程,我可以让机器人使用遥操作构建地图,但我不知道如何让它自己构建地图。我想为此使用 Google Cartographer。

但是,我可以运行 Google 提供的演示并且它可以工作(它构建了博物馆的地图)。

问题:

我怎样才能在我自己的世界而不是那个博物馆的包文件上运行它?

它是否需要像我使用远程操作构建的那样的 yaml 映射?让它使用我的 yaml 映射而不是包文件的命令是什么?

我可以使用带有 yaml 上下文的 .png 图像吗? 在此处输入图像描述

它可以使用.sdf 的凉亭模拟世界吗?那么输入这个的命令是什么?

这些是我的规格:

  • Ubuntu Xenial
  • ROS动力学
  • 凉亭 7
  • 海龟机器人2
  • Turtlebot 的 Google Cartographer

非常感谢!这就像我理解这些概念,但我不知道如何将事物联系在一起以使它们起作用。

0 投票
0 回答
1031 浏览

c++ - 使用 g2o 执行捆绑调整时出现分段错误

我已经定义了一个函数来使用 g2o 执行捆绑调整,但是当我运行可执行文件时终端断言了分段错误。我确信问题来自这个函数,因为注释掉这个函数后整个程序可以正常运行。

我的平台是 Ubuntu16.04 LTS。

EDIT1:我尝试添加set( CMAKE_BUILD_TYPE "Release" ) 我的 CMakeLists.txt。然后终端在运行可执行文件后断言双重释放或损坏(out) 。但是,在我注释掉以下代码块后它运行正常:

EDIT2:一旦我使用了CameraParameter的默认构造函数,整个程序就可以正常运行:

但是,分段错误仍然存​​在。

EDIT3:注释掉以下代码后不再出现分段错误:

0 投票
0 回答
115 浏览

robotics - EKF 中的过程和测量协方差

在 EKF 中找到过程/测量协方差的实用方法是什么?我可能有一些关于这项任务的真实数据。

此外,非恒定测量时间间隔如何影响上述协方差?

0 投票
0 回答
735 浏览

c++ - 错误:使用 g2o 执行捆绑调整时来自 Eigen 的“数据未对齐”

我用 g2o 定义了一个派生类:

我重写了computerError() 和linearizeOplus():

通过以下代码优化姿势(变量Tcr_estimated_内联器的输出结果cv::solvePnPRansac()):

在运行整个系统时,终端给出以下错误信息:

我确认问题来自优化部分。谁能帮忙?

0 投票
1 回答
298 浏览

augmented-reality - iOS ARKit 跨多个会话保存地图

我正在使用最近推出的 iOS ARKit 开发一个应用程序。我有一个问题,是否可以将添加的地图和数据扩展到多个会话。

我在地图数据之上添加 UI 元素,但是如果我关闭应用程序并再次打开它,我将不得不进行整个地图检测并再次添加 UI 元素。如果有办法保存地图,请建议如何实现?

0 投票
1 回答
613 浏览

c++ - 平行束调整 (PBA)

Step我正在尝试对使用同一台相机拍摄的一系列立体图像(类)执行捆绑调整(BA) 。

每个Step都有左右图像(校正和同步)、生成的深度图、左图像的关键点+描述符和 2 个 4x4 矩阵 - 1 个用于局部(图像平面)到全局(3D 世界),以及它的逆矩阵(T_L2G 和 T_G2L分别)。

步骤相对于第一张图像注册。

我正在尝试对结果运行 BA 以改进转换,并且我正在尝试使用 PBA ( https://grail.cs.washington.edu/projects/mcba/ )

设置摄像头的代码:

然后,我通过在所有图像对上运行并匹配(当前使用 SURF)来生成全局关键点。

然后,生成 BA 点数据:

然后,运行 BA:

然后,在我遇到问题的地方,从 PBA 中提取数据:

一切都按照我期望的方式运行。PBA 报告的初始错误相对较小(目前使用少量成对注册图像进行测试,因此错误不应太大),运行后报告的错误较小。(快速收敛,通常少于 3 次迭代)

然而,当我使用新发现的转换来转储关键点时,云似乎彼此之间的距离更远了。

(我也尝试在 T_G2L 和 T_L2G 之间切换以“让它们更接近”。不起作用)。

我想知道使用它是否缺少一些东西。

0 投票
0 回答
299 浏览

r - 在旧版本的 R 版本 3.2.0 中安装 tm

我想安装 tm 包,我遇到了很大的困难。我试过传统的。我正在使用旧版本的 R,它会导致问题。我是使用 10.10 的 mac 用户。5 Yosemite 我无法将我的 R 升级到下一个版本,因为我需要 10.11 版本。有人可以建议我如何让这个工作吗?我尝试了其他方法,例如安装 slam,但似乎效果不佳(这是 如何在 R-3.3.0 中安装软件包 tm 中提出的解决方案

有什么建议可以解决这个问题吗?

0 投票
4 回答
2286 浏览

augmented-reality - 使用 ARCore/ARKit 基于标记的初始定位?

问题情况:始终以舒适的方式在同一个地方(在桌子上)创建 AR 可视化。我们不希望客户像在无数 ARCore/ARKit 示例中那样自行放置对象。

我想知道是否有办法实现这些步骤:

  1. 检测桌子上的标记
  2. 使用标记的位置作为 AR-Visualization 的初始位置并继续进行 SLAM-Tracking

我知道 TangoSDK 的最新版本中包含类似标记检测 API 之类的东西。但这项技术仅限于少量设备(确切地说是两个......)。

最好的问候,并提前感谢任何想法