1个不稳定版本
0.1.0 | 2020年8月31日 |
---|
#849 in 数学
2.5MB
2K SLoC
gs-rs [ˈdʒiːzrs] - Rust中的GraphSLAM
gs-rs 是纯Rust实现的基于单目图的SLAM后端。它主要受到Rainer Kümmerle的通用图优化器 g2o 的启发,尽管它给它添加了一些“Rust式”的元素。
概述
文档
有关所使用算法的简要介绍可在此处作为Jupyter Notebook找到
构建说明
- 安装Rust工具链
- 克隆仓库
- 在根目录下执行
cargo build --release
示例用法
除了下面的代码片段外,还可以在 examples/
中找到不同用例的进一步示例。有关该目录的信息可以在相应的 README 文件中找到。
use gs_rs::parser::json::JsonParser;
use gs_rs::parser::Parser;
use gs_rs::optimizer::optimize;
use gs_rs::visualizer::visualize;
fn main() {
// parse file at "file_path.json" to internal factor graph representation
let factor_graph = JsonParser::parse_file("file_path.json").unwrap();
// optimize the factor graph's variables with 5 iterations
optimize(&factor_graph, 5);
// display the improved factor graph in a new window
visualize(&factor_graph);
}
归属
文件格式 .g2o
以及参考实现 C++
是项目 g2o 的部分。
data_files/
和 examples/
中使用的数据集已被Carlone等人描述,并适应了包括固定顶点在内的内容。还对其他内容进行了修改,以展示gs-rs支持的不同的顶点和边类型。原始数据集以及更多示例可在网上找到。归属和详细信息也可在 数据集部分 中找到。
注意
我们,贡献者,完全意识到我们无法禁止开源软件的军事用途。但我们想明确表示,我们不鼓励以伤害人为目的使用我们的软件。
许可证
© 2020 Samuel Valenzuela, TNG Technology Consulting GmbH
© 2020 Florian Rohm, TNG Technology Consulting GmbH
© 2020 Daniel Pape,TNG Technology Consulting GmbH
gs-rs 采用 Apache 许可证,版本 2.0(参见此处或https://apache.ac.cn/licenses/LICENSE-2.0)或 MIT 许可证(参见此处或http://opensource.org/licenses/MIT),任选其一。
依赖项
~20–30MB
~300K SLoC