GradSLAM is a fully differentiable dense SLAM framework. It provides a repository of differentiable building blocks for a dense SLAM system, such as differentiable nonlinear least squares solvers, differentiable ICP (iterative closest point) techniques, differentiable raycasting modules, and differentiable mapping/fusion blocks. One can use these blocks to construct SLAM systems that allow gradients to flow all the way from the outputs of the system (map, trajectory) to the inputs (raw color/depth images, parameters, calibration, etc.).
- Overview
- Installation
- Tutorials
- Online Documentation
- Contributing to GradSLAM
- Citation
rgbdimages = RGBDImages(colors, depths, intrinsics)
slam = PointFusion()
pointclouds, recovered_poses = slam(rgbdimages)
pointclouds.plotly(0).show()
TODO: Demo goes here
- PyTorch >= 1.6.0
pip install gradslam
pip install 'git+https://github.com/gradslam/gradslam.git'
git clone https://github.com/gradslam/gradslam.git
cd gradslam
pip install -e .
In a conda
environment (or a virtualenv
environment if you prefer), install PyTorch (version 1.3.0
or greater). Then, gradslam
can be installed by navigating into the base directory of this repo (i.e., the directory containing this readme file) and executing the following command.
python setup.py build develop
To verify if gradslam
has successfully been built, fire up the python interpreter, and import!
import gradslam as gs
print(gs.__version__)
You should see the version number displayed.
From the base directory of the repo, run the following command.
pytest tests/
To get stats (in particular test coverage ratio), run
pytest test/ --cov
To build sphinx documentation, execute the following commands (AFTER building the gradslam
package).
cd docs
sphinx-build . _build
This should build the docs in docs/_build
. Open docs/_build/index.html
in your web browser to access the docs.