Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
contagon committed Oct 4, 2024
1 parent 9c41b47 commit cedf68f
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 16 deletions.
17 changes: 15 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,22 @@
name = "factrs"
version = "0.1.0"
edition = "2021"
license = "MIT"
description = "Factor graph optimization for robotics"
readme = "README.md"
authors = ["Easton Potokar", "Taylor Pool"]
repository = "https://github.com/contagon/factrs"
keywords = [
"factor graph",
"optimization",
"robotics",
"state estimation",
"SLAM",
]
categories = ["science::robotics", "mathematics"]

[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "katex-header.html"]
rustdoc-args = ["--html-in-header", "assets/katex-header.html"]

[dependencies]
# base
Expand Down Expand Up @@ -36,7 +49,7 @@ rerun = { version = "0.18", optional = true, default-features = false, features
] }

[features]
# Run everything with f32 instead of the defaul f64
# Run everything with f32 instead of the default f64
f32 = []

# Use left instead of right for lie group updates
Expand Down
26 changes: 12 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# fact.rs
# factrs

fact.rs is a nonlinear least squares optimization library over factor graphs, specifically geared for sensor fusion in robotics. It aims to be fast, easy to use, and safe. The fact.rs API takes heavy inspiration from the [gtsam library](https://gtsam.org/).
factrs is a nonlinear least squares optimization library over factor graphs, specifically geared for sensor fusion in robotics. It aims to be fast, easy to use, and safe. The factrs API takes heavy inspiration from the [gtsam library](https://gtsam.org/).

Currently, it supports the following features
- Gauss-Newton & Levenberg-Marquadt Optimizers
Expand All @@ -9,11 +9,11 @@ Currently, it supports the following features
- Automatic differentiation via dual numbers
- First class support for robust kernels
- Serialization of graphs & variables via optional serde support
- Easy conversion to rerun types for simple visualization
- Easy conversion to rerun types for straightforward visualization

We recommend you checkout the [docs](https://docs.rs/factrs/latest/factrs/) (WIP) for more info.

## Example
# Example

```rust
use factrs::{
Expand Down Expand Up @@ -58,16 +58,14 @@ let mut opt: GaussNewton = GaussNewton::new(graph);
let result = opt.optimize(values);
```

## TODO
- [ ] IMU Preintegration
- [ ] Sparse solvers via the Bayes Tree
- [ ] iSAM2 implementation
- [ ] Other optimization routines (GNC, Dogleg)
- [ ] Python wrapper
- [ ] Prettify/expand README
# Installation
Simply add via cargo as you do any rust dependency,
```bash
cargo add factrs
```

## Contributions
# Contributions

Contributions are more than welcome! Feel free to open an issue or a pull request with any ideas, bugs, thoughts, etc you might have.
Contributions are more than welcome! Feel free to open an issue or a pull request with any ideas, bugs, features, etc you might have or want.

We feel rust and robotics are a good match and watch to see rust tooling catch-up to it's C++ counterparts.
We feel rust and robotics are a good match and want to see rust robotics libraries catch-up to their C++ counterparts.

0 comments on commit cedf68f

Please sign in to comment.