问题标签 [g2o]
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.
python - python导入在一个终端成功,但在另一个终端失败
我成功下载并安装(构建 + 制作)一个 cython 包g2opy。当我尝试检查一切是否顺利时,我得到了这个:
所以,我认为一切都很好并打开了另一个终端窗口。并尝试导入相同的模块,但失败了:
这与共享库(.so 文件)有关吗?如果成功导入,为什么下次会失败?
computer-vision - 使用 g2o 库进行捆绑调整。如何验证?
我有一个简单的捆绑调整功能,使用 g2o 库来优化相机姿势和 3d 地图点。我传入两个KeyFrames
,每个包含:
以及 a vector
of Mappoint
,其中包含:
我的功能是:
我运行该功能,它似乎可以工作,打印:
但是我怎样才能验证这些结果呢?g2o 中有没有办法在运行优化之前和之后打印重投影错误?或者我在上述结果中需要的信息是否在某处?
computer-vision - Bundle Adjustment with g2o,编译运行,但数据不变
我正在使用g2o
库对一些已知数据进行捆绑调整。
我的函数基于 中的一个OrbSlam2
,并采用两个相机姿势,以及一个std::vector
具有相应 2d 点的 3d 点,或每个相机姿势中的“观察”。
它运行良好,当我使用已知(正确)的相机姿势时,重新投影的点看起来是正确的。然而,当我向第二个相机姿势添加噪声时,它仍然运行良好,并完成了优化,但生成的姿势看起来与嘈杂的输入数据完全相同。完整的功能是:
我哪里错了?我的数据没有优化吗?还是我错误地读回了数据?
visual-studio-2015 - 错误 LNK2001:未解析的外部符号 Visaul C++ SuiteSparse lib
我使用 Visual C++ 2015。当我尝试构建我的 g2o 示例代码时收到以下错误。
大约 172 个错误与 LNK2001 和 LNK2019 相关。当我检查文件时,它显示大多数错误都与 SuiteSparse 中的库有关。我已经检查了库目录和其他库目录。但它仍然弹出这些错误。我是g2o领域的新手。如果有人能给我你的好意,我将不胜感激。
c++ - 如何在 C++ 中克隆、构建和链接 g2o 框架
我想在 Ubuntu 18.04 上的 C++11 项目中使用 g2o 库,但我无法使构建工作。我有所有的依赖项。但我无法通过 CMakeLists.txt 将 g2o 库链接到我的项目
我是 C++ 依赖项的新手。
我已经尝试克隆https://github.com/RainerKuemmerle/g2o存储库并使用 cmake 构建它。
结构如下:
我将 g2o 内部的 cmake_modules 添加到 my_project 的 CMakeLists.txt 中,然后尝试使用 find_package 找到它,但没有找到。
我没有修改 findG2O.cmake,因为它在https://github.com/RainerKuemmerle/g2o/blob/master/cmake_modules/FindG2O.cmake
我应该更改 findG2O.cmake 吗?我真的不明白发生了什么。我应该如何着手构建源代码和链接?
我在 StackOverflow 上的任何地方都没有找到我的问题的准确答案,但也许我只是不知道我在寻找什么。
错误信息是:
当我尝试更改为 #include "../../config.h" 时,它起作用了。如何在 CMakeLists 中解决它,这样我就不必更改第三方库中的所有包含?
c++ - 如何使用 g2o 优化多约束函数
我目前正在尝试为 SLAM 优化多约束功能。经典优化功能可以最大限度地减少 g2o 的重投影错误,如https://fzheng.me/2016/03/15/g2o-demo/中提出的。
我的问题是我不知道如何修改这个 g2o 示例代码来联合优化两个约束(例如:1 个约束用于重投影误差和 1 个约束用于惯性误差)。
问候,
python - g2o - VertexSE3 和 VertexSE3Expmap 有什么区别?
我对 g2o 库真的很陌生,我正在努力为顶点添加姿势:(
我使用了 g2o 的 python 版本,这是我编写的代码。
类型错误发生在这一行:v_se3.set_estimate(pose)
错误说
我发现当我使用v_se3 = g2o.VertexSE3Expmap()
而不是g2o.VertexSE3()
.
但我不确定究竟是什么g2o.VertexSE3Expmap()
意思。
所以这些是我的问题,
为什么
VertexSE3()
不在这里工作?g2o.VertexSE3
和 有什么区别g2o.VertexSE3Expmap
?我应该怎么做才能用四元数(numpy数组)添加顶点?
谢谢
c++ - 如何在 cmake 文件中指定包位置?
我的Ubuntu 18.04 电脑上有同一个库 ( g2o ) 的两个版本。一个是catkin_make
在 ROS 工作区 (/home/riccardo/catkin_ws/src/g2o) 中构建的。另一个在我正在尝试构建的项目的目录中(/home/myproject/g2o)。正如我所说,我正在尝试使用和 g2o 库的第二个版本构建myproject 。catkin_build
但是,我看到catkin_build
找到了 g2o 库的第一个版本,即 ROS 工作区中的那个。
我在myproject目录下有一个CMakeLists.txt,我尝试了不同的方法来指定确切的包位置:
- 首先,我尝试过:
find_package(G2O REQUIRED PATHS ${PROJECT_SOURCE_DIR}/g2o)
在这种情况下,错误如下:
- 然后,我还尝试了:
在这种情况下,使用了另一个 g2o 版本。
你能帮我吗?
编辑 1
我认为 Stackoverflow 上有一个相关问题:
How to clone, build, and link g2o framework in C++
但是我没有${CMAKE_PREFIX_INTALL}
/home/user/ 中指定的目录。我不明白我必须做什么...
编辑 2
为了构建和安装 g2o 库,我在 g2o 根目录中启动了以下命令:
- mkdir 构建
- 光盘构建
- 制作../
- 制作
visual-studio-2019 - 在 Windows 的发布模式下,本征矩阵产品在 ORB-SLAM3 中无法正常工作
问题的整体情况如下:
我从https://github.com/rexdsp/ORB_SLAM3_Windows克隆了 ORB-SLAM3 。它可以构建并且运行良好。然后我尝试用 EuRoC MH_01_easy 评估它的准确度,但发现它在发布模式下至少比论文中报告的准确度差 10 倍。经过几天的调试,我发现原因在下面的函数中:
该函数在release模式下无法正常工作,如日志所示:(Jac是projectJac在其他函数中打印的内容)</p>
江淮汽车:6.586051 0.000000 5.789042
江淮:0.000000 6.566550 -0.414389
S:0.000000 69.640217 -4.394719 1.000000 0.000000 0.000000
S:-69.640217 0.000000 -61.212726 0.000000 1.000000 0.000000
S: 4.394719 61.212726 0.000000 0.000000 0.000000 1.000000
j: 25.478939 354.888530 0.000000 -0.000000 -0.000000 5.797627
j: -2.092870 -29.150968 0.000000 -0.000000 -0.000000 -0.476224
整个系统在Debug模式下正常工作,准确度与论文报告的结果相近。而上述函数的日志如下:
江淮汽车:6.586051 0.000000 5.789042
江淮:0.000000 6.566550 -0.414389
S:0.000000 69.640217 -4.394719 1.000000 0.000000 0.000000
S:-69.640217 0.000000 -61.212726 0.000000 1.000000 0.000000
S: 4.394719 61.212726 0.000000 0.000000 0.000000 1.000000
j: -25.441210 -813.017008 28.943840 -6.586051 -0.000000 -5.789042
j: 459.117113 25.365882 401.956448 0.000000 -6.566550 0.414389
你以前遇到过这种问题吗?你能告诉我这个问题的原因吗?我猜这是由编译器设置引起的。谁能告诉我如何解决这个问题?
非常感谢。
嗨,我更改了 projectJac 的声明,整个系统工作正常。我的更改如下:
原来的:
修改:
函数projectJac的定义如下:
现在很明显该错误是由“自动”引起的。你能告诉我这是什么原因吗?我应该如何更改 Visual Studio 2019 中的设置以使“自动”正常工作?非常感谢。
linear-algebra - 如何计算二维位姿图优化的信息矩阵
我正在用 g2o 解决 2D 位姿图优化问题。
'.g2o' 文件同时包含 VERTEX_SE2 和 EDGE_SE2。
EDGE_SE2 的格式是EDGE_SE2 IDout IDin t_x t_y theta I11 I12 I13 I22 I23 I33
.
最后 6 个元素代表一个 3×3 对称信息矩阵。
我的问题是如何计算这个信息矩阵(即最后 6 个元素)。