{"id":28719097,"url":"https://github.com/tng/gs-rs","last_synced_at":"2025-06-15T05:39:46.135Z","repository":{"id":52427192,"uuid":"291710898","full_name":"TNG/gs-rs","owner":"TNG","description":null,"archived":false,"fork":false,"pushed_at":"2021-04-29T16:16:07.000Z","size":5669,"stargazers_count":24,"open_issues_count":0,"forks_count":6,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-06-06T14:46:44.166Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TNG.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-31T12:36:31.000Z","updated_at":"2025-05-14T15:40:02.000Z","dependencies_parsed_at":"2022-08-24T15:51:50.044Z","dependency_job_id":null,"html_url":"https://github.com/TNG/gs-rs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TNG/gs-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNG%2Fgs-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNG%2Fgs-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNG%2Fgs-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNG%2Fgs-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TNG","download_url":"https://codeload.github.com/TNG/gs-rs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNG%2Fgs-rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259928301,"owners_count":22933366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-15T05:39:40.535Z","updated_at":"2025-06-15T05:39:46.125Z","avatar_url":"https://github.com/TNG.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gs-rs [ˈdʒiːzrs] - GraphSLAM in Rust\n[![Travis CI](https://travis-ci.com/TNG/gs-rs.png?branch=master)](https://travis-ci.com/TNG/gs-rs)\n[![Coverage Status](https://coveralls.io/repos/github/TNG/gs-rs/badge.svg)](https://coveralls.io/github/TNG/gs-rs)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Issues](https://img.shields.io/github/issues/TNG/gs-rs.svg)](https://github.com/TNG/gs-rs/issues)\n[![Forks](https://img.shields.io/github/forks/TNG/gs-rs.svg)](https://github.com/TNG/gs-rs/network)\n[![Stars](https://img.shields.io/github/stars/TNG/gs-rs.svg)](https://github.com/TNG/gs-rs/stargazers)\n[![Crates.io Version](https://img.shields.io/crates/v/gs-rs.svg)](https://crates.io/crates/gs-rs)\n\n\n\n**gs-rs** is an implementation of a monocular graph based SLAM backend in pure rust. It is largely inspired \nby the General Graph Optimizer [g2o](https://github.com/RainerKuemmerle/g2o) of Rainer Kümmerle, though it is giving it \na rusty touch.\n\n## Overview\n\n* [Examples](examples/README.md)\n* [Data Files](data_files/README.md)\n* [Contributing](CONTRIBUTING.md)\n* [Code of Conduct](CODE_OF_CONDUCT.md)\n* [MIT License](LICENSE-MIT)\n* [Apache License](LICENSE-APACHE)\n\n## Documentation\nA brief introduction to the algorithms used is available as a Jupyter Notebook [here](doc/documentation.ipynb)\n\n## Building Instructions\n* Install the [rust toolchain](https://www.rust-lang.org/learn/get-started)\n* Clone the repository\n* Execute `cargo build --release` in the root directory\n\n## Example Usage\n\nIn addition to the code snippet below, further examples for \ndifferent use cases can be found in `examples/`. \nInformation regarding that directory can be found in its respective \n[README](examples/README.md) file.\n\n```\nuse gs_rs::parser::json::JsonParser;\nuse gs_rs::parser::Parser;\nuse gs_rs::optimizer::optimize;\nuse gs_rs::visualizer::visualize;\n\nfn main() {\n\n    // parse file at \"file_path.json\" to internal factor graph representation\n    let factor_graph = JsonParser::parse_file(\"file_path.json\").unwrap();\n\n    // optimize the factor graph's variables with 5 iterations\n    optimize(\u0026factor_graph, 5);\n\n    // display the improved factor graph in a new window\n    visualize(\u0026factor_graph);\n\n}\n```\n\n## Attribution\n\nThe file format `.g2o` as well as the reference implementation in `C++` are \nare part of the project [g2o](https://github.com/RainerKuemmerle/g2o).\n\nThe datasets used in `data_files/` and `examples/` have been described by Carlone et al. and adapted to include fixed vertices. Other modifications have been performed as well to demonstrate the different vertex and edge types supported in gs-rs. \nThe original datasets as well as more examples can be found online.\nAttribution and details may also be found in the [data sets section](data_files/README.md).\n\n## Note\nWe, the contributers are fully aware of the fact that we cannot prohibit military usage of open source software. \nBut we want to state very clearly that we discourage any use of our software with the intention of harming people.  \n\n## License\n\n© 2020 Samuel Valenzuela, TNG Technology Consulting GmbH\n\n© 2020 Florian Rohm, TNG Technology Consulting GmbH\n\n© 2020 Daniel Pape, TNG Technology Consulting GmbH\n\n**gs-rs** is licensed under the Apache License, Version 2.0 (cf. [here](LICENSE-APACHE) or\nhttp://www.apache.org/licenses/LICENSE-2.0) or the MIT license (cf. [here](LICENSE-MIT) or http://opensource.org/licenses/MIT), at your option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftng%2Fgs-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftng%2Fgs-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftng%2Fgs-rs/lists"}