Home

Awesome

LoIK

LoIK is a simple yet efficient (constrained) differential inverse kinematics solver for robotics

It is designed to function as an inner solver for various downstream applications, including global inverse kinematics and sampling-based motion planning.

Features

LoIK is a C++ template library, which provides

To cite LoIK in your publications, software, and research articles. Please refer to the Citation section for further details.

Installation

<!-- ### From Conda From either conda-forge or [our channel](https://anaconda.org/simple-robotics/loik). ```bash conda install -c conda-forge loik # or -c conda-forge ``` -->

Build from source

git clone https://github.com/Simple-Robotics/LoIK --recursive
cd LoIK
mkdir build && cd build 
cmake .. -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=your_install_folder -DCMAKE_CXX_FLAGS="-march=native"
make -jNCPUS
make install

Dependencies

Notes

Build/install from source with Pixi

To build LoIK from source the easiest way is to use Pixi.

Pixi is a cross-platform package management tool for developers that will install all required dependencies in .pixi directory. It's used by our CI agent so you have the guarantee to get the right dependencies.

Run the following command to install dependencies, configure, build and test the project:

pixi run test

The project will be built in the build directory. You can now run pixi shell and build the project with cmake and ninja manually.

Benchmarking

We recommend Flame Graphs for performance analysis. Please refer to this code analysis tutorial for installation and usage of flame graph.

Citing LoIK

To cite LoIK, please use the following bibtex entry:

@misc{loikapi,
  author = {Wingo, Bruce and Vaillant, Joris and Sathya, Ajay and Caron, Stéphane and Carpentier, Justin},
  title = {LoIK},
  url = {https://github.com/Simple-Robotics/LoIK}
}

Please also consider citing the reference paper for the LoIK algorithm:

@inproceedings{wingoLoIK2024,
  title = {{Linear-time Differential Inverse Kinematics: an Augmented Lagrangian Perspective}},
  author = {Wingo, Bruce and Sathya, Ajay and Caron, Stéphane and Hutchinson, Seth and Carpentier, Justin},
  year = {2024},
  booktitle={Robotics: Science and Systems},
  note = {https://inria.hal.science/hal-04607809v1}
}

Contributors

Acknowledgments

The development of LoIK is actively supported by the Willow team at @INRIA Paris.