Skip to content

VIS4ROB-lab/HyperState

HyperState

Collection of discrete- and continuous-time motion parametrizations.
Report Issues or Request Features


About

HyperState is part of HyperSLAM and relies on low-level containers from HyperVariables. In particular, HyperState implements optimization-oriented discrete- and continuous-time state parametrizations (e.g. B-Splines etc.) for motion estimation and Simultaneous Localization Mapping pipelines. If you use this repository, please cite it as below.

@article{RAL2022Hug,
    author={Hug, David and B\"anninger, Philipp and Alzugaray, Ignacio and Chli, Margarita},
    journal={IEEE Robotics and Automation Letters},
    title={Continuous-Time Stereo-Inertial Odometry},
    year={2022},
    volume={7},
    number={3},
    pages={6455-6462},
    doi={10.1109/LRA.2022.3173705}
}

Note: Development on HyperSLAM-related repositories has been discontinued.

Installation

HyperState depends on the Eigen, Google Logging and Google Test libraries and uses features from the C++20 standard (see link to update gcc and g++ alternatives). The setup process itself (without additional compile flags) is as follows:

# Clone repository.
git clone https://github.com/VIS4ROB-lab/HyperState.git && cd HyperState/

# Run installation.
chmod +x setup.sh
sudo setup.sh

# Build repository.
mkdir build && cd build
cmake ..
make

Literature

  1. Continuous-Time Stereo-Inertial Odometry, Hug et al. (2022)
  2. HyperSLAM: A Generic and Modular Approach to Sensor Fusion and Simultaneous
    Localization And Mapping in Continuous-Time, Hug and Chli (2020)
  3. Efficient Derivative Computation for Cumulative B-Splines on Lie Groups, Sommer et al. (2020)
  4. A Micro Lie Theory for State Estimation in Robotics, Solà et al. (2018)
  5. A Primer on the Differential Calculus of 3D Orientations, Bloesch et al. (2016)

Known Issues and Remarks

  1. Jacobians with respect to the temporal components of spline bases are not currently supported.
  2. The acceleration Jacobians in SU2 have a minor bug which will be addressed in the near future.

Updates

19.07.22 Initial release of HyperState.

Contact

Admin - David Hug, Leonhardstrasse 21, 8092 Zürich, ETH Zürich, Switzerland
Maintainer - Philipp Bänninger, Leonhardstrasse 21, 8092 Zürich, ETH Zürich, Switzerland
Maintainer - Ignacio Alzugaray, Leonhardstrasse 21, 8092 Zürich, ETH Zürich, Switzerland

License

HyperState is distributed under the BSD-3-Clause License.